gpt4 book ai didi

python - 逐元素乘法 - 'NoneType' 对象没有属性 '_inbound_nodes'

转载 作者:行者123 更新时间:2023-12-01 01:21:52 27 4
gpt4 key购买 nike

这是使用 Tensorflow 的 Keras 代码的问题。

我有一个简单的网络,我需要在输入后立即进行逐元素乘法。这部分代码如下所示。我总是收到错误:

*** 属性错误:“NoneType”对象没有属性“_inbound_nodes”

我的代码:

    input_img = Input(shape=(256, 256, 2, 1, 2))
masked = Lambda(lambda x: tf.multiply(x[0], x[1]))([input_img[:,:,:,:,:,0], input_img[:,:,:,:,:,1]])
conv1 = Conv3D(1, (5, 5, 2), padding='same', activation=activation, kernel_regularizer=regularizers.l2(1e-9))(masked)
net_head = Model(inputs=input_img, outputs=conv1)

我已经使用了 Lambda 层,所以我很困惑是什么导致了这个问题。输入的维度非常适合模型,因此这不应该是问题。

有人知道吗?

这种按元素相乘实际上是将一些像素屏蔽为零。在上面的代码中,掩码在附加的最后一个维度中连接到输入变量。或者,我也尝试使用掩码专用的变量,例如input_mask,而不是将其作为 input_image 中的附加最后一个维度来进行乘法,这对于相同的错误信息不起作用。

我必须在网络输入层之后而不是输入层之前对输入数据进行屏蔽处理的原因是我需要损失中输入图像的完整数据(包括被屏蔽的数据)开启随机播放的计算。

最佳答案

您正在层外操作张量。 (获取切片也是操作)

您需要获取切片 input_img[:,:,:,:,:,0]input_img[:,:,:,:,:,1] 层内。

masked = Lambda(lambda x: x[:,:,:,:,:,0]*x[:,:,:,:,:,1])(input_img)

关于python - 逐元素乘法 - 'NoneType' 对象没有属性 '_inbound_nodes',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53743704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com