python Tensor和Array对比分析

yipeiwu_com7年前Python基础

如下所示:

区别 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 按列堆叠

以上这篇python Tensor和Array对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用python获取CPU和内存信息的思路与实现(linux系统)

大家都知道,linux里一切皆为文件,在linux/unix的根目录下,有个/proc目录,这个/proc 是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/p...

解决python3.5 正常安装 却不能直接使用Tkinter包的问题

一个小的解决方法分享: 正常安装的情况下,你所需要的包都能在python文件夹下找到,找到你所需要的包 ,把它复制到Python35\Lib\site-packages 这个文件夹下,这...

详谈Numpy中数组重塑、合并与拆分方法

1.数组重塑 1.1一维数组转变成二维数组 通过reshape( )函数即可实现,假设data是numpy.array类型的一维数组array([0, 1, 2, 3, 4, 5, 6,...

对Pytorch中Tensor的各种池化操作解析

AdaptiveAvgPool1d(N) 对一个C*H*W的三维输入Tensor, 池化输出为C*H*N, 即按照H轴逐行对W轴平均池化 >>> a = torch...

Python 实现异步调用函数的示例讲解

async_call.py #coding:utf-8 from threading import Thread def async_call(fn): def wrapper...