【发布时间】:2021-12-12 07:59:01
【问题描述】:
所以我通过调用fit_generator 方法并将ImageDataGenerator 对象传递给它,使用ImageDataGenerator 训练了一个Keras 模型。
现在我想用相同的ImageDataGenerator 对象评估模型。但我觉得我错过了一些东西。
我的数据包含在 2 个变量中,
ck_train = ImageDataGenerator().flow_from_directory(train_path, target_size=(
224, 224), classes=['happy', 'neutral', 'surprise'], batch_size=32)
ck_test = ImageDataGenerator().flow_from_directory(test_path, target_size=(
224, 224), classes=['happy', 'neutral', 'surprise'], batch_size=16)
我尝试通过
评估模型deXpression.evaluate_generator(ck_test)
但我收到此错误
-----------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-6-0d318201cacd> in <module>
----> 1 deXpression.evaluate_generator(ck_test)
~/anaconda3/envs/gandola/lib/python3.7/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/envs/gandola/lib/python3.7/site-packages/keras/engine/training.py in evaluate_generator(self, generator, steps, max_queue_size, workers, use_multiprocessing, verbose)
1470 workers=workers,
1471 use_multiprocessing=use_multiprocessing,
-> 1472 verbose=verbose)
1473
1474 @interfaces.legacy_generator_methods_support
~/anaconda3/envs/gandola/lib/python3.7/site-packages/keras/engine/training_generator.py in evaluate_generator(model, generator, steps, max_queue_size, workers, use_multiprocessing, verbose)
299 steps = len(generator)
300 else:
--> 301 raise ValueError('`steps=None` is only valid for a generator'
302 ' based on the `keras.utils.Sequence` class.'
303 ' Please specify `steps` or use the'
ValueError: `steps=None` is only valid for a generator based on the `keras.utils.Sequence` class. Please specify `steps` or use the `keras.utils.Sequence` class.
请告诉我:
1) 如果我朝着正确的方向前进?
2)如果我是,我错过了什么?
3)如何使用 ImageDataGenerator 对象来做到这一点?
4) 什么是完成我想要完成的任务的正确方法?
【问题讨论】:
标签: python tensorflow keras