前提・実現したいこと
vgg16で画像を学習させたい
発生している問題・エラーメッセージ
エラーメッセージはでていません
該当のソースコード
import numpy as np from keras.preprocessing.image import load_img, img_to_array from keras.applications.vgg16 import VGG16 from keras.models import Sequential, Model from keras.layers import Input, Dense, Dropout, Activation, Flatten from keras.optimizers import SGD from keras.utils import np_utils from keras.preprocessing.image import ImageDataGenerator import os # 分類クラス classes = ['cup'] nb_classes = len(classes) batch_size = 32 nb_epoch = 1 path = os.getcwd() # 画像のサイズ img_rows, img_cols = 224, 224 # モデルの構築 def build_model() : input_tensor = Input(shape=(img_rows, img_cols, 3)) vgg16 = VGG16(include_top=False, weights='imagenet', input_tensor=input_tensor) _model = Sequential() _model.add(Flatten(input_shape=vgg16.output_shape[1:])) _model.add(Dense(256, activation='relu')) _model.add(Dropout(0.5)) _model.add(Dense(nb_classes, activation='softmax')) model = Model(inputs=vgg16.input, outputs=_model(vgg16.output)) for layer in model.layers[:15]: layer.trainable = False # 損失関数と評価関数を指定 model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=1e-4, momentum=0.9), metrics=['accuracy']) return model if __name__ == "__main__": train_datagen = ImageDataGenerator( rescale=None, rotation_range=15 ) train_generator = train_datagen.flow_from_directory( directory=path + 'cup/train', target_size=(img_rows, img_cols), color_mode='rgb', classes=classes, class_mode='categorical', batch_size=batch_size, shuffle=True) # 評価用画像の用意 test_datagen = ImageDataGenerator(rescale=None) test_generator = test_datagen.flow_from_directory( directory=path + 'cup/test', target_size=(img_rows, img_cols), color_mode='rgb', classes=classes, class_mode='categorical', batch_size=batch_size, shuffle=True) # インスタンスの呼び出し model = build_model() # model.fit() でモデルを学習 model.fit_generator( train_generator, steps_per_epoch=100, epochs=nb_epoch, validation_data=test_generator, validation_steps=600 )
試したこと
pathを取得する関数を用いたりしました。
補足情報(FW/ツールのバージョンなど)
s
|_cup
|__train-画像
|__test-画像
ディレクトリはこんな感じです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/06 07:05
2020/10/06 07:17