深度学习网络中numpy多维数组的说明
目前在计算机视觉中应用的数组维度最多有四维,可以表示为 (Batch_size, Row, Column, Channel)
以下将要从二维数组到四维数组进行代码的简单说明:
Tips:
1) 在numpy中所有的index都是从0开始。
2) axis = 0 对Cloumn(Width)操作; axis = 1 对Row(Height)操作; axis = 2 or -1 对Channel(Depth)操作
1. 二维数组 (Row, Column)
import numpy as np
# Set a matrix with (2*3)
array = np.array([
[1,2,3],
[4,5,6]
]) print(array)
[[1 2 3]
[4 5 6]] print(array.shape) # (Row, Column)
(2, 3) print(array[0,1])
2
2. 三维数组 (Row, Column, Channel)
import numpy as np # Set a matrix with (2*3*4)
array = np.array([
[[1,2,3,4],[5,6,7,8],[9,10,11,12]],
[[13,14,15,16],[17,18,19,20],[21,22,23,24]]
]) print(array)
[[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]] [[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]] print(array.shape)
(2, 3, 4) #(Row, Column, Channel) print(array[0,1,2])
7
3. 四维数组(Batch_size, Row, Column, Channel)
import numpy as np
# Set a matrix with (2*2*3*4)
array = np.array([
[[[1,2,3,4],[5,6,7,8],[9,10,11,12]],[[13,14,15,16],[17,18,19,20],[21,22,23,24]]],
[[[21,22,23,24],[17,18,19,20],[13,14,15,16]],[[9,10,11,12],[5,6,7,8],[1,2,3,4]]]
]) print(array)
[[[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]] [[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]] [[[21 22 23 24]
[17 18 19 20]
[13 14 15 16]] [[ 9 10 11 12]
[ 5 6 7 8]
[ 1 2 3 4]]]] print(array.shape) #(Batch_size, Row, Column, Channel)
(2, 2, 3, 4) print(array[1,0,1,2])
19 print(array[1]) # Choice Batch_size 1
[[[21 22 23 24]
[17 18 19 20]
[13 14 15 16]] [[ 9 10 11 12]
[ 5 6 7 8]
[ 1 2 3 4]]]
以上。
深度学习网络中numpy多维数组的说明的更多相关文章
- 如何可视化深度学习网络中Attention层
前言 在训练深度学习模型时,常想一窥网络结构中的attention层权重分布,观察序列输入的哪些词或者词组合是网络比较care的.在小论文中主要研究了关于词性POS对输入序列的注意力机制.同时对比实验 ...
- Py中的多维数组ndarray学习【转载】
转自:http://blog.sciencenet.cn/home.php?mod=space&uid=3031432&do=blog&id=1064033 1. NumPy中 ...
- 【NumPy学习指南】day4 多维数组的切片和索引
ndarray支持在多维数组上的切片操作.为了方便起见,我们可以用一个省略号(...)来 表示遍历剩下的维度. (1) 举例来说,我们先用arange函数创建一个数组并改变其维度,使之变成一个三维数组 ...
- AI炼丹 - 深度学习必备库 numpy
目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...
- <深度学习优化策略-3> 深度学习网络加速器Weight Normalization_WN
前面我们学习过深度学习中用于加速网络训练.提升网络泛化能力的两种策略:Batch Normalization(Batch Normalization)和Layer Normalization(LN). ...
- 网络1712--c语言一二维数组作业总结
1.成绩摆前头 1.1基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 泛泛而谈(最多七分) 1.2评分要点 PTA作业总结(4分) 同学代码互评 ...
- 利用Tengine在树莓派上跑深度学习网络
树莓派是国内比较流行的一款卡片式计算机,但是受限于其硬件配置,用树莓派玩深度学习似乎有些艰难.最近OPENAI为嵌入式设备推出了一款AI框架Tengine,其对于配置的要求相比传统框架降低了很多,我尝 ...
- 一些Python中的二维数组的操作方法
一些Python中的二维数组的操作方法 这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用 ...
- C#中读取二维数组每位的长度
C#中的二维数组,如int[,] A=new int[a,b];则 a=A.GetLength(0);即可获得二维数组中第一维的长度. b=A.GetLength(1);即可获得二维数组中第二维的长度 ...
随机推荐
- windows 启动停止 java进程
本案例以 xxx.jar 为列子 我们一般启动的jar 在任务管理器中查看进程都是javaw.exe ,无法用命令来 kill,所以我们得给自己的java 进程设置个新 title 1: 首先 ...
- 2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描
2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.O ...
- 制作自己的docker镜像
制作自己的Docker镜像主要有如下两种方式: 1.使用docker commit 命令来创建镜像 通过docker run命令启动容器 修改docker镜像内容 docker commit提交修改的 ...
- canvas画圆角矩形的方法
思路:arcTo(x1, y1, x2, y2, r) 参考:https://blog.csdn.net/shi851051279/article/details/80436851 http://ww ...
- 2019.04.26 mongaodb
打开服务 mongod.exe --dbpath E:\Develop\mongodb_64\data\db 在安装和打开服务之前要建一个db 文件的存储位置 然后打开服务 打开服务之后 打开图 ...
- Xgboost总结
从决策树.随机森林.GBDT最终到XGBoost,每个热门算法都不是孤立存在的,而是基于一系列算法的改进与优化.决策树算法简单易懂可解释性强,但是过拟合风险很大,应用场景有限:随机森林采用Baggin ...
- Python基础(六) python生成xml测试报告
思路: 1.使用xslt样式,这样可以很好的和xml结合,做出漂亮的报告 2.生成xml结构 xslt样式是个很有意思,也很强大的,现在用的很多,很方便就能做出一个漂亮的报告,可以百度一下,语法相当简 ...
- 惨痛第十届蓝桥杯总结(附录蓝桥省赛知识点总结)-C++ B组
虽然目前距离蓝桥省赛仅仅过去一天但昨天下午和大神对答案的感觉依旧..... 现在深刻里理解到了为啥大神老是说咱们蓝桥叫 阅读理解杯(现在我非常认同这种说法啊...) 虽然第一次参加,赛前紧张提前30分 ...
- json对象组按某个字段排序
JS排序 键值对 var sortBy=function (filed,rev,primer){ rev = (rev) ? -1 : 1; return function (a, b) { a = ...
- 求你显示pdf
123 <iframe src='http://km.shengaitcm.com/ADC/_layouts/15/WopiFrame.aspx?sourcedoc=%2FADC%2FDocLi ...