【问题标题】:Is adding a dimension broadcasting?是添加维度广播吗?
【发布时间】: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


【解决方案1】:

正如您在 cmets 中提到的,bbb 都是有效的广播形式。如numpydocumentation中提到的,

数组不需要具有相同的维数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 2019-01-11
    • 2021-01-19
    • 2020-01-25
    相关资源
    最近更新 更多