TensorFlow:添加具有恒定值的尺寸(列)

时间:2018-10-12 21:45:51

标签: python tensorflow

我有一个(-1,)形状的张量,它表示索引列表。我想创建一个形状为(-1,2)的张量。第一列应与索引列表相同,而第二列应使用常量填充。

例如(假设常量为6):

indices = [4, 35, 230, 235]
my_goal = [[2, 6], [35, 6], [230, 6], [235, 6]]

做到这一点的最佳方法是什么?我希望进行广播-concat可以工作,但是concat似乎不支持广播。

1 个答案:

答案 0 :(得分:2)

您可以使用tensorflow.pad。但是首先必须将其设为二维张量。

indices = tf.constant([1,2,3,4])
indices = tf.expand_dims(tf, 1)  # now you have a (4,1) tensor
padding = [[0,0],[0,1]] # no padding before or after the first dimension
                        # no padding before second dimension. Single-element padding
                        # after the second dimension
my_goal = tf.pad(indices, padding, constant_values=6)

填充必须为[n,2]张量。有关更多信息,请查看:https://www.tensorflow.org/api_docs/python/tf/pad