今まで学習させる際に正常に動いていたのですが、突然jupyternotebookが開かなくなり、
anacondaをUninstallさせもう一度installさせました。
するとepochを回す際に今まで見たことのない下記のようなエラーが出てしまいました。
installする際にしっかりとinstallができていなかったのでしょうか?
****history=model.fit_generator(train_generator, epochs=200, verbose=1, validation_data=validation_generator, callbacks=[CSVLogger(file_name+'.csv')])**** ValueError Traceback (most recent call last) <ipython-input-40-f664710fb43a> in <module>() 3 verbose=1, 4 validation_data=validation_generator, ----> 5 callbacks=[CSVLogger(file_name+'.csv')]) ~\Anaconda3\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs) 89 warnings.warn('Update your `' + object_name + '` call to the ' + 90 'Keras 2 API: ' + signature, stacklevel=2) ---> 91 return func(*args, **kwargs) 92 wrapper._original_function = func 93 return wrapper ~\Anaconda3\lib\site-packages\keras\engine\training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch) 1416 use_multiprocessing=use_multiprocessing, 1417 shuffle=shuffle, -> 1418 initial_epoch=initial_epoch) 1419 1420 @interfaces.legacy_generator_methods_support ~\Anaconda3\lib\site-packages\keras\engine\training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch) 53 steps_per_epoch = len(generator) 54 else: ---> 55 raise ValueError('`steps_per_epoch=None` is only valid for a' 56 ' generator based on the ' 57 '`keras.utils.Sequence`' ValueError: `steps_per_epoch=None` is only valid for a generator based on the `keras.utils.Sequence` class. Please specify `steps_per_epoch` or use the `keras.utils.Sequence` class.
念のため途中の過程も載せておきます
解決方法があれば教えて下さい。
from keras.models import Model from keras.layers import Dense, GlobalAveragePooling2D,Input,Dropout from keras.applications.vgg16 import VGG16 from keras.preprocessing.image import ImageDataGenerator from keras.optimizers import SGD from keras.callbacks import CSVLogger n_categories=2 batch_size=32 train_dir='RoadDamageDataset/train' validation_dir='RoadDamageDataset/validation' file_name='vgg16_RoadDamageDataset_fine' base_model=VGG16(weights='imagenet',include_top=False, input_tensor=Input(shape=(224,224,3))) x=base_model.output x=GlobalAveragePooling2D()(x) x=Dense(1024,activation='relu')(x) x=Dropout(0.5)(x) prediction=Dense(n_categories,activation='softmax')(x) model=Model(inputs=base_model.input,outputs=prediction) for layer in base_model.layers[:15]: layer.trainable=False model.compile(optimizer=SGD(lr=0.0001,momentum=0.9), loss='categorical_crossentropy', metrics=['accuracy']) model.summary() json_string=model.to_json() open(file_name+'.json','w').write(json_string) train_datagen=ImageDataGenerator( rescale=1.0/255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) validation_datagen=ImageDataGenerator(rescale=1.0/255) train_generator=train_datagen.flow_from_directory( train_dir, target_size=(224,224), batch_size=batch_size, class_mode='categorical', shuffle=True ) validation_generator=validation_datagen.flow_from_directory( validation_dir, target_size=(224,224), batch_size=batch_size, class_mode='categorical', shuffle=True ) history=model.fit_generator(train_generator, epochs=200, verbose=1, validation_data=validation_generator, callbacks=[CSVLogger(file_name+'.csv')])
あなたの回答
tips
プレビュー