Keras:如何相乘()?

问题描述 投票:0回答:2

TensorFlow 2.0 RC1

import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input, Multiply

import numpy as np

预期输出:

Multiply()([np.array([1,2,3,4,4,4]).reshape(2,3), np.array([1,0])])

enter image description here

input_1 = Input(shape=(None,3)) mask_1 = Input(shape=(None,)) net = Multiply()([input_1, mask_1]) net = Model(inputs=[input_1, mask_1], outputs=net) net.predict([np.array([1,2,3,4,4,4]).reshape(1,2,3), np.array([1,0]).reshape(1,2)]) # 1 = batch size

enter image description here

如何解决此问题?

python tensorflow keras keras-layer tf.keras
2个回答
2
投票
将代码的最后一行中的第二个数组重塑为np.array([1,0]).reshape(-1)

0
投票
取决于输入形状的指定方式。在Multiply()示例中,批处理大小为2,特征大小为3。因此,在指定输入形状时,仅指定特征大小。

0
投票
尺寸尺寸应匹配,方法是将第二个输入的输入形状修改为(None, 1),并向[1, 0]数组添加一个额外的尺寸
© www.soinside.com 2019 - 2024. All rights reserved.