ireland-news-headlines-new/keras_class.ipynb
2022-06-07 22:42:35 +02:00

13 KiB
Raw Permalink Blame History

from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense
from keras import backend as K
 
img_width, img_height = 224, 224
train_data_dir = 'v_data/train'
validation_data_dir = 'v_data/test'
nb_train_samples =400
nb_validation_samples = 100
epochs = 10
batch_size = 16
# check format


if K.image_data_format() == 'channels_first':
    input_shape = (3, img_width, img_height)
else:
    input_shape = (img_width, img_height, 3)
model = Sequential()
model.add(Conv2D(32, (2, 2), input_shape=input_shape))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
 
model.add(Conv2D(32, (2, 2)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
 
model.add(Conv2D(64, (2, 2)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
 
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])
train_datagen = ImageDataGenerator(
    rescale=1. / 255,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True)
 
test_datagen = ImageDataGenerator(rescale=1. / 255)
 
train_generator = train_datagen.flow_from_directory(
    train_data_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')
 
validation_generator = test_datagen.flow_from_directory(
    validation_data_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')
 
model.fit_generator(
    train_generator,
    steps_per_epoch=nb_train_samples // batch_size,
    epochs=epochs,
    validation_data=validation_generator,
    validation_steps=nb_validation_samples // batch_size)
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Input In [7], in <cell line: 9>()
      1 train_datagen = ImageDataGenerator(
      2     rescale=1. / 255,
      3     shear_range=0.2,
      4     zoom_range=0.2,
      5     horizontal_flip=True)
      7 test_datagen = ImageDataGenerator(rescale=1. / 255)
----> 9 train_generator = train_datagen.flow_from_directory(
     10     train_data_dir,
     11     target_size=(img_width, img_height),
     12     batch_size=batch_size,
     13     class_mode='binary')
     15 validation_generator = test_datagen.flow_from_directory(
     16     validation_data_dir,
     17     target_size=(img_width, img_height),
     18     batch_size=batch_size,
     19     class_mode='binary')
     21 model.fit_generator(
     22     train_generator,
     23     steps_per_epoch=nb_train_samples // batch_size,
     24     epochs=epochs,
     25     validation_data=validation_generator,
     26     validation_steps=nb_validation_samples // batch_size)

File ~\.conda\envs\py\lib\site-packages\keras\preprocessing\image.py:1469, in ImageDataGenerator.flow_from_directory(self, directory, target_size, color_mode, classes, class_mode, batch_size, shuffle, seed, save_to_dir, save_prefix, save_format, follow_links, subset, interpolation, keep_aspect_ratio)
   1386 def flow_from_directory(self,
   1387                         directory,
   1388                         target_size=(256, 256),
   (...)
   1400                         interpolation='nearest',
   1401                         keep_aspect_ratio=False):
   1402   """Takes the path to a directory & generates batches of augmented data.
   1403 
   1404   Args:
   (...)
   1467           and `y` is a numpy array of corresponding labels.
   1468   """
-> 1469   return DirectoryIterator(
   1470       directory,
   1471       self,
   1472       target_size=target_size,
   1473       color_mode=color_mode,
   1474       keep_aspect_ratio=keep_aspect_ratio,
   1475       classes=classes,
   1476       class_mode=class_mode,
   1477       data_format=self.data_format,
   1478       batch_size=batch_size,
   1479       shuffle=shuffle,
   1480       seed=seed,
   1481       save_to_dir=save_to_dir,
   1482       save_prefix=save_prefix,
   1483       save_format=save_format,
   1484       follow_links=follow_links,
   1485       subset=subset,
   1486       interpolation=interpolation,
   1487       dtype=self.dtype)

File ~\.conda\envs\py\lib\site-packages\keras\preprocessing\image.py:507, in DirectoryIterator.__init__(self, directory, image_data_generator, target_size, color_mode, classes, class_mode, batch_size, shuffle, seed, data_format, save_to_dir, save_prefix, save_format, follow_links, subset, interpolation, keep_aspect_ratio, dtype)
    505 if not classes:
    506   classes = []
--> 507   for subdir in sorted(os.listdir(directory)):
    508     if os.path.isdir(os.path.join(directory, subdir)):
    509       classes.append(subdir)

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'v_data/train'