keras-TypeError:"int"对象不可迭代 [英] keras - TypeError: 'int' object is not iterable

查看:108
本文介绍了keras-TypeError:"int"对象不可迭代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试测试网络,但似乎会遇到一个令人讨厌的错误,我不确定我是否理解.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