沐神深度学习笔记3

一.创建数据结构

              例子:

              代码:X = torch.arange(24).reshape(2,3,4)

              

从结果中不难看出,创建了一个三维的,x,y,z轴为3,4,2的三维矩阵。(或是两个3*4的矩阵)。

二.元素求和及运算

                例子:

                

可以看到这是一个5*4的矩阵,接下来我们用sum函数。

得到结果:tensor(190)

而使用sum(axis=0,1)分别得到tensor([40,45,50,55])和tensor([ 6, 22, 38, 54, 70])

这说明,只用sum()会把所有元素求和获得一个标量,而运用axis可以把张量以特定维度求和获得小一维度的张量。

维度求和的顺序与reshape函数中相同,即如reshape(2,5,4)则axis=0时留下size(5,4)

axis=1时,是(2,4),axis=2时,是(2,5)

A.T表示A的转置

numel()表示元素个数,mean()表示元素均值,这两个函数也可用axis来计算各个维度数值。

三.其他

在上面我们看到,元素的求和会导致张量维度缩小,此时我们可以用keepims=True来避免维度减少:

          

可以看到,A在以列为单位求和后,还是保持了列的维度。

这样,就可以利用广播机制来让A进行(A/A的和 )等操作了

           

dot()函数可以对张量进行点积,即x*y再元素求和

矩阵-向量积

      

在此处注意了,这个tersor中列向量与行向量表示相同的,所以在上面的x中表示的是列向量,即5*4的矩阵✖4*1的矩阵得到5*1的矩阵,没有错误。

四.范数,此处主要讲L2范数

定义:线性代数中最有用的一些运算符是范数(norm)。 非正式地说,向量的范数是表示一个向量有多大。 这里考虑的大小(size)概念不涉及维度,而是分量的大小。

L2范数(针对向量):

 torch中使用norm()函数

例子:

          F范数(针对矩阵):

          L1范数:

 五.对于特定轴求和

shape:[5,4] axis:[0,1]aixs求和相当于消去axis对应的维度的向量。

当使用keepims保存维度时例如X=[2,5,4]在axis=1求和时,保留结果为size=[2,1,4]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值