python reshape用法,-1的意思

本文详细介绍了NumPy中reshape函数的使用方法,包括如何通过指定参数改变数组形状,以及-1参数的特殊用法。深入探讨了在深度学习场景下,如何利用reshape处理四维数据,实现通道数的自动调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、reshape的用法,将数组转换成指定的形状

import numpy as np

x = np.array([[1,2,3],[11,12,13,],[22,23,24],[31,32,33]])

>>>x
array([[ 1,  2,  3],
       [11, 12, 13],
       [22, 23, 24],
       [31, 32, 33]])

>>>x.reshape(2,6)
array([[ 1,  2,  3, 11, 12, 13],
       [22, 23, 24, 31, 32, 33]])

2、-1参数的意思

2.1 reshape(N, -1)指定N行,列数自动确定

x.reshape(-1)自动生成一列

>>>x.reshape(6,-1)
array([[ 1,  2],
       [ 3, 11],
       [12, 13],
       [22, 23],
       [24, 31],
       [32, 33]])

>>>x.reshape(-1)
array([ 1,  2,  3, 11, 12, 13, 22, 23, 24, 31, 32, 33])

2.2 reshape(-1, N)生成N列,行数自动确定

>>>x.reshape(-1, 4)
array([[ 1,  2,  3, 11],
       [12, 13, 22, 23],
       [24, 31, 32, 33]])

2.3 应用

在深度学习中,四维数据(N, C, H, W)分别表示批数、通道数、高度和宽度,如out是二维数据

out = out.reshape(N, H, W, -1)

则其中的C通道数会自动确定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值