【python】Tensor和Array对比

区别 Array Tensor
类型 uint8,float32系列 {}
各类型相互转换 uint8转float64:image = image * (2. / 255.) - 1   float64转uint8:image.astype(np.uint8) {}
扩充维度 image[np.newaxis, :] tf.expand_dims(image,axis=0)
数组拼接 np.concatenate([image, image], axis=0) tf.concat([frame,frame],axis=0)
相互转换 image.eval() tf.convert_to_tensor(image)
拼接 np.concat, np.concatenate, np.stack, image.append等 tf.stack, tf.concat

array的一些操作

  1. 获取shape:score.shape #(1, 257, 257)
  2. 转换成list:score.get_shape().as_list() #[1, 257, 257]
  3. list前再扩充一维: [1] + score.get_shape().as_list() #[1, 1, 257, 257]
  4. x_crops是(1, 3, 255, 255, 3),将前两维合并:
    x_crops = tf.reshape(x_crops, [x_crops_shape[0] * x_crops_shape[1]] + x_crops_shape[2: ])
  5. numpy数组堆叠
    z.shape本来是(1,127,127,3),想要堆叠成(3,127,127,3)
    np.stack([z_crops_hog,z_crops_hog,z_crops_hog])后,变成了(3, 1, 127, 127, 3),

vstack 按行堆叠
hstack 按列堆叠

猜你喜欢

转载自blog.csdn.net/aaon22357/article/details/82193793