张量==容器

张量是现代机器学习的基础,他的核心是一个容器,多数情况下,它包含数字,因此可以将它看成一个数字的水桶。

张量有很多中形式,首先让我们来看最基本的形式。从0维到5维的形式

0维张量/标量:装在水桶中的每个数字称为“标量”。标量就是一个数字。

1维张量/标量:数组,一维张量,也被视为“向量",可以把向量视为一个单列或者单行的数字。

2维张量:矩阵。典型的例子就是邮件列表,比如我们有10000个人,每个人都有7个特征(名字,性别,城市等等),张量具有形状,形状是一个水桶,既装着我们数据也定义了张量的最大尺寸。

我们就可以将数据放进二维张量,它是(10000,7),其中行列可以进行调整。

3维张量:这个时候张量才变的有用。我们需要将一系列二维张量存放在水桶中,就形成了3维张量

一个三维张量有三个坐标轴,可以看到:x.ndim 输出为3,我们再看邮件列表,现在我们有10个邮件列表,我们将存储2维张量在另一个水桶中创建一个3维张量,

(number_of_mailings_lists,number_of_people,number_of_charactistics_per_person)(10,10000,7)

因此,3维张量就是一个数字构成 的立方体。

存储在张量数据中的公式,在这里有一些存储在各种张量 的公用数据集类型:

3维=时间序列

4维=图像

5维=视频

几乎所有的张量的共同之处是样本量,样本量是集合中元素的数量。它可以是一些图像,一些视频,一些文件或者一些推特。

通常,真实的数据至少是一个数据量。

把形状里不同维度看成字段,我们找到一个字段的最小值来描述数据。

pytorch之张量的理解的更多相关文章

  1. Pytorch 中张量的理解

    张量是一棵树 长久以来,张量和其中维度的概念把我搞的晕头转向. 一维的张量是数组,二维的张量是矩阵,这也很有道理. 但是给一个二维张量,让我算出它每一行的和,应该用 sum(dim=0) 还是 sum ...

  2. tensorflow中张量的理解

    自己通过网上查询的有关张量的解释,稍作整理. TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中 ...

  3. pytorch lstm crf 代码理解 重点

    好久没有写博客了,这一次就将最近看的pytorch 教程中的lstm+crf的一些心得与困惑记录下来. 原文 PyTorch Tutorials 参考了很多其他大神的博客,https://blog.c ...

  4. pytorch lstm crf 代码理解

    好久没有写博客了,这一次就将最近看的pytorch 教程中的lstm+crf的一些心得与困惑记录下来. 原文 PyTorch Tutorials 参考了很多其他大神的博客,https://blog.c ...

  5. Pytorch的LSTM的理解

    class torch.nn.LSTM(*args, **kwargs) 参数列表 input_size:x的特征维度 hidden_size:隐藏层的特征维度 num_layers:lstm隐层的层 ...

  6. 【pytorch】pytorch-backward()的理解

    pytorch-backword函数的理解 函数:\(tensor.backward(params)\) 这个params的维度一定要和tensor的一致,因为tensor如果是一个向量y = [y1 ...

  7. Pytorch的gather用法理解

    先放一张表,可以看成是二维数组 行(列)索引 索引0 索引1 索引2 索引3 索引0 0 1 2 3 索引1 4 5 6 7 索引2 8 9 10 11 索引3 12 13 14 15 看一下下面例子 ...

  8. PyTorch 实战-张量

    Numpy 是一个非常好的框架,但是不能用 GPU 来进行数据运算. Numpy is a great framework, but it cannot utilize GPUs to acceler ...

  9. PyTorch 如何理解张量:一维张量、二维张量、行/列向量、矩阵

    理解张量,并将张量与线性代数的知识连接起来,我认为最重要的是理解 tensor 的两个属性:shape 和 ndim . ndim 表示张量的维度,一维张量的 ndim 值为 1,二维张量的 ndim ...

随机推荐

  1. sql server 合并字段

    合并字段用+号连接就可以了,不过要判断是不是有的合并项为NULL.如果其中一项为NULL,则整个合并字段为NULL. (IsNull(a.supplier, '')  + IsNull(a.po, ' ...

  2. git切换远程仓库地址

    $ git remote  -vorigin  http://192.168.1.100/aaa/Project.git (fetch)origin  http://192.168.1.100/aaa ...

  3. Java程序的第一次作业

  4. OSPFV3综合实验 (第三组)

    拓扑图 本次试验规划:拓扑分4个区域,其中区域2采用帧中继实现区域内互通的前提下配置OSPF.ospfv3.R7与R8之间配置rip实现互通,区域1作为nssa区域,实现路由注入.最终实现全局互通. ...

  5. iOS 12 tabbar 从二级页面返回时,出现跳动解决办法

    APP push一个界面,返回的时候,tabBar上的图标和文字出现一个从上往下的神奇动画 经过测试发现,如果使用系统OS12.1 UINavigationController + UITabBarC ...

  6. [UE4]插值interp

    插值 在两个数之间补充一些数,让过渡变得更自然. UE4引擎提供的插值 一.CInterp To:颜色(Color)插值.C:Color,颜色. 二.FInterp To.FInterp To Con ...

  7. 软件推荐----RDO(Remote Desktop Organizer)

    平时工作,经常使用远程桌面控制,在多个远程之间切换.使用上Remote Desktop Organizer方便很多.类似的软件很多,此软件只能应用于windows的远程桌面控制,好处如下: 可以保存用 ...

  8. Win8 & WP8.1 轻型数据库

    自Win8 和 WP8.1 以来,MS把SQL CE去掉了.为了方便自己的APP升级,减少代码改动量,所以写了个小型的数据库管理,参考WP8.1之前的DataContext. 用时较短,花了几天的时间 ...

  9. mysql集群搭建--韩国庆

    按照我给大家提供的步骤,一步一步来,你就能配好mysql集群环境 什么是mycat 简单的说,MyCAT就是: •一个彻底开源的,面向企业应用开发的“大数据库集群” •支持事务.ACID.可以替代My ...

  10. Jquery 正则式验证

    // 验证中文名称 function isChinaName(name) { var pattern = /^[\u4E00-\u9FA5]{1,6}$/; return pattern.test(n ...