Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from keras.applications import VGG16
- from keras.layers import Conv2D
- #Load the VGG model
- image_size = 224
- vgg_conv = VGG16(weights='imagenet', include_top=False, input_shape=(image_size, image_size, 3))
- for layer in vgg_conv.layers[:-4]:
- layer.trainable = False
- from keras import models
- from keras import layers
- from keras import optimizers
- # Create the model
- model = models.Sequential()
- # Add the vgg convolutional base model
- model.add(vgg_conv)
- # Add new layers
- model.add(layers.Flatten())
- model.add(layers.Dense(1024, activation='relu'))
- model.add(layers.Dropout(0.5))
- model.add(layers.Dense(6, activation='softmax'))
- from keras.preprocessing.image import ImageDataGenerator
- train_datagen = ImageDataGenerator(
- rescale=1./255,
- rotation_range=20,
- width_shift_range=0.2,
- height_shift_range=0.2,
- horizontal_flip=True,
- fill_mode='nearest')
- validation_datagen = ImageDataGenerator(rescale=1./255)
- train_dir = '/home/nikita/Develop/ML/Marcel-Train'
- validation_dir = '/home/nikita/Develop/ML/Marcel-Test'
- train_batchsize = 100
- val_batchsize = 10
- train_generator = train_datagen.flow_from_directory(
- train_dir,
- target_size=(image_size, image_size),
- batch_size=train_batchsize,
- class_mode='categorical')
- validation_generator = validation_datagen.flow_from_directory(
- validation_dir,
- target_size=(image_size, image_size),
- batch_size=val_batchsize,
- class_mode='categorical',
- shuffle=False)
- # Compile the model
- model.compile(loss='categorical_crossentropy',
- optimizer=optimizers.RMSprop(lr=1e-4),
- metrics=['acc'])
- # Train the model
- history = model.fit_generator(
- train_generator,
- steps_per_epoch=train_generator.samples/train_generator.batch_size ,
- epochs=5,
- validation_data=validation_generator,
- validation_steps=validation_generator.samples/validation_generator.batch_size,
- verbose=1)
- # Save the model
- model.save('my_model.h5')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement