Keras | TypeError:__ init __()缺少1个必需的位置参数:'nb_col'

时间:2017-03-22 09:21:51

标签: python keras

我目前正在尝试将此教程代码实现到我自己的convnet.py中,但是我收到了一个错误。 Tutorial

这是完整的错误:

Traceback (most recent call last):
    File "convnet.py", line 6, in <module>
        model.add(Conv2D(32, (3, 3), input_shape=(3, 150, 150)))
TypeError: __init__() missing 1 required positional argument: 'nb_col'

以下是程序出错的前10行:

from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense

model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(3, 150, 150)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

代码位于文件convnet.py中,我运行如下文件:     python convnet.py

1 个答案:

答案 0 :(得分:23)

您可能正在使用具有以下签名的旧版Keras:

Conv2D(self, nb_filter, nb_row, nb_col, ...)

使用这个旧版本,您可以将conv层定义为:

model.add(Conv2D(32, 3, 3, input_shape=(3, 150, 150)))

您可以查看您使用的版本:

import keras
print(keras.__version__)

我建议你更新你的Keras。