python - TypeError: 'int' 对象在使用 model.fit() 时不可迭代
问题描述
我试图拟合我的模型,但遇到“类型错误”。这段代码的编写与 CNN 的 kaggle 源代码示例中描述的几乎相同。
https://www.kaggle.com/kanncaa1/convolutional-neural-network-cnn-tutorial/notebook
但是,不断出现类型错误。我改成model.fit_generator
是model. fit
因为函数是从新版本的tensorflow更新而来的。我猜想shape[0]
可能会导致这个与内部相关的问题。谁能帮忙指出下面代码中的错误类型?
# 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)
解决方案
可能的解决方案:
运行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
。
推荐阅读
- asp.net - HTTP 重定向到 IIS 上的 HTTPS (ASP.Net Core 3.1)
- javascript - Vue - 动态设置组件的宽度
- c++ - 将文件夹从 USB 复制到文件夹时,C++ 中的 system() 出错
- python - 使用 Python 列出 SFTP 中的文件以下载文件 listdir
- django - 向 send_mail 添加更多字段
- asp.net - 使用 Core MVC 检查 Cosmos Document DB Document 是否存在
- laravel - laravel mongodb 在 null 上调用成员函数 prepare()
- openturns - 如何在 OpenTURNS 中创建离散分布?
- python - 如何在 Python 中解析 AST 以仅查找变量
- r - icc 在数据帧上,每个评估者都有一行