I'm new to machine learning and have been stuck with this error for awhile now:
Traceback (most recent call last): File "model1.py", line 77, in model.fit(train_generator, File "C:\Python38\lib\site-packages\tensorflow\python\keras\engine\training.py", line 108, in _method_wrapper return method(self, *args, **kwargs) File "C:\Python38\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1098, in fit tmp_logs = train_function(iterator) File "C:\Python38\lib\site-packages\tensorflow\python\eager\def_function.py", line 780, in call result = self._call(*args, **kwds) File "C:\Python38\lib\site-packages\tensorflow\python\eager\def_function.py", line 840, in _call return self._stateless_fn(*args, **kwds) File "C:\Python38\lib\site-packages\tensorflow\python\eager\function.py", line 2829, in call return graph_function._filtered_call(args, kwargs) # pylint: disable=protected-access File "C:\Python38\lib\site-packages\tensorflow\python\eager\function.py", line 1843, in _filtered_call return self._call_flat( File "C:\Python38\lib\site-packages\tensorflow\python\eager\function.py", line 1923, in _call_flat return self._build_call_outputs(self._inference_function.call( File "C:\Python38\lib\site-packages\tensorflow\python\eager\function.py", line 545, in call outputs = execute.execute( File "C:\Python38\lib\site-packages\tensorflow\python\eager\execute.py", line 59, in quick_execute tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name, tensorflow.python.framework.errors_impl.NotFoundError: No algorithm worked! [[node sequential/conv2d/Conv2D (defined at model1.py:77) ]] [Op:__inference_train_function_806]
I'm using CUDA 10.1/Cudnn 8.05, which works fine for the other convolution projects I've tried. Just switching to the basic VGG16 model here lets me run the program without any accuracy gains, so I'm not sure if the issue is with my GPU's libraries, a mistake in the tensor dimensions, or a failure to initialize something.
import tensorflow as tf
import tensorflow_datasets as tfds
# Helper libraries
import os
import numpy as np
import matplotlib.pyplot as plt
import keras
from keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras import layers
batch_size=10
train_dir="C:/draw/imagenet-object-localization-challenge/ILSVRC/Data/CLS-LOC/train"
validation_dir="C:/draw/imagenet-object-localization-challenge/ILSVRC/Data/CLS-LOC/val"
train_datagen = ImageDataGenerator(
rescale=1./255,
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
validation_split=0.2,
fill_mode='nearest')
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(224, 224),
batch_size=batch_size,
class_mode='categorical')
validation_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(224, 224),
batch_size=batch_size,
class_mode='categorical')
model = tf.keras.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(32, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(64))
model.add(layers.Dense(1000, activation='softmax'))
model.compile(optimizer='adam',
loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
num_epochs=20
steps_per_epoch=10000
val_steps=10
model.fit(train_generator,
epochs=num_epochs,
steps_per_epoch = steps_per_epoch,
validation_data=validation_generator,
validation_steps=val_steps)
Thanks in advance for any advice provided in how to fix this error.