如何使用减少的元素/值来平铺张量?

时间:2018-04-09 06:21:21

标签: python tensorflow

例如,如果我有一个张量x为:

[[1.0, 2.0, 3.0]]

我想得到张量:

[[1.0, 2.0, 3.0], [1.0, 2.0, 0.0], [1.0, 0.0, 0.0]]

我尝试使用 tf.tile(),但这只是完全复制了张量的维度。我想知道是否有办法只使用Tensor Transformations而没有任何循环结构...

1 个答案:

答案 0 :(得分:1)

tf.lingalg.band_part(input, 0, -1)会将方形矩阵的左下角三角形清零。

所以你的代码将是

tiled = tf.tile(x, (tf.shape(x)[1], 1))
tf.linalg.band_part(tiled, 0, -1)