0
我知道有一种方法可以像这样对张量进行元素运算。tensorflow:更高维的元素减法
// x is a 4d tensor
y = x - 1
但是是相同的可能,如果,例如,一个图4d张量(MxNxVxW)由1维(M)张量中减去,使得对于在所述(M)的每一个值张量相应的(NxVxW)值是从元素中减去的?
我知道有一种方法可以像这样对张量进行元素运算。tensorflow:更高维的元素减法
// x is a 4d tensor
y = x - 1
但是是相同的可能,如果,例如,一个图4d张量(MxNxVxW)由1维(M)张量中减去,使得对于在所述(M)的每一个值张量相应的(NxVxW)值是从元素中减去的?
是的,它是可能的,例如:
import tensorflow as tf
a=tf.constant([[[1,2,3],[4,5,6]],[[11,12,13],[14,15,16]]])
b=tf.constant([10,20,30])
res=a-b
sess=tf.InteractiveSession()
res.eval()
这将打印
array([[[ -9, -18, -27],
[ -6, -15, -24]],
[[ 1, -8, -17],
[ 4, -5, -14]]])
感谢,但你知道他们为什么被减少了最后,而不是第一个尺寸? – user2255757
@ user2255757这只是如何定义tf.subtract。如果你想减去第二维,你可以这样做:b = tf.constant([10,20])然后res = a-tf.reshape(b,[1,-1,1])。为了减去第一个,你可以做res = a-tf.reshape(b,[ - 1,1,1])。 –