I am training my data for sign language. There are 26 classes(or folder) of each alphabet. Training data has 30 images each and test have 10 images each.
After training to train the data I am getting following error
File "c:\Users\Rishith Vadher\Downloads\ml.proj\ml.proj\ml project\newtrain.py", line 66, in <module> classifier.fit( File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler raise e.with_traceback(filtered_tb) from None File "C:\additionalPackages\envs\miniProject\lib\site-packages\tensorflow\python\eager\execute.py", line 54, in quick_execute tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name, tensorflow.python.framework.errors_impl.InvalidArgumentError: Graph execution error: Detected at node 'categorical_crossentropy/softmax_cross_entropy_with_logits' defined at (most recent call last): File "c:\Users\Rishith Vadher\Downloads\ml.proj\ml.proj\ml project\newtrain.py", line 66, in <module> classifier.fit( File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\utils\traceback_utils.py", line 65, in error_handler return fn(*args, **kwargs) File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\engine\training.py", line 1564, in fit tmp_logs = self.train_function(iterator) File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\engine\training.py", line 1160, in train_function return step_function(self, iterator) File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\engine\training.py", line 1146, in step_function outputs = model.distribute_strategy.run(run_step, args=(data,)) File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\engine\training.py", line 1135, in run_step outputs = model.train_step(data) File "C:\additionalPackages\envs\miniProject\lib\site-packages\keras\engine\training.py", line 994, in train_step [[{{node PyFunc}}]]
This is my code for training.
# Importing the Keras libraries and packages from keras.models import Sequential from keras.layers import Convolution2D from keras.layers import MaxPooling2D from keras.layers import Flatten from keras.layers import Dense , Dropout import os os.environ["CUDA_VISIBLE_DEVICES"] = "1" sz = 128 # Step 1 - Building the CNN # Initializing the CNN classifier = Sequential() # First convolution layer and pooling classifier.add(Convolution2D(32, (3, 3), input_shape=(sz, sz, 1), activation='relu')) classifier.add(MaxPooling2D(pool_size=(2, 2))) # Second convolution layer and pooling classifier.add(Convolution2D(32, (3, 3), activation='relu')) # input_shape is going to be the pooled feature maps from the previous convolution layer classifier.add(MaxPooling2D(pool_size=(2, 2))) #classifier.add(Convolution2D(32, (3, 3), activation='relu')) # input_shape is going to be the pooled feature maps from the previous convolution layer #classifier.add(MaxPooling2D(pool_size=(2, 2))) # Flattening the layers classifier.add(Flatten(input_shape=(sz, sz, 1))) # Adding a fully connected layer classifier.add(Dense(units=128, activation='relu')) classifier.add(Dropout(0.40)) classifier.add(Dense(units=96, activation='relu')) classifier.add(Dropout(0.40)) classifier.add(Dense(units=64, activation='relu')) classifier.add(Dense(units=27, activation='softmax')) # softmax for more than 2 # Compiling the CNN classifier.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) # categorical_crossentropy for more than 2 # Step 2 - Preparing the train/test data and training the model classifier.summary() # Code copied from - https://keras.io/preprocessing/image/ from keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator( rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) test_datagen = ImageDataGenerator(rescale=1./255) training_set = train_datagen.flow_from_directory('data2/train', target_size=(sz, sz), batch_size=10, color_mode='grayscale', class_mode='categorical') test_set = test_datagen.flow_from_directory('data2/test', target_size=(sz , sz), batch_size=10, color_mode='grayscale', class_mode='categorical') print(training_set) classifier.fit( training_set, steps_per_epoch=783, # No of images in training set epochs=5, validation_data=test_set, validation_steps=260)# No of images in test set # Saving the model model_json = classifier.to_json() with open("model-bw.json", "w") as json_file: json_file.write(model_json) print('Model Saved') classifier.save_weights('model-bw.h5') print('Weights saved')
Pls help with this