我正在尝试使用keras

时间:2019-07-12 08:55:11

标签: python-3.x keras conv-neural-network

当我尝试在keras中创建卷积神经网络时,当我想检查模型时,出现此错误:

  

init ()缺少1个必需的位置参数:“单位”

我正在使用的keras版本是2.2.4版本

这是模型:

input_shape = (224, 224, 1)


model = Sequential()
model.add(Conv2D(16, kernel_size=(5, 5), strides=2, padding='same', activation='relu', input_shape=input_shape))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, kernel_size=(5, 5), strides=1, padding='same', activation='relu'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Conv2D(64, kernel_size=(5, 5), strides=1, padding='same', activation='relu'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dense(activation='linear'))

model.compile(loss='mse',
              optimizer='adam')


model.summary()

,错误是:

  

init ()缺少1个必需的位置参数:“单位”

1 个答案:

答案 0 :(得分:0)

问题出在您的最后一行:

model.add(Dense(activation='linear'))

您需要为Dense图层指定大小,以便执行以下操作:

model.add(Dense(1024, activation='relu'))
model.add(Dense(NEWSIZE, activation='linear')) #

NEWSIZE为您想要的单位数

或者这个:

model.add(Dense(1024, activation='relu'))
model.add(Activation('linear'))