繁体   English   中英

如何使用Tensorflow向张量添加尺寸

[英]How to add dimension to a tensor using Tensorflow

我有方法reformat ,其中使用numpy我将label(256,)转换为label(256,2)形状。

现在我想在具有形状的Tensor上进行相同的操作(256,)

我的代码看起来像这样(num_labels = 2): -

def reformat(dataset, labels):
  dataset = dataset.reshape((-1, image_size, image_size,num_channels)).astype(np.float32)
  labels = (np.arange(num_labels)==labels[:,None]).astype(np.float32)
  return dataset, labels

您可以使用tf.expand_dims()添加新维度。

In [1]: import tensorflow as tf    
        x = tf.constant([3., 2.])
        tf.expand_dims(x, 1).shape

Out[1]: TensorShape([Dimension(2), Dimension(1)])

您也可以使用tf.reshape() ,但建议您使用expand_dims,因为如果可以满足新形状,这也会为新维度带来一些值。

In [1]: tf.reshape(x, [2, 1])
Out[1]: TensorShape([Dimension(2), Dimension(1)])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM