VGGNet
from glob import glob
from tensorflow.keras import models, layers
from tensorflow.keras.applications.vgg16 import VGG16
from tensorflow.keras.layers import Input, Lambda, Dense, Flatten
from tensorflow.keras.models import Model, load_model
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.callbacks import ModelCheckpoint
from google.colab import drive
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
drive.mount('/content/drive')
train_path = '/content/drive/MyDrive/딥러닝_프로젝트/Car_Brand_Logos/Train'
test_path = '/content/drive/MyDrive/딥러닝_프로젝트/Car_Brand_Logos/Test'
forder_path = glob(train_path + '/*')
brands = [brand.split('/')[-1] for brand in forder_path]
IMAGE_SIZE = [256,256]
vgg = VGG16(input_shape=IMAGE_SIZE+[3],
weights='imagenet',
include_top=False)
vgg.trainable = False
vgg_model = models.Sequential()
vgg_model.add(vgg)
vgg_model.add(layers.Flatten())
vgg_model.add(layers.Dense(8, activation='softmax'))
vgg_model.compile(
loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
train_datagen = ImageDataGenerator(rescale = 1./256)
test_datagen = ImageDataGenerator(rescale = 1./256)
train_set = train_datagen.flow_from_directory(
train_path,
target_size=IMAGE_SIZE,
batch_size=32,
class_mode='categorical'
)
test_set = test_datagen.flow_from_directory(
test_path,
target_size=IMAGE_SIZE,
batch_size=32,
class_mode='categorical'
)
history = vgg_model.fit(
train_set,
validation_data=test_set,
epochs=50,
steps_per_epoch=len(train_set),
validation_steps=len(test_set)
)
ResNet
from glob import glob
from tensorflow.keras import models, layers
from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input
from tensorflow.keras.layers import Input, Lambda, Dense, Flatten
from tensorflow.keras.models import Model, load_model
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.callbacks import ModelCheckpoint
from google.colab import drive
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
drive.mount('/content/drive')
train_path = '/content/drive/MyDrive/딥러닝_프로젝트/Car_Brand_Logos/Train'
test_path = '/content/drive/MyDrive/딥러닝_프로젝트/Car_Brand_Logos/Test'
forder_path = glob(train_path + '/*')
brands = [brand.split('/')[-1] for brand in forder_path]
IMAGE_SIZE = [256,256]
resnet = ResNet50(input_shape=IMAGE_SIZE+[3],
weights='imagenet',
include_top=False)
resnet.trainable = False
resnet_model = models.Sequential()
resnet_model.add(resnet)
resnet_model.add(layers.Flatten())
resnet_model.add(layers.Dense(8, activation='softmax'))
resnet_model.compile(
loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
train_datagen = ImageDataGenerator(rescale = 1./256)
test_datagen = ImageDataGenerator(rescale = 1./256)
train_set = train_datagen.flow_from_directory(
train_path,
target_size=IMAGE_SIZE,
batch_size=32,
class_mode='categorical'
)
test_set = test_datagen.flow_from_directory(
test_path,
target_size=IMAGE_SIZE,
batch_size=32,
class_mode='categorical'
)
history = resnet_model.fit(
train_set,
validation_data=test_set,
epochs=50,
steps_per_epoch=len(train_set),
validation_steps=len(test_set)
)