如何理解深度学习中的tensor(涉及numpy的二维,三维以及四维数据的理解)
0. 写作目的
好记性不如烂笔头。
结论:无论几维,都可以按照(Batch_size, Height, Width, Channle)来理解。
1. 二维数据的理解
理解为:只有(Height, Width),而且理解的是对于每一【 】从后向前看。即第一个[0.1, 0.2, 0.3]是width维度的。
b = [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]
b_array = np.array( b )print(b_array)
print(b_array.shape)
print( b_array[1,2] )### result[[0.1 0.2 0.3][0.4 0.5 0.6]]
(2, 3)
0.6
2. 对三维数据的理解
理解为:只有(Height, Width, Channel),而且理解的是对于每一【 】从后向前看。即第一个[1, 2, 3, 3.5]是Channel维度的。
a = [ [[1, 2, 3, 3.5], [4, 5, 6, 6.5]],
[[7, 8, 9, 9.5], [10, 11, 12, 12.5]],
[[13, 14, 15, 15.5], [16, 17, 18, 18.5]]]a_array = np.array( a )
print(a_array)
print( a_array.shape )
print( a_array[0, 1, 3] )### result
[[[ 1. 2. 3. 3.5][ 4. 5. 6. 6.5]][[ 7. 8. 9. 9.5][10. 11. 12. 12.5]][[13. 14. 15. 15.5][16. 17. 18. 18.5]]]
(3, 2, 4)
6.5
可视化上述的三维数据(字迹丑大家见谅,理解原理优先):
3. 对四维数据的理解
理解为:(Batch_size, Height, Width, Channel),而且理解的是对于每一【 】从后向前看。即第一个[0.1, 0.2, 0.3]是Channel维度的。
c = [ [[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], [0.7, 0.8, 0.9], [1.0, 1.1, 1.2]],
[[0.11, 0.21, 0.31], [0.41, 0.51, 0.61], [0.71, 0.81, 0.91], [1.01, 1.11, 1.21]] ],[[[0.12, 0.22, 0.32], [0.42, 0.52, 0.62], [0.72, 0.82, 0.92], [1.02, 1.12, 1.22]],[[0.112, 0.212, 0.312], [0.412, 0.512, 0.612], [0.712, 0.812, 0.912], [1.012, 1.112, 1.212]]]]
c_array = np.array( c )
print( c_array )
print( c_array.shape )
print( c_array[1, 0, 3, 1] )## result
[[[[0.1 0.2 0.3 ][0.4 0.5 0.6 ][0.7 0.8 0.9 ][1. 1.1 1.2 ]][[0.11 0.21 0.31 ][0.41 0.51 0.61 ][0.71 0.81 0.91 ][1.01 1.11 1.21 ]]][[[0.12 0.22 0.32 ][0.42 0.52 0.62 ][0.72 0.82 0.92 ][1.02 1.12 1.22 ]][[0.112 0.212 0.312][0.412 0.512 0.612][0.712 0.812 0.912][1.012 1.112 1.212]]]]
(2, 2, 4, 3)
1.12
可视化上述的四维数据(字迹丑大家见谅,理解原理优先):
4. tensor的简单操作
4.1 numpy 中对tensor的操作
以三维tensor为例:
numpy.sum( tensor, axis ) numpy.mean( tensor, axis)
其中axis = -1是对最里面的一个维度操作。如numpy.sum( tensor, axis = -1 ), 即对第2维度进行操作,即对channel进行相加。
实例为:
import numpy as np
a = [[[1, 2, 3,], [4, 5, 6]], [[1.1, 2.1, 3.1], [4.1, 5.1, 6.1]]]
print( np.sum(a, axis=-1) )
print( np.sum(a, axis=0) )
print( np.sum(a, axis=1) )
print( np.sum(a, axis=2) )## output
#axis = -1 ## channel
[[ 6. 15. ][ 6.3 15.3]]# axis = 0 ## height
[[ 2.1 4.1 6.1][ 8.1 10.1 12.1]]# axis = 1 ## width
[[5. 7. 9. ][5.2 7.2 9.2]]# axis = 2 ## channel
[[ 6. 15. ][ 6.3 15.3]]
There may be some mistakes in this blog. So, any suggestions and comments are welcome!
如何理解深度学习中的tensor(涉及numpy的二维,三维以及四维数据的理解)相关推荐
- 深入理解深度学习中的【卷积】和 feature map
深入理解深度学习中的卷积和feature map 虽然深度学习和CNN的概念已经传遍大街小巷,本文还是说一说CNN中的卷积. 本文主要介绍卷积层的结构.下图显示了CNN中最 ...
- 理解深度学习中的正则化
写在前面:这篇文章虽然公式有点多,但很好懂的. 仔细看一定会有很大收获. 本文介绍了对深度学习中正则化的理解,分为以下几部分: 什么是正则化? 为什么要正则化? 怎样理解正则化? 举例 首先从 ...
- 深度学习中的Tensor 数据格式(N,C,H,W)
文章目录 深度学习中的Tensor 数据格式(N,C,H,W) 1.深度学习框架中的图像格式 1.1.4DTensor格式 1.2.5DTensor格式 1.3.ND格式 2.数据格式 3.物理存储 ...
- Matlab中矩阵编号方式以及一维二维三维数据间的相互转换
Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 文章目录 Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 一.问题的提出 二.一维数据转为二维和三维 三.三维数据转为一维和二维 ...
- 卷积为什么如此强大?理解深度学习中的卷积
译自Tim Dettmers的Understanding Convolution in Deep Learning有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是"卷积&qu ...
- 深度 | 理解深度学习中的卷积
译者按:本文译自 Tim Dettmers 的 Understanding Convolution in Deep Learning.有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是「 ...
- 理解深度学习中的卷积
译者按:本文译自 Tim Dettmers 的 Understanding Convolution in Deep Learning.有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是「 ...
- 如何理解深度学习中的卷积?
原文地址: http://www.yangqiu.cn/aicapital/2382000.html 译自Tim Dettmers的Understanding Convolution in Deep ...
- 形象理解深度学习中八大类型卷积
https://www.toutiao.com/a6657010098780504589/ 2019-02-12 15:26:40 本文总结了深度学习中常用的八大类型的卷积,以非常形象的方式帮助你建立 ...
最新文章
- 64位的机器上VS2008不能使用SharePoint的workflow template
- ButterKnife基本使用
- Unity3D绑定button监听事件
- SWFupload 在(FF)火狐下报404错误的解决方案
- [译]学习IPython进行交互式计算和数据可视化(四)
- 工作中常用的linux命令,工作中常用的Linux命令
- Javascript模板引擎handlebars使用实例及技巧
- kafka在zk中的目录
- Eclipse保存验证JS缓慢
- jparepository查询所有_JPA – JpaRepository 中使用的查询方法
- cout不明确什么意思_劈腿什么意思?原来出轨和劈腿不一样!原来如此!
- odbc远程连接mysql_无法使用unixodbc,libmyodbc连接到远程mysql服务器
- Kinect2.0-空间长度测量
- 360要在A股上市 华泰联合证券已签订IPO辅导协议
- Android USB(type-c)耳机(十)
- 一款功能强大的 IP 查询工具!
- php依据地理坐标获取国家、省份、城市,及周边数据类
- 数据结构(C语言版)严蔚敏课后答案
- GBASE监控工具简介
- torch.optim 中的优化器
热门文章
- 关于小程序,他们这么看!
- 某服务器软件系统对可用性,某服务器软件系统对可用性(Availability)和性能(Performance)要求较高,()设计策略能提高该系统...
- 计算机还原桌面后黑屏,图文教您win7系统开机进入桌面后显示黑屏的恢复办法...
- 转:“让大家两年不买房”,真有意思啊!!
- 传统语音识别介绍【三】—— 声学模型
- 如何逐帧查看gif-利用Screen To Gif
- 卡方检验怎么检验模型拟合优度
- 《精通Android 5 多媒体开发》——第1章,第1.1节智能手机系统介绍
- 如何通过云计算加速游戏开发
- qemu rtl8139调试问题