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的二维,三维以及四维数据的理解)相关推荐

  1. 深入理解深度学习中的【卷积】和 feature map

    深入理解深度学习中的卷积和feature map        虽然深度学习和CNN的概念已经传遍大街小巷,本文还是说一说CNN中的卷积.        本文主要介绍卷积层的结构.下图显示了CNN中最 ...

  2. 理解深度学习中的正则化

    写在前面:这篇文章虽然公式有点多,但很好懂的. 仔细看一定会有很大收获.     本文介绍了对深度学习中正则化的理解,分为以下几部分: 什么是正则化? 为什么要正则化? 怎样理解正则化? 举例 首先从 ...

  3. 深度学习中的Tensor 数据格式(N,C,H,W)

    文章目录 深度学习中的Tensor 数据格式(N,C,H,W) 1.深度学习框架中的图像格式 1.1.4DTensor格式 1.2.5DTensor格式 1.3.ND格式 2.数据格式 3.物理存储 ...

  4. Matlab中矩阵编号方式以及一维二维三维数据间的相互转换

    Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 文章目录 Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 一.问题的提出 二.一维数据转为二维和三维 三.三维数据转为一维和二维 ...

  5. 卷积为什么如此强大?理解深度学习中的卷积

    译自Tim Dettmers的Understanding Convolution in Deep Learning有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是"卷积&qu ...

  6. 深度 | 理解深度学习中的卷积

    译者按:本文译自 Tim Dettmers 的 Understanding Convolution in Deep Learning.有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是「 ...

  7. 理解深度学习中的卷积

    译者按:本文译自 Tim Dettmers 的 Understanding Convolution in Deep Learning.有太多的公开课.教程在反复传颂卷积神经网络的好,却都没有讲什么是「 ...

  8. 如何理解深度学习中的卷积?

    原文地址: http://www.yangqiu.cn/aicapital/2382000.html 译自Tim Dettmers的Understanding Convolution in Deep ...

  9. 形象理解深度学习中八大类型卷积

    https://www.toutiao.com/a6657010098780504589/ 2019-02-12 15:26:40 本文总结了深度学习中常用的八大类型的卷积,以非常形象的方式帮助你建立 ...

最新文章

  1. 64位的机器上VS2008不能使用SharePoint的workflow template
  2. ButterKnife基本使用
  3. Unity3D绑定button监听事件
  4. SWFupload 在(FF)火狐下报404错误的解决方案
  5. [译]学习IPython进行交互式计算和数据可视化(四)
  6. 工作中常用的linux命令,工作中常用的Linux命令
  7. Javascript模板引擎handlebars使用实例及技巧
  8. kafka在zk中的目录
  9. Eclipse保存验证JS缓慢
  10. jparepository查询所有_JPA – JpaRepository 中使用的查询方法
  11. cout不明确什么意思_劈腿什么意思?原来出轨和劈腿不一样!原来如此!
  12. odbc远程连接mysql_无法使用unixodbc,libmyodbc连接到远程mysql服务器
  13. Kinect2.0-空间长度测量
  14. 360要在A股上市 华泰联合证券已签订IPO辅导协议
  15. Android USB(type-c)耳机(十)
  16. 一款功能强大的 IP 查询工具!
  17. php依据地理坐标获取国家、省份、城市,及周边数据类
  18. 数据结构(C语言版)严蔚敏课后答案
  19. GBASE监控工具简介
  20. torch.optim 中的优化器

热门文章

  1. 关于小程序,他们这么看!
  2. 某服务器软件系统对可用性,某服务器软件系统对可用性(Availability)和性能(Performance)要求较高,()设计策略能提高该系统...
  3. 计算机还原桌面后黑屏,图文教您win7系统开机进入桌面后显示黑屏的恢复办法...
  4. 转:“让大家两年不买房”,真有意思啊!!
  5. 传统语音识别介绍【三】—— 声学模型
  6. 如何逐帧查看gif-利用Screen To Gif
  7. 卡方检验怎么检验模型拟合优度
  8. 《精通Android 5 多媒体开发》——第1章,第1.1节智能手机系统介绍
  9. 如何通过云计算加速游戏开发
  10. qemu rtl8139调试问题