美文网首页
DL4J中文文档/ND4J/张量

DL4J中文文档/ND4J/张量

作者: hello风一样的男子 | 来源:发表于2019-01-26 13:29 被阅读0次

张量& ND4J

一个向量,即我们输入神经网络的数字列,一个更通用的数学结构的子类,称为张量。张量是多维数组。
你已经熟悉了由行和列组成的矩阵:行沿Y轴延伸,列沿X轴延伸。每个轴都是一个维度。张量有额外的维度。

张量也有一个所谓的rank:一个标量或单个数的rank为0;一个向量的rank为1;一个矩阵的rank为2;rank为3及以上的实体都简单地称为张量。

把标量看作一个点,把向量看作一条线,把矩阵看作一个平面,把张量看成三维或三维以上的物体,可能会有所帮助。矩阵有行和列,是二维的,因此rank为2。三维张量,例如我们用来表示彩色图像的张量,有通道、行和列,因此rank为3。

张量是一个具有多个维度的数学对象,它有一个形状,我们通过将张量视为N维数组来指定该形状。

使用ND4J,我们通过创建一个新的nd数组并将数据、形状和顺序作为其参数来实现这一点。在伪代码中,这将是

nd4j.createArray(data, shape, order)

image.gif

真实的代码,这行为

INDArray arr = Nd4j.create(new float[]{1,2,3,4},new int[]{2,2},'c');

image.gif

创建一个包含四个元素的数组,四个元素的形状是2乘2,其顺序是“行优先”或“行优先”,C为默认值。(相比之下,Fortran使用“列优先”顺序,并且可以用“f”作为第三个参数指定)。对于上面创建的数组,两个顺序之间的区别最好加以说明,表格如下:

Row-major (C) Column-major (Fortran)
[1,2] [1,3]
[3,4] [2,4]

一旦我们创建了一个N维数组,我们可能就需要处理它的切片。我们可以简单地“查看”多维切片,而不是复制数据,这个开销很大。数组“a”的切片可以这样定义:

a[0:5,3:4,6:7]

image.gif

它将为你提供前5个通道,第3行到第4行,第6列到第7列,等等,用于n维度,每个维度的切片从冒号之前开始,在冒号之后结束。

线性缓冲器

现在,虽然把矩阵想象成二维平面和三维张量是立方体积是很有用的,但是我们将所有张量存储为线性缓冲区。也就是说,它们都被展平成一行数字。
对于这个线性缓冲区,我们指定了一个叫做步幅(跨步)的东西。步幅告诉计算层如何解释扁平表示。它是你在缓冲区中跳过以到达下一个通道、行或列的元素数。每个维度都有一个跨步。
下面是一个简短的视频,总结了如何将张量转换为nd4j的线性字节缓冲区。

https://youtu.be/EHHtyRKQIJ0

其他资源和定义

张量这个词来源于拉丁语tendere,或“to stretch”;因此,张量与拉伸器有关。张量于1915年由德国引入英国,1898年由沃尔德马尔·沃伊特创造。数学对象被称为张量,因为这个概念的早期应用是拉伸材料的研究。

张量是标量(没有索引)、向量(只有一个索引)和矩阵(只有两个索引)到任意数量索引的推广。

张量:一种类似于向量但比向量更为通用的数学对象,由空间坐标函数的一组分量表示。

image.gif

相关文章

  • DL4J中文文档/ND4J/张量

    张量& ND4J 一个向量,即我们输入神经网络的数字列,一个更通用的数学结构的子类,称为张量。张量是多维数组。你已...

  • DL4J中文文档/ND4J/语法

    有关完整的ND4J API索引,请参考javadoc。 ND4J中使用了三种类型的操作:标量、转换和累加。我们将使...

  • DL4J中文文档/ND4J/概述

    本用户指南旨在解释(并提供示例)ND4J中的主要功能。 简介NDArrays:它们在内存中是如何存储的?视图:当两...

  • DL4J中文文档/ND4J/矩阵操作

    在学习nd4j的过程中,还有其他一些基本的矩阵操作要突出显示。(示例代码) 转置 矩阵的转置是它的镜像。矩阵A第1...

  • DL4J中文文档/ND4J/元素操作

    元素操作比矢量操作更直观,因为一个矩阵的元素清楚地映射到另一个矩阵上,为了获得结果,你只需要执行一个算术操作。(示...

  • DL4J中文文档/ND4J/基本用法

    介绍 线性代数的基本运算是矩阵的生成、加法和乘法。本指南将向你展示如何使用ND4J以及各种高级转换执行这些操作。 ...

  • 标量、向量、矩阵和张量

    标量、向量、矩阵和张量 通俗易懂说“张量” PyTorch中文文档 新一代人工智能发展规划

  • DL4J中文文档/目录

    Arbiter(阿比特)概述层空间参数空间 DataVec概述记录降维概要系列化转换分析读取器条件执行器过滤器运算...

  • Pytorch的基本使用

    本篇内容参考官方文档自己总结而来仅供自学自查,详细需求请查阅官方文档。 数据类型 张量(Tnsor) 什么是张量?...

  • [PyTorch中文文档]-Package参考-torch-张量

    torch.is_tensor 如果obj是tensor的话返回true,否则返回false。 对应的另一个方法是...

网友评论

      本文标题:DL4J中文文档/ND4J/张量

      本文链接:https://www.haomeiwen.com/subject/mqrijqtx.html