«TypeError: объект« int »не повторяется» в Tensorflow - PullRequest
0 голосов
/ 29 сентября 2019
from     keras.models    import Sequential
model    =     Sequential()


from     keras.layers     import    Dense    

model.add(Dense(units=256,kernel_initializer='uniform',input_shape=1000,activation='relu'))

model.add(Dense(units=64,kernel_initializer='uniform',activation='tanh'))


model.add(Dense(units=8,kernel_initializer='uniform',activation='softmax'))
`TypeError                                 Traceback (most recent call last)
``<ipython-input-40-cba882297375> in <module>
``      2 model = Sequential()
``      3 from keras.layers import Dense
``----> 4 model.add(Dense(units=256,kernel_initializer='uniform',input_shape=1000,activation='relu'))
``      5 model.add(Dense(units=64,kernel_initializer='uniform',activation='tanh'))

    `      6 model.add(Dense(units=8,kernel_initializer='uniform',activation='softmax'))


`~\Anaconda3\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs)
``     89                 warnings.warn('Update your `' + object_name + '` call to the ' +
``     90                               'Keras 2 API: ' + signature, stacklevel=2)
``---> 91             return func(*args, **kwargs)
``     92         wrapper._original_function = func

    `     93         return wrapper


`~\Anaconda3\lib\site-packages\keras\layers\core.py in __init__(self, units, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint, **kwargs)
``    871         if 'input_shape' not in kwargs and 'input_dim' in kwargs:
``    872             kwargs['input_shape'] = (kwargs.pop('input_dim'),)
``--> 873         super(Dense, self).__init__(**kwargs)
``    874         self.units = units

    `    875         self.activation = activations.get(activation)


`~\Anaconda3\lib\site-packages\keras\engine\base_layer.py in __init__(self, **kwargs)
``    142                 batch_size = kwargs.get('batch_size')
``    143                 batch_input_shape = (
``--> 144                     batch_size,) + tuple(kwargs['input_shape'])
``    145             self.batch_input_shape = batch_input_shape

    `    146 


TypeError: 'int' object is not iterable

1 Ответ

0 голосов
/ 29 сентября 2019

Причина в том, что аргумент input_shape должен быть итеративным.Если вы хотите, чтобы ваш ввод был вектором размера 1000, вы должны передать input_shape=(1000,) вместо input_shape=1000.

Ниже приведен рабочий фрагмент

from keras.layers import Dense
from keras.models import Sequential

model = Sequential()

model.add(Dense(units=256,kernel_initializer='uniform',input_shape=(1000,),activation='relu'))
model.add(Dense(units=64,kernel_initializer='uniform',activation='tanh'))
model.add(Dense(units=8,kernel_initializer='uniform',activation='softmax'))

model.summary()
...