【发布时间】:2017-06-01 19:43:33
【问题描述】:
给定
a = tf.constant([[1, 2, 3], [10, 20, 30], [100, 200, 300], [1000, 2000, 3000]])
以下都是等价的
b = tf.constant([100000, 200000, 300000])
print((a+b).eval())
bb = tf.constant([[100000, 200000, 300000]])
print((a+bb).eval())
bbb = tf.constant([[100000, 200000, 300000], [100000, 200000, 300000], [100000, 200000, 300000], [100000, 200000, 300000]])
print((a+bbb).eval())
生产
[[100001 200002 300003]
[100010 200020 300030]
[100100 200200 300300]
[101000 202000 303000]]
我了解bb 是由tf.add(此处为+)“广播”到bbb 对应的值。是添加一个维度,将b 转换为bbb 的值所有广播,还是别的什么?
【问题讨论】:
-
你读过this吗?我不太明白你的问题
-
@martianwars:我想我明白了。这是
b也是广播:“数组不需要具有相同的维数。”可以添加匹配的外部维度,直到广播。 (我会用它或类似的东西作为答案。)
标签: tensorflow array-broadcasting tensorflow-xla