簡體   English   中英

TypeError: 'int' object 在使用 model.fit() 時不可迭代

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

我試圖安裝我的 model,但遇到“類型錯誤”。 這段代碼的編寫與 CNN 的 kaggle 源代碼示例中描述的幾乎相同。

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

但是,不斷出現類型錯誤。 我將model.fit_generator更改為model. fit model. fit ,因為 function 是從新版本的 tensorflow 更新而來的。 我猜shape[0]可能會導致這個與 int 相關的問題。 誰能幫忙指出下面代碼中的錯誤類型?

# 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) ,並確保除第一個維度之外的所有值都與您在 model 定義期間指定的input_shape匹配。 如果您從 kaggle kernel 移植代碼,那么我假設您的 model 定義為:

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

確保x_train.shape符合指定的input_shape

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM