tensor多维向量的简单理解
tensor是Tensorflow中最基础的数据结构,常常翻译为张量,可以理解为n维数组或矩阵,相关函数:
constant(value, dtype=None, shape=None, name='Const', verify_shape=False)
三维方向定义,适用于2维和3维
0、零维张量
import tensorflow as tf#零维张量
const0 = tf.constant(1, tf.float16)
print(const0)
运行结果:
Tensor("Const:0", shape=(), dtype=float16)
1、一维张量
#一维张量,长度为4
const1 = tf.constant([1, 2, 3, 4], tf.float16)
print(const1)
运行结果:
Tensor("Const_1:0", shape=(4,), dtype=float16)
几何表示:
一维张量没有行和列的概念,只有长度的概念。上述的const1
就是长度为4的一维张量,或者称为向量。
上面的图仅为示意,代表一维张量只有axis=0
这个方向,并不是指这是一个4行的向量。事实上,tensorflow
在做一些运算时,反而经常把1行N列的二维张量简化成一个长度为N的一维向量。
2、二维张量
#二维张量,3行4列
const2 = tf.constant([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]], tf.float16)
print(const2)
运行结果:
Tensor("Const_2:0", shape=(3, 4), dtype=float16)
几何表示:
3、三维张量
#三维张量,3行4列深度为2的张量
const3 = tf.constant([[[ 1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]], tf.float16)
print(const3)
运行结果:
Tensor("Const_3:0", shape=(3, 4, 2), dtype=float16)
几何表示:
4、四维张量(图像仅用于理解,坐标系axis已经不再适用)
#四维张量
const4 = tf.constant([#第一个3行4列深度为2的三维张量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]],#第二个3行4列深度为2的三维张量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]]], tf.float16)
print(const4)
运行结果:
Tensor("Const_4:0", shape=(2, 3, 4, 2), dtype=float16)
几何表示:
这个图上的axis不对,行应为axis=1,以此类推
如何判断一个张量的batch数、行、列、深度:
const4 = tf.constant([#第一个3行4列深度为2的三维张量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]],#第二个3行4列深度为2的三维张量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]]], tf.float16)
从左边开始数连续[
的数量,最多有X个[
说明是X维张量。上面的例子就是4维张量。
以三维以上的张量为例:
从左边开始数连续的[
,最后一个[
对应的]
中一共两个元素,分别为1, 2,说明深度为2。
接下来向左边数上一级[
对应的]
中一共有4个元素[1, 2], [ 3, 4], [ 5, 6], [ 7, 8],说明列为4。
同理继续数上一级,得到3行,2个batch。
小结:
shape属性中的元素大于等于3时,可以用3维空间来理解。
shape=(3, 4, 2)时,表示3行4列深度为2的张量
shape=(2, 3, 4, 2)时,表示有2个 3行4列深度为2的张量
shape=(6, 2, 3, 4, 2)时,表示有6个四维张量,这个四维张量又可以表示为2个 3行4列深度为2的张量。
shape中的属性分别与axis=0
,axis=1
、axis=2
、axis=3
……对应,以此类推。当维度超过3时,上图几何中的坐标系表示就已经错误了。但是对于理解多维是有帮助的。
作者:X_xxieRiemann
链接:https://www.jianshu.com/p/f34457c222c5
来源:简书
tensor多维向量的简单理解相关推荐
- 06_2_Pytorch的基础数据类型、CPU tensor类型和GPU tensor类型、判断数据类型、CPU或GPU张量之间的转换、数据类型转换、1-4维向量、Tensor张量、Variable等
1.6.2.Pytorch的基础数据类型 1.6.2.1.Torch定义了的七种CPU tensor类型和八种GPU tensor类型 1.6.2.2.基础数据类型 1.6.2.3.Pytorch数据 ...
- 人工智能:深度学习算法及应用——简单理解CNN卷积神经网络并python实现(带源码)
深度学习算法及应用 一. 实验目的 二. 实验要求 三. 实验的硬件.软件平台 四. 实验原理 1.1. 深度学习概述 1.2. 深度学习的常见结构 1.3. 卷积神经网络(CNN) **卷积** * ...
- 基线系统需要受到更多关注:基于词向量的简单模型 | ACL 2018论文解读
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- 词向量、句子向量、篇章向量的一些理解(转)
2019独角兽企业重金招聘Python工程师标准>>> 词向量.句子向量.篇章向量的一些理解(转) (转自)http://blog.csdn.net/sinat_26917383/a ...
- SVM核函数的简单理解
该篇文章摘自知乎,主要为了帮助自己学习 An Intuitive Explanation of Kernels in Support Vector Machine (SVM) towardsdatas ...
- 点在直线的投影坐标 n维向量投影坐标 几何投影坐标
点在直线的投影坐标 n维向量投影坐标 几何投影坐标 [转载请注明出处]http://blog.csdn.net/guyuealian/article/details/53954005 一.点在直线的 ...
- svm 支持向量机 回归 预测_机器学习:简单理解支持向量机SVM
在介绍过贝叶斯之后,今天尝试着给大家介绍支持向量机SVM. 在机器学习中,SVM试图找到一个最佳的超平面,该平面可以最佳地分割来自不同类别的观察结果.一个在N-1维的超平面可以分割Ñ维的特征空间.例如 ...
- 教你简单理解分布式与传统单体架构的区别
教你简单理解分布式与传统单体架构的区别 原文:教你简单理解分布式与传统单体架构的区别 分布式是一种系统架构方式,而在分布式系统中一般基于中间件进行开发,消息中间件是分布式系统中比较核心的中间件之一.这 ...
- 03 ,n 维向量,向量运算,向量组,向量组的线性组合,基,张成空间,向量组的线性相关性 :
1 ,n 维向量 : 列向量 行向量 : 列向量与行向量的关系 : 一回事 2 ,向量运算 : 加法运算 运算 3 ,向量运算 : 数乘运算 运算 4 ,向量组 : 定义 : 若干个同维数的向量组成的 ...
最新文章
- C#获取摄像头拍照显示图像
- mysql xa 演示_mysql的XA事务恢复过程详解
- multiprocessing(python 版)
- 如何通过git客户端上传项目到github上
- 汽车车载诊断基础知识
- 数字水印技术 概念 应用及现状
- 目标客户画像_4 种类型 + 10 大步骤,详解用户画像
- ffmpeg 中av_rescale_rnd 的含义
- c++实验3——个人税收计算器
- Adobe flash player ActiveX、NPAPI、PPAPI 的区别
- 学生党白嫖服务器-不会吧不会吧,你还在买学生机吗?
- 自上而下 or 自下而上?企业部署RPA的2种策略
- 【开源编码分享】Python古三式∶太乙神数丶奇门遁甲丶大六壬
- 【全栈开发实战小草看书之Web端(一)开发环境】
- untiy Resorces目录动态加载资源
- 关于pbootcms中被挂马以后的处理
- 史上最简单的软件破解——5行脚本代码完美破解99%的过期软件
- RTB 广告投放流程详解
- docker push: retrying in 5 seconds... keep doing this
- 通达oa php_PHP的版本选择 discuz x3.2 php版本 通达oa php版本 最新版