keras-TypeError:"int"对象不可迭代 [英] keras - TypeError: 'int' object is not iterable
问题描述
我正在尝试测试网络,但似乎会遇到一个令人讨厌的错误,我不确定我是否理解.
I was trying to test a network, but seem to get an annoying error, which I am not quite sure I understand.
import keras
from keras.models import Sequential
from keras.optimizers import SGD
from keras.layers.core import Dense, Activation, Lambda, Reshape,Flatten
from keras.layers import Conv1D,Conv2D,MaxPooling2D, MaxPooling1D, Reshape
from keras.utils import np_utils
from keras.models import Model
from keras.layers import Input, Dense
from keras.layers import Dropout
from keras import backend as K
from keras.callbacks import ReduceLROnPlateau
from keras.callbacks import CSVLogger
from keras.callbacks import EarlyStopping
from keras.layers.merge import Concatenate
from keras.callbacks import ModelCheckpoint
import random
import numpy as np
window_height = 8
filter_size=window_height
pooling_size = 28
stride_step = 2
def fws():
np.random.seed(100)
input = Input(5,window_height,1)
shared_conv = Conv2D(filters = 1, kernel_size = (0,window_height,1))
output = shared_conv(input)
print output.shape
fws()
错误消息:
File "experiment.py", line 34, in <module>
fws()
File "experiment.py", line 29, in fws
input = Input(5,window_height,1)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1426, in Input
input_tensor=tensor)
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1321, in __init__
batch_input_shape = tuple(batch_input_shape)
TypeError: 'int' object is not iterable
我为什么会收到此错误?
Why am i getting this error?
我在网络中尝试使用共享卷积层,代码指出, 出于测试目的,想看看输出变成了什么?.
I am in the network trying to use shared convolution layer, which the code states, and for test purposes want to see what the output became?..
推荐答案
您的一行:
input = Input(5,window_height,1)
给出此错误. 将此与keras的示例进行比较: https://keras.io/getting-started/functional-api-guide/
is giving this error. compare this with an example from keras: https://keras.io/getting-started/functional-api-guide/
inputs = Input(shape=(784,))
Input
对象期望对shape
进行迭代,但是您向其传递了int
.在示例中,您可以看到它们如何解决一维输入.
the Input
object is expecting an iterable for shape
but you passed it an int
. In the example you can see how they get around that for a 1 dimensional input.
这篇关于keras-TypeError:"int"对象不可迭代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!