错误 - 使用 Keras 的多分类神经网络



我从我的 NN 代码中收到一个相当烦人的错误,并希望对 Keras 工作原理有更好了解的人可以向我解释为什么我会收到错误。我感谢任何帮助! 错误:

AttributeError: 'DirectoryIterator' object has no attribute 'ndim'

错误来自:

Traceback (most recent call last):
File "C:UsersCameronDesktopAICubeFieldNN_Train -fix.py", line 80, in <module>
validation_steps = (validation_samples / batch_size))

法典:

NN.fit(
train_set, train_labels,
batch_size = batch_size,
epochs = epochs,
validation_data = (validation_set, validation_labels),
validation_steps = (validation_samples / batch_size))

完整代码:https://pastebin.com/V1YwJW3X

完全错误:

Traceback (most recent call last):
File "C:UsersCameronDesktopAICubeFieldNN_Train -fix.py", line 80, in <module>
validation_steps = (validation_samples / batch_size))
File "C:Pythonlibsite-packageskerasmodels.py", line 1002, in fit
validation_steps=validation_steps)
File "C:Pythonlibsite-packageskerasenginetraining.py", line 1630, in fit
batch_size=batch_size)
File "C:Pythonlibsite-packageskerasenginetraining.py", line 1476, in _standardize_user_data
exception_prefix='input')
File "C:Pythonlibsite-packageskerasenginetraining.py", line 76, in _standardize_input_data
data = [np.expand_dims(x, 1) if x is not None and x.ndim == 1 else x for x in data]
File "C:Pythonlibsite-packageskerasenginetraining.py", line 76, in <listcomp>
data = [np.expand_dims(x, 1) if x is not None and x.ndim == 1 else x for x in data]
AttributeError: 'DirectoryIterator' object has no attribute 'ndim'

从您上一个问题过渡到fit_generatorfit并不是真的必要。flow_from_directory返回一个生成器类型对象,该对象返回数据和标签的元组。同样适用于validation_set.另请注意,如果指定validation_steps则还必须指定steps_per_epoch。因此,您可以使用:

NN.fit_generator(train_set,
steps_per_epoch=steps_per_epoch,
epochs=epochs,
validation_data=validation_set,
validation_steps=validation_steps)

或者,您可以一次加载所有图像,并将其与标签一起传递给NN.fit()函数。

最新更新