【发布时间】:2017-05-31 21:24:36
【问题描述】:
我有一个 Keras Model,它计算两个相同形状的张量 r1 和 r2。我想让模型计算(r1 - r2)**2。
我可以用keras.layers.add(r1, r2) 对这些张量求和。我可以用keras.layers.multiply(r1, r2) 拿一个产品。如果有 subtract 函数,我会写
r = keras.layers.subtract(r1, r2)
square_diff = keras.layers.multiply(r, r)
但似乎没有keras.layers.subtract 函数。
取而代之的是,我一直试图弄清楚如何将我的一个输入乘以一个常数 -1 张量然后相加,但我不知道如何创建那个 -1 张量。我已经尝试了多种变体
negative_one = keras.backend.constant(np.full(r1.get_shape()), -1)
这些都不起作用。大概是因为r1的维度是(?, 128)(即第一个维度是batch size,第二个维度代表128个隐藏元素)
Keras 中取两个张量之差的正确方法是什么?
【问题讨论】:
-
Keras 2.0.7 现在包含
subtract层函数。
标签: keras