python的reshape和matlab的reshape,我们不一样

python的变维度:

X.shape = (a,b,c)这种操作,比如(4,3,2),他是先切分4,然后3,然后2;; 2是连续的值, 4和3维度不是。

这个和matlab是不一样的!!!

惨痛的教训,定位了一个下午问题,泪流满面。教训式知识的迁移不是“理所当然”的。管中窥豹,从这里可以想想想要做迁移学习的重要性,和坑位之多,之隐蔽,之深刻。

举例

python:
a = np.array(range(24))
a.shape = (4,3,2)

array([[[ 0, 1],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[10, 11]],
[[12, 13],
[14, 15],
[16, 17]],
[[18, 19],
[20, 21],
[22, 23]]])

matlab:
a = [1:24]
a.reshape(4,3,2)
reshape(a,[4,3,2])

ans(:,:,1) =

 1     5     9
 2     6    10
 3     7    11
 4     8    12

ans(:,:,2) =

13    17    21
14    18    22
15    19    23
16    20    24

总结:

python维度shape,类似“由整体到局部,越切越小”, 最小维度才是连续分配的维度。
matlab维度shape,类似“由局部到整体,越切刀越大”, 最大维度才是连续分配的维度。-列优先准则;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值