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 动态加载的实现方法

脚本语言都有一个优点,就是动态加载。lua语言有这个优点,python也有这个特性。说简单点就是,如果开发者发现自己的代码有bug,那么他可以在不关闭原来代码的基础之上,动态替换模块。替...

python笔记(1) 关于我们应不应该继续学习python

以前面试的时候会被问到,linux熟不熟呀?对于这种问题:我总会尴尬地回答,“额..了解一点”。   然而,我大学毕业的时候,连linux的虚拟机都没装过,更别提系统熟不熟悉了。虽然我了...

Python 基于Twisted框架的文件夹网络传输源码

Python 基于Twisted框架的文件夹网络传输源码

由于文件夹可能有多层目录,因此需要对其进行递归遍历。 本文采取了简单的协议定制,定义了五条命令,指令Head如下: Sync:标识开始同步文件夹 End:标识结束同步 File:标识传输...

Python中判断子串存在的性能比较及分析总结

起步 对于子串搜索,Python提供了多种实现方式:in, find, index, __contains__,对其进行性能比较: import timeit def in_(s...

Python3 queue队列模块详细介绍

queue介绍 queue是python中的标准库,俗称队列。 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需...