栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python数组中的维度小结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python数组中的维度小结

.shape查看数组维度.
正序例子:

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

逆推分析:
要想生成(1,2,3,4)这样的4维数组,那么最外层’[‘的数量得是4,形如[[[[.
第一个数要想是1,就得看这其中四级括号中[’[[[]]]’],三级’[‘的数量得是1个,形如[[[[.]]]]
第二个数要想是2,就得看这其中三级括号中[[’[[]]’]],二级’[‘的数量得是2个,形如[[[],[]]]
第三个数要想是3,就得看这其中二级括号中[[[’[]’]]],一级’[‘的数量得是3个,形如[[[[],[],[]]]]
第四个数要想是4,就得看这其中一级括号中[[[[’’]]]],元素的数量得是4个,形如[[[[’’,’’,’’,’’]]]]
组合以上信息就可以得到生成(1,2,3,4)这样的4维数组的形状,[[[[’’,’’,’’,’’],[’’,’’,’’,’’],[’’,’’,’’,’’]],[[’’,’’,’’,’’],[’’,’’,’’,’’],[’’,’’,’’,’’]]]]

关于’[…, tf.newaxis]‘中的’tf.newaxis’,简单理解其实就是为了在最后增加一个维度来适配模型输入输出所需要的整体维度,例如上述a如果是一个张量矩阵,维度为(1,2,3,4),经过以下操作变换

pred1.shape
(1,2,3,4)
pred_1 = tf.argmax(pred1, axis=-1)
pred_1.shape
TensorShape([1, 2, 3])
pred_1 = pred_1[..., tf.newaxis]
pred_1.shape
TensorShape([1, 2, 3, 1])

其中tf.argmax(pred1, axis=-1)的操作简单理解可以认为是降维,其中参数分别代表张量矩阵和需要降维的轴,-1代表最后一轴,进行矩阵的降维
例如一个222的矩阵
[[[1,2],
[3,4]]
[[1,4],
[3,2]]]
相当于是一个2层的2*2的8个积木堆在一起,然后如果此时axis=0,就按照习惯上称为z轴的方向上进行’压缩’.具体的例如’1’和’1’进行argmax,取1;'2’和’4’进行argmax,取4;'3’和’3’进行argmax,取3;'4’和’2’进行argmax,取4;最后得到一个二维张量矩阵
[[1,4],
[3,4]]
此时可以想象成是一个0层的2行2列的积木堆在一起
如果此时接着进行升维操作,例如上述的tf.newaxis操作,则会得到一个三维张量矩阵,形状是(2,2,1),具体表示即为
[[[1],
[4]],
[[3],
[4]]]
可以想象成是一个2层,2行1列的积木堆在一起
其中的…代表的矩阵的维度缺省,如果是二维矩阵可以相当于:,三维相当于::
dddd
np.set_printoptions(threshold=np.inf) 解决数组显示不全

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号