我正在尝试构建一个模型,该模型应该接受两个具有可变长度的输入:
env_input1 = Input(shape=(None,), dtype='int32')
env_input2 = Input(shape=(None,), dtype='int32')
env = concatenate([env_input1, env_input2])
env = Dense(50, activation='relu')(env)
env = Dense(100, activation='relu')(env)
env = Dense(50, activation='relu')(env)
env_output = Dense(1)(env)
env_model = Model(inputs=[env_input1, env_input2], outputs=[env_output])
adam_opt = Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
env_model.compile(loss='mse', optimizer=adam_opt, metrics=['accuracy'])
我收到此错误:
TypeError:+不支持的操作数类型:“ NoneType”和“ int”
有什么建议解决此问题吗?
答案 0 :(得分:2)
对于人工神经网络,您不能有可变长度的输入,因为网络中的第一密集层不知道要在训练之前初始化的权重尺寸。
>但是在卷积神经网络的情况下,您可能在输入时具有可变的图像尺寸,因为在Conv2D
的情况下,所有输入参数都决定权重的尺寸。以后,如果我们使用CNN,我们将使用全局平均池化在CNN特征提取器之后成功添加密集层分类器。