Numpy.reshape函数解释
2017-04-09 22:01
267 查看
Numpy.reshape()与shape函数
相关知识:tensorflow中利用张量来表示数据,张量是有阶数的,一阶张量就是一个一维向量,二阶张量是矩阵,关于张量的描述更多描述,参考http://blog.csdn.net/u013378306/article/details/56281549这篇博文。shape就是张量的形状,用数组表示,n阶张量对应一个n维的shape,每一阶的元素数目等于相应的维的大小。例如,张量[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]]的shape=(2,3,2).明白了这一点后,reshape()函数和shape[]函数就很好理解了:reshape()函数重新定义了原张量的阶数,shape函数就表示张量的形状。下面看具体用法:
1.Numpy.reshape()
虽然官网上关于reshape函数的标准格式是numpy.reshape(a, newshape, order='C'),但其实这个函数有两种用法。先看代码:import numpy as np a=np.array([1,2,3,4,5,6,7,8,9,10,11,12]) b=np.reshape(a,(2,-1)) c=a.reshape(2,-1) print 'b=' print b print 'c=' print c结果:
b= [[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]] c= [[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]]可以看到,对数组a进行变换可以用b=np.reshape()或者c=a.reshape()的方式。
2.函数内参数解释
我们用第一种方式,即b=np.reshape()的方式。值得注意的是标准格式中numpy.reshape(a, newshape, order='C')中的newshape参数和order参数。newshape参数:
用法参见以下代码:import numpy as np a=np.array([1,2,3,4,5,6,7,8,9,10,11,12]) b=np.reshape(a,(2,-1)) c=np.reshape(a,(2,2,-1)) d=np.reshape(a,(2,3,-1)) print 'b=' print b print 'c=' print c print 'd=' print d输出:
b=newshape参数用数组表示,以c为例,数组(2,2,-1)就是c的形状,一共有三阶,第三个数字是reshape后数组a中最小单元中元素个数,在这里是3,如果是-1则表示可以自动推测出。
[[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]
c=
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
d=
[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]]
order参数
是元素排列顺序的参数,一般不用。2.shape函数
下面代码展示了该函数的用法:c=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
c=c.reshape(2,3,2)
print c
print c.shape输出:
[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]]即得到张量的形状。
(2, 3, 2)
相关文章推荐
- Python Numpy中reshape函数参数-1的含义
- numpy.meshgrid函数使用解释
- numpy的常用函数reshape、matmul
- numpy中函数resize与reshape,ravel与flatten的区别
- numpy.where()函数 返回值的解释
- 机器之心之NumPy能力大评测:这里有70道测试题代码实现和函数解释31-35
- python库numpy的reshape的终极解释
- Numpy随机数生成函数与常见分布函数解释
- GetWindowLong函数(最好的解释资料,绝对值得一看,此函数在子类化技巧时候经常用到)
- 函数前面的const和函数后面的const解释
- c语言中signal函数解释....
- Time 与Timer 函数解释
- 通过临时表解决--未能为视图或函数解释分析分配辅助表,超过了查询中表地最大数目(260)--的问题
- RegisterWindowMessage函数解释
- ASP中常用的函数详细解释2
- 一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
- 动态连接库中的函数,解释后出现问题,求救!!!
- c#采集网页用得几个函数 有解释
- linux 文件操作函数 通过例子来解释 父子间文件描述符共享 内存映像图
- InstallShield中文函数解释