首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

人工智能测试-NLP入门(1)

数学基础 标量 Scalar 一个标量就是一个单独数 向量 Vector 一个向量是一数 可以把向量看做空间中点,每个元素是不同坐标轴上坐标 向量中有几个数就叫几维向量 如4维向量:[1, 2,...= B*A 左矩阵行乘以右矩阵列,对位相乘再求和 矩阵转置(transpose),即行列互换 张量 tensor 将3个2×2矩阵排列在一起,就称为3×2×2张量 张量是神经网络训练中最为常见数据形式...as np import torch # 构造一个2行3矩阵 x = np.array([[1,2,3], [4,5,6]]) # 查看维度 print(x.ndim) # 形状 print(x.shape...) # 元素总数 print(x.size) # 元素和 print(np.sum(x)) # 求和 print(np.sum(x, axis=0)) # 求和 print(np.sum(x,...转换成2,-1表示自动推断出行数 print(x.view(-1,2)) 部分输出: 再看一个张量操作例子 导数

9210
您找到你想要的搜索结果了吗?
是的
没有找到

Python中numpy模块

下表是einsum函数三个例子: einsum(‘ij -> ji’, Mat) 矩阵Mat求转置并返回 einsum(‘ij -> i’, Mat) 矩阵Mat每行求和并返回 einsum(‘ij...-> j’, Mat) 矩阵Mat求和并返回 (二)np.add.at() input: [ndarray], [ndarray or list], [ndarray]; return: <...如果输入是一个向量,则返回只含有长度一个值元组。如果输入是一个矩阵,则返回行数数构成元组。如果输入张量,则返回行数数和层数构成元组。...如果输入是一个张量,则返回三个数构成元组,第一个数是一层占用内存大小,第二个数是一层中,一行占用内存大小,第三个数是每一个数占用内存大小。...如果是行向量加向量,系统会将行向量数临时扩充为向量行数,还会将向量行数临时扩充为行向量数,例子如下: a = np.array([1, 1]) b = np.array([[1], [

1.7K41

入门 | 这是一份文科生都能看懂线性代数简介

但到了一定程度后,当你希望更好地理解不同机器学习算法运作原理时,线性代数就很有用了,它可以帮助你在开发机器学习系统时更好地做决策。...淡黄色图中有一个矩阵例子:一个 2×3 矩阵 (行数×数)。下图中是另一个矩阵和对应表示形式。 ? 张量 三维张量是按照一定规律排列在方格中数组,其中一个变量数字表示轴。...张量有三个索引,其中第一个索引表示行,第二个索引表示,第三个索引表示轴。例如,V_232 指向第二行、第三、第二轴元素,在下图右边张量中表示 5。 ?...一个矩阵乘以一个向量,可以理解为矩阵一行乘以向量,运算结果会是一个向量,它行数和矩阵行数一样。下图展示了这是如何计算。...运算结果会是一个矩阵,行数和第一个矩阵行数相等,数和第二个矩阵数相等。计算方法如下: 你只需要将第二个矩阵分成向量,然后分别将第一个矩阵和每个向量相乘。

1.4K90

这是一份文科生都能看懂线性代数简介

但到了一定程度后,当你希望更好地理解不同机器学习算法运作原理时,线性代数就很有用了,它可以帮助你在开发机器学习系统时更好地做决策。...淡黄色图中有一个矩阵例子:一个 2×3 矩阵 (行数×数)。下图中是另一个矩阵和对应表示形式。 张量 三维张量是按照一定规律排列在方格中数组,其中一个变量数字表示轴。...张量有三个索引,其中第一个索引表示行,第二个索引表示,第三个索引表示轴。例如,V_232 指向第二行、第三、第二轴元素,在下图右边张量中表示 5。...矩阵和向量运算 一个矩阵乘以一个向量,可以理解为矩阵一行乘以向量,运算结果会是一个向量,它行数和矩阵行数一样。下图展示了这是如何计算。...注意,只有当第一个矩阵数和第二个矩阵行数相等时,才能把它们两个乘起来。运算结果会是一个矩阵,行数和第一个矩阵行数相等,数和第二个矩阵数相等。

1.4K100

深度学习线性代数基础

我们通常拥有由数千栋房屋组成数据集,每栋房屋都称为一个数据点。此时,我们要做就是将房屋向量堆叠起来,形成一个矩阵。每行代表一所房子,代表一个解释变量。...我们有 n 个房屋/示例,因此从逻辑上讲,我们应该将设计矩阵中一行与向量 W 相乘。为简洁起见,我们将考虑一个包含两个示例和三个解释变量简单示例: 矩阵和向量相乘将产生另一个向量。...不要忘记矩阵相乘,第一个矩阵数应该与第二个矩阵行数相同。...PyTorch 是众所周知深度学习库,张量(Tensor)起着至关重要作用。您可以将张量视为更高维矩阵,而 PyTorch 允许我们高效地它们执行数值运算。...为了表示隐藏层中四个神经元,我们将我们设计矩阵与一个四三行权重矩阵相乘;行数应等于输入维数,数应等于后续层中目标神经元数量。 剩下就是最终输出层。

84330

CNN卷积神经网络和反向传播

也就是说,对于隐藏层第j行第k神经元,它输出为: 其中σ是激活函数,b是共享偏置,Wl,m是共享权重5×5数组,用ax,y表示输入层第x行第y神经元输出值,即隐层第j行第...k神经元若干个输入。...2,CNN反向传播不同之处: 首先要注意是,一般神经网络中一层输入输出a,z都只是一个向量,而CNN中a,z是一个三维张量,即由若干个输入子矩阵组成。其次: 池化层没有激活函数。...池化层在前向传播时候,输入进行了压缩,那么我们向前反向推导上一层误差时,需要做upsample处理。...卷积层是通过张量卷积,或者说若干个矩阵卷积求和而得到当前层输出,这和一般网络直接进行矩阵乘法得到当前层输出不同。这样在卷积层反向传播时候,上一层误差递推计算方法肯定有所不同

95421

【干货】​深度学习中线性代数

张量(Tensor) 张量是一组数字,排列在一个规则网格上,具有不同数量轴。 张量有三个指标,第一个指向行,第二个指向,第三个指向轴。 例如,V232指向第二行,第三和第二个轴。...▌计算规则(Computational Rules) ---- ---- 1.矩阵标量运算(Matrix-Scalar Operations) 如果在矩阵基础上乘除或者加一个变量,就代表矩阵每一个元素进行数学运算...下图显示了乘法例子: ? 2.矩阵向量乘法(Matrix-Vector Multiplication) 将矩阵与矢量相乘可以被认为是将矩阵一行与矢量相乘。...请注意,如果第一个矩阵列数量与第二个矩阵行数量匹配,两个矩阵才能做乘法运算。 结果将是一个与第一个矩阵相同行数和与第二个矩阵相同矩阵。...因此,与单位矩阵相乘每个矩阵都等于它自己。例如,矩阵A乘以其单位矩阵等于A。 您可以通过以下事实来发现单位矩阵:它沿对角线为1,其他每个值都为零。它也是一个“方阵”,意思是它行数数相同。 ?

2.2K100

让向量、矩阵和张量求导更简洁些吧

本文主要内容是帮助你学习如何进行向量、矩阵以及高阶张量(三维及以上数组)求导。并一步步引导你来进行向量、矩阵和张量求导。...去掉求和符号表达式如下所示(下标从 1 开始): 在这个表达式中,我们专门把 凸显出来,这是因为这一项正是我们要求导项。显然,可以看出在求 偏导数时,我们只需要关心 这一项即可。...例如:数据矩阵 中包含非常多向量,每个向量代表一个输入,那到底是矩阵中一行代表一个输入,还是代表一个输入呢? 在第一节中,我们介绍示例中使用向量 是向量。...首先要做还是写出 表达式: 显然, 在 表达式中没有起到任何作用,因此, 同时, 中第 3 元素求导结果是非零,正如 表达式中展示那样。...因为 中每一个元素都只对 与中对应那一行求导, 与 不同行元素之间导数均为0。 还可以进一步看出,计算偏导数 与和 行没关系。

2K20

暑期追剧学AI (三) | 10分钟搞定机器学习数学思维:向量和它朋友们

我们可以把如图所示这个数据点x看成一个向量,一个向量就是一个一维数组,你可以把它看成一数值或者表中行数值,n个元素向量就是n维向量。...比向量大一点范畴是矩阵,矩阵是由数字组成矩形数组,向量则是矩阵中一行或者一,因此矩阵中一行都可以代表一个不同数据点,相应数值则是该数据点各个特征值。...这一切都是运用线性代数得到,代数基本就是在说关系,是未知数之间关系探索。线性代数基本意味着线性关系,它是矢量空间信息规整。...一个经过训练”单词向量”模型可以将“单词“转化成“向量”,然后我们可以对这些向量,进行数学计算。我们可以看出单词之间有多密切关系。...比如动物类型,单词之间关联关系也可以构造出来,比如,罗马对于意大利关系,和北京中国关系是一样

85850

【动手学深度学习】笔记一

(m,n) 创建一个全1m行n张量 torch.zeros(m,n,dtype=张量类型) 创建一个符合张量类型全0m行n张量 torch.eye(m,n) 生成一个m行n对角线为1,其他为...获取行数数 获取Tensor行数数 实现功能 name.size() 获取张量行数数,返回一个元组(m,n) name.shape() 同上 加法运算 加法运算 注释 name1+name2...函数 功能 name.view(-1,m) 将name这个Tensor转换为m张量行数根据数自动确定,-1是一种标志 name.view(n,-1) 将name这个Tensor转换为n行张量,...数根据行数自动确定,-1是一种标志 name.view(x,y) 将name这个m行n张量转换为x行y张量 因为上面的原因,所以可以用clone克隆一个副本,然后副本进行变换。...)机制 前面的运算都是针对形状相同Tensor,但当两个形状不同Tensor进行运算时,会触发广播( broadcasting )机制。

1K20

einsum is all you needed

有没有什么办法让这些张量运算公式稍微显得人类友好一些呢,能不能减少一些那种扭曲 \sum 求和符号呢? 小爱发现,求和导致维度收缩,因此求和符号操作指标总是只出现在公式一边。...这种只出现在张量公式一边下标被称之为哑指标,反之为自由指标。 小爱同学脑瓜子滴溜一转,反正这种只出现在一边哑指标一定是被求和求掉,干脆把对应 \sum 求和符号省略得了。...C_{ij} = A_{ik} B_{kj} 这个公式表达含义如下: C这个张量第i行第j由 A 这个张量第i行第k和 B 这个张量第k行第j相乘,这样得到是一个三维张量 D , 其元素为...D_{ikj} ,然后 D 在维度k上求和得到。...2,只出现在元素计算公式箭头左边指标叫做哑指标。 3,省略元素计算公式中哑指标的求和符号。

1.9K40

「深度学习」PyTorch笔记-01-基础知识

, 23, 25]]) In [31]: x.sum(axis=1) # 第(3-1)维求和,就是先“消灭”第二个维度,进行相加,即可消灭 Out[31]: tensor([[ 9, 12..., 15], [36, 39, 42]]) In [32]: x.sum(axis=2) # 第(3-2)维求和,就是先“消灭”第一个维度,一行进行相加,即可消灭 Out[32...(顾名思义,view仅仅是改变了这个张量观察角度,内部数据并未改变) 虽然.view()与.reshape()返回Tensor与源Tensor是共享data,但是依然是一个新Tensor(因为...然后我们就可以对z使用backward(),因为z是一个标量,backward()表示张量\mathbf{x}标量z梯度。...广播机制 当两个形状不同Tensor按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个Tensor形状相同后再按元素运算。

