I am training a CNN in a Jupyter notebook using tensorflow and getting the following error:
ImportError: Image transformations require SciPy. Install SciPy.
I have installed scipy using the following command and have confirmed that it is installed:
!pip install scipy
import scipy
I have 3 categorical classes I am classifying images as and my code is:
print(len(os.listdir('C:/images/cvd/Training/class1')))
print(len(os.listdir('C:/images/cvd/Testing/class1')))
print(len(os.listdir('C:/images/cvd/Training/class2')))
print(len(os.listdir('C:/images/cvd/Testing/class2')))
print(len(os.listdir('C:/images/cvd/Training/class3')))
print(len(os.listdir('C:/images/cvd/Testing/class3')))
1400 156 1022 114 1403 156
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(64, (3, 3), activation='relu', input_shape=(80, 80, 1)),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(3, activation='softmax')
])
# compile model
model.compile(loss='sparse_categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
# pre process images
TRAINING_DIR = 'C:/images/cvd/Training/'
train_datagen = ImageDataGenerator(rescale=1.0 / 255)
train_generator = train_datagen.flow_from_directory(TRAINING_DIR,
target_size=(80, 80),
batch_size=24,
class_mode='categorical')
VALIDATION_DIR = 'C:/images/cvd/Testing/'
validation_datagen = ImageDataGenerator(rescale=1.0 / 255)
validation_generator = validation_datagen.flow_from_directory(VALIDATION_DIR,
target_size=(80, 80),
batch_size=24,
class_mode='categorical')
history = model.fit(train_generator, epochs=20, steps_per_epoch=10,
validation_data=validation_generator, validation_steps=4)