使用TensorFlow执行model.fit()时报'int'对象不可迭代TypeError求助
问题原因与解决方案
你代码中的Dropout层参数写法错误,将浮点型的dropout率0.2误写为了用逗号分隔的两个整数0, 2:
# 错误写法 model.add(Dropout(0, 2)) model.add(Dropout(0, 2))
Keras的Dropout层第一个位置参数是dropout rate(取值为0~1的浮点数,代表随机失活的神经元比例),你传入两个整数0和2后,第二个整数会被识别为noise_shape参数,该参数要求传入可迭代的形状元组,传入int类型的2后,框架调用时自然会触发TypeError: 'int' object is not iterable报错,和TensorFlow、numpy版本无关。
修复方法
把两个写错的Dropout层的逗号改成小数点即可,修改后对应的代码行如下:
model.add(Dropout(0.2)) model.add(Dropout(0.2))
修改后重新运行代码即可正常执行训练流程。
内容的提问来源于stack exchange,提问作者Mohammad Faheem
相关产品推荐
相关产品推荐

