深度学习网络中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);即可获得二维数组中第二维的长度 ...
随机推荐
- Babylon.js demo
demo地址 访问demo 全屏试试 感觉很棒 在线文档 搜索:Default rendering pipeline demo源码在线调试地址
- 基于Dockerfile创建docker镜像
0.先创建一个文件夹img mkdir img 1.Linux上新建3个文件 2.文件内容分别写入 (1)Dockerfile中 # 基于的基础镜像centos FROM centos # 维护该镜像 ...
- mac OSx 安装 mysqlclient
首先需要安装 按照提示操作 brew install mysql-connector-c 然后 修改mysql_config 执行mysql_config可以看到文件所在位置 我的目录放在 /usr ...
- MATLAB绘制函数图
序言 Matlab可以根据用户给出的数据绘制相应的函数图.对于单个2D函数图,需要给出一个行向量x作为函数图上离散点集的横坐标,以及一个与x列数一样的横坐标y作为函数图上点集的纵坐标. 向量x和y的取 ...
- Java-接口(interface)
1.1接口的定义 java中接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口 ...
- centos7.5 安装gaussian09和 gaussianview4
一.安装gaussian09 1. 解压安装包 $ mkdir Gaussian$ cd Gaussian$ tar xvf g09_linux.tar 2. 设置环境变量 #gaussian09 e ...
- Cocos Creator JS 时间戳日期转换
/*** 时间戳换算日期* */function formatDateTime (timeStamp) { var date = new Date(); date.setTime(timeStamp ...
- Cocos Creator 获取当前URL取参数
利用Javascript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数. 其实不是,Javascript获取当前页的 ...
- Hadoop组件
---------Hive--------------------------zooKeeper-------------------------------kafka---------------- ...
- windows----------火狐浏览器访问所有https网站都显示链接不安全解决办法
1.如有以下情况,点右边的“高级”,看看自己的错误码是否为SEC_ERROR_UNKNOWN_ISSUER 2.在地址栏键入"about:config" 点击“我了解此风险” 3. ...