假设我有一个Tensorflow张量。我如何获取张量的维度(形状)为整数值?我知道有两种方法,tensor.get_shape()
和tf.shape(tensor)
,但我无法获取形状值为整数int32
类型的值。
例如,下面我创建了一个二维张量,我需要获取行数和列数为int32
类型,以便我可以调用reshape()
来创建形状为(num_rows * num_cols, 1)
的张量。然而,方法tensor.get_shape()
返回的值是Dimension
类型,而不是int32
类型。
回答:
要获取形状为整数列表,请使用tensor.get_shape().as_list()
。
要完成你的tf.shape()
调用,可以尝试tensor2 = tf.reshape(tensor, tf.TensorShape([num_rows*num_cols, 1]))
。或者你可以直接使用tensor2 = tf.reshape(tensor, tf.TensorShape([-1, 1]))
,其中第一个维度可以被推断出来。