tensorflow的reshape操作tf.reshape() 中参数问题

本文详细介绍了TensorFlow中tf.reshape()函数的使用,重点解析了如何通过shape参数变换张量的维度。强调了在shape列表中使用-1的含义,即自动计算缺失的维度大小,但列表中只能有一个-1。同时,通过实例展示了从一维到二维、三维张量的转换,并指出reshape操作的关键是保持总元素数量不变。最后,探讨了在处理二维图像时,如何利用reshape将多张图片转为一维数组。
摘要由CSDN通过智能技术生成

tf.reshape语法

tf.reshape(tensor,shape,name=None)

函数的作用是将tensor变换为参数shape形式,其中的shape为一个列表形式,特殊的是列表可以实现逆序的遍历,即list(-1).-1所代表的含义是我们不用亲自去指定这一维的大小,函数会自动进行计算,但是列表中只能存在一个-1。(如果存在多个-1,就是一个存在多解的方程) 
下面就说一下reshape是如何进行矩阵的变换的,其简单的流程就是: 
将矩阵t变换为一维矩阵,然后再对矩阵的形式进行更改就好了,具体的流程如下:
 

reshape(t,shape) =>reshape(t,[-1]) =>reshape(t,shape)

实际操作中,有如下效果:我创建了一个一维的数组

>>>import numpy as np
>>>a= np.array([1,2,3,4,5,6,7,8])
>>>a
array([1,2,3,4,5,6,7,8])
>>>

使用reshape()方法来更改数组的形状,使得数组成为一个二维的数组:(数组中元素的个数是2×4=8)

>>>d = a.reshape((2,4))
>>>d
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])

进一步提升,可以得到一个三维的数组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Baobin Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值