Task_4

From Igor, 2 Months ago, written in Python, viewed 37 times.
URL http://codebin.org/view/23414b9c Embed
Download Paste or View Raw
  1. from tensorflow.keras import Sequential
  2. from tensorflow.keras.layers import Conv2D, Flatten, Dense, AvgPool2D
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. from tensorflow.keras.optimizers import Adam
  6. from tensorflow.keras.preprocessing.image import ImageDataGenerator
  7.  
  8. optimizer = Adam(lr=0.01)
  9. datagen = ImageDataGenerator(validation_split=0.25, rescale=1/255)
  10.  
  11.  
  12. def load_train(path):
  13.     train_datagen_flow = datagen.flow_from_directory(
  14.     '/datasets/fruits_small/',
  15.     target_size=(150, 150),
  16.     batch_size=16,
  17.     class_mode='sparse',
  18.     subset='training',
  19.     seed=12345)
  20.     return train_datagen_flow
  21.  
  22.  
  23. def create_model(input_shape):
  24.     model = Sequential()
  25.  
  26.     model.add(Conv2D(6, (3, 3), padding='same', activation='relu',
  27.                  input_shape=(150, 150, 3)))
  28.     model.add(AvgPool2D(pool_size=(2, 2)))
  29.     model.add(Conv2D(filters=16, kernel_size=(5, 5), padding='same',
  30.                     activation="relu"))
  31.     model.add(AvgPool2D(pool_size=(2, 2)))
  32.  
  33.     model.add(Flatten())
  34.     model.add(Dense(units=140, activation='relu'))
  35.     model.add(Dense(units=84, activation='relu'))
  36.     model.add(Dense(units=12, activation='softmax'))
  37.  
  38.     model.compile(loss='sparse_categorical_crossentropy', optimizer=optimizer, metrics=['acc'])
  39.  
  40.     return model
  41.  
  42.  
  43. def train_model(model, train_data, test_data, batch_size=None, epochs=1,
  44.                 steps_per_epoch=None, validation_steps=None):
  45.  
  46.     if steps_per_epoch is None:
  47.         steps_per_epoch = len(train_data)
  48.     if validation_steps is None:
  49.         validation_steps = len(test_data)
  50.  
  51.     model.fit(train_data,
  52.               validation_data=test_data,
  53.               batch_size=batch_size, epochs=epochs,
  54.               steps_per_epoch=steps_per_epoch,
  55.               validation_steps=validation_steps,
  56.               verbose=2)
  57.  
  58.     return model

Reply to "Task_4"

Here you can reply to the paste above