首页 > 解决方案 > 使用输入的keras标量乘法

问题描述

我只想使用输入进行标量乘法

int_input = Input(shape=(1,), name='depth')
int_sigmoid = (Activation('sigmoid')(depthInput))
imageInput = Input(shape=(100, 100, 1), name='image')
imageInputNormalized = BatchNormalization()(imageInput)
con1 = Conv2D(64, (2, 2), padding='same', name='con1')(Activation('relu')(imageInputNormalized))
mp1 = MaxPooling2D(pool_size=2)(con1)
con2 = Conv2D(128, (2, 2), padding='same', name='con2')(Activation('relu')(mp1))
l1 = Lambda(lambda x: x ** depthSigmoid)(con2)

我得到错误

tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [20,50,50,128] vs. [20,1]

标签: pythontensorflowkeras

解决方案


您的代码示例似乎不完整,或者我可能在定义许多变量的地方丢失了。我会考虑添加更多您的代码。

我在你的最后一行注意到,你不执行标量乘法。**不用于标量乘法,可能需要更改为*.

希望这有助于解决您的问题,祝您好运!


推荐阅读