TypeError: 'int' object is not iterable when using model.fit()

问题描述 投票:0回答:2

我试图拟合我的模型,但遇到了“类型错误”。这段代码的编写几乎与 CNN 的 kaggle 源代码示例中描述的相同。

https://www.kaggle.com/kanncaa1/convolutional-neural-network-cnn-tutorial/notebook

但是,不断出现类型错误。我把

model.fit_generator
改成了
model. fit
,因为这个函数是从新版tensorflow更新过来的。我猜
shape[0]
可以使这个 int-relevant 问题。谁能帮忙指出下面代码中错误的类型?

# model fitting
# from tensorflow 2.1.0
history = model.fit(datagen.flow(train_x, train_y, batch_size = batch_size),
                          epochs = epochs,
                          validation_data = (valid_x, valid_y),
                          steps_per_epoch = train_x.shape[0] // batch_size)
python tensorflow deep-learning conv-neural-network
2个回答
0
投票

可能的解决方案:

运行

print(x_train.shape)
,并确保除第一个维度之外的所有值都与您在模型定义期间指定的
input_shape
匹配。如果您从 kaggle 内核移植代码,那么我假设您的模型定义为:

model.add(Conv2D(filters = 8, kernel_size = (5,5),padding = 'Same', 
                 activation ='relu', input_shape = (28,28,1)))

确保

x_train.shape
符合指定的
input_shape
.


-3
投票

你好,我也有同样的问题。你有解决方案可以提供给我吗??谢谢

enter image description here

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.