python Tensor和Array对比分析

yipeiwu_com6年前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复制列表时[:]和[::]之间有什么区别

前言 new = old[:] Python老鸟都知道以上代码是什么意思。它复制列表old到new。它对于新手来说是种困惑而且应该避免使用这种方法。不幸的是[:]标记法被广泛使用,...

Django验证码的生成与使用示例

Django验证码的生成与使用示例

前言 本文主要介绍的是关于Django验证码生成与使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 方法如下: 1、基于PIL生成一个带验证码的图片和验证码,生成验证码...

Django中的FBV和CBV用法详解

Django中的FBV和CBV用法详解

FBV FBV,即 func base views,函数视图,在视图里使用函数处理请求。 以用户注册代码为例, 使用两个函数完成注册 初级注册代码 def register(req...

python numpy元素的区间查找方法

找了半天,以为numpy的where函数像matlab 的find函数一样好用,能够返回一个区间内的元素索引位置。结果没有。。(也可能是我没找到) 故自己写一个函数,找多维数组下的,在某...

彻底搞懂Python字符编码

彻底搞懂Python字符编码

不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们...