867150

全网最详细!油管1小时视频详解AlphaTensor矩阵乘法算法

基本思路:用加法换乘法 众所周知,矩阵乘法传统算法是:两个矩阵行列交换相乘,然后求和,作为新矩阵对应元素。其中涉及到大量加法和乘法运算。...同样以2*2矩阵为例,使用三维张量来表示 AB=C 矩阵乘法运算过程,其中左右维度()为A,上下维度(行)为B,前后维度(深)为C。 用{0,1}这个表示张量进行填充。...在张量表示后,可以通过矩阵「低秩分解」,设张量Tn为两个 n×n 矩阵相乘表示张量。将Tn分解为r个秩一项(rank-one term)外积。...因此,即使我们改变了矩阵基础,它在本质上仍然代表同样转换。 然而,对于这个算法来说,却不是这样。 有了不同数字,算法看起来就不同了,因为它是一种彼此转换。...总结一下:为了解决这些游戏,开始,我们矩阵是满,棋盘处于初始状态,然后就要考虑不同动作,一步动作都会包含更多动作,包括你对手可能考虑到动作。 这其实就是一个树搜索算法。

1.1K30

EIE结构与算法映射

随后使用修改过优化算法运行一定轮数训练,调整类聚中心值(权值从属关系不改变),具体过程参见Deep Compression论文,这里仅考虑结果,进行完量化后,一层权值张量变为一个同形状标号张量和一个解码表...标号张量标记每个位置元素属于类别,一般仅有25bit(即分为432类);解码表标记每个类别的数据,如下图所示: ? 现在考虑量化实现影响。原有的高精度权值张量(取 ?...随后考虑矩阵表示方法,CSC稀疏表示将矩阵视为一个向量进行压缩,都产生一个v向量和一个z向量,第i产生向量 ? 和 ? 向量长度和其他均可能不同。...将v向量按号依次连接,z向量按号依次连接,获得矩阵v和z向量,为了区分不同,额外引入u向量,u向量长度为数加1,表示v或z向量在矩阵v和z向量中位置,即第iv和z向量在矩阵...矩阵乘法计算目标为: ? 上图中,有a=8、b=8。权值矩阵第i行数据保存在标号为 ? PE中并由该PE负责计算。第i个PE所有权值行向量顺序堆叠组成一个新权值矩阵 ?

86720

Pandas知识点-统计运算函数

在Pandas中,数据获取逻辑是“先列后行”,所以max()默认返回最大值,axis参数默认为0,如果将axis参数设置为1,则返回结果是一行最大值,后面介绍其他统计运算函数同理。...根据DataFrame数据特点,数据属性相同,进行统计运算是有意义,而行数数据属性不一定相同,进行统计计算一般没有实际意义,极少使用,所以本文也不进行举例。...使用DataFrame数据调用mean()函数,返回结果为DataFrame中平均值,mean()与max()和min()不同是,不能计算字符串或object平均值,所以会自动将不能计算省略...使用DataFrame数据调用median()函数,返回结果为DataFrame中中位数,median()也不能计算字符串或object中位数,会自动将不能计算省略。 ?...累计求和是指,当前数据及其前面的所有数据求和。如索引1累计求和结果为索引0、索引1数值之和,索引2累计求和结果为索引0、索引1、索引2数值之和,以此类推。 ?

2.1K20

PyTorch入门笔记-gather选择函数

[x215h32ivd.png] 2D 张量可以看成矩阵,2D 张量第一个维度为矩阵行 (dim = 0),2D 张量第二个维度为矩阵 (dim = 1),从左向右依次看三个红色元素在矩阵中具体位置...如果按照从上到下来看三个红色元素,采集元素顺序和从前面从左向右看时候不同,此时采集元素顺序为 1, 5, 6,现在看看此时这三个红色元素在矩阵中具体位置: 1: 第 0 行第 1 5: 第...(行或) 进行索引传入 index 参数张量形状不同,在 gather 函数中规定: 传入 index 张量维度数要和输入张量 input 维度数相同; 输出张量形状和传入 index 张量形状相同...比如对于前面的 2D 张量行索引且一行只采集一个元素,则 index 在行上长度为 1,index 形状即为 (1 x 3); 接下来使用一个形状为 (3 x 5) 2D 张量来详细分析 gather...行第 4 如果想要使用 gather 函数采集元素,需要在 index 中指定 5 个行索引号,而只索引一个元素且在行上索引 (dim = 0),因此最终我们需要传入 index 张量形状为

3.5K30

深度学习:张量 介绍

向量是元素一维列表: 矩阵是向量二维列表: 下标表示(行,)。考虑矩阵另一种方式是用向量作为元素向量。请注意,它们通常用大写字母表示。...矩阵乘法 请记住,矩阵是向量集合。相同操作适用于向量,但在涉及行和时还有一些规则需要注意。...发生乘法唯一方法是第一个矩阵中行数与第二个矩阵中数匹配。...嗯,如前所述,二维点积主要是将向量彼此相乘。在三维中,重点是按矩阵相乘,然后这些矩阵中每个向量执行点积。 上图应该有助于解释这一点。将两个 3D 张量视为矩阵向量可能会有所帮助。...由于点积是通过按元素相乘然后求和来执行,因此首先发生事情是每个矩阵与其相应矩阵相乘。当这种情况发生时,矩阵乘法会导致矩阵中每个向量与其他向量执行点积。从某种意义上说,它就像一个嵌套点积。

20920
领券