深度学习之线性代数

这里主要介绍一些张量的计算,如求和,转置等
标量运算

import torch
x=torch.tensor(3.0)
y=torch.tensor(4.0)
print(x*y,x+y,x-y,x**y,x/y)#这种单一元素(标量)可以进行各种四则运算等
print(x.shape)

在这里插入图片描述
矩阵转置

import torch
x=torch.arange(20).reshape(5,4)
print(x)
print(x.t())#矩阵转置
B = torch.tensor([[1, 2, 3], [2, 0, 4], [3, 4, 5]])
print(B)
print(B==B.t())#对称矩阵转置后与原矩阵相同

在这里插入图片描述
关于python中的赋值,其只是将地址赋给了某个变量,当其改变时,会一同改变,可使用y=x.clone()来重新生成数据

#降维
import torch
A = torch.arange(12, dtype=torch.float32).reshape(3,4)
A_sum_axis0 = A.sum([1])#0为按列求和,1为按行求和,[0,1]为全部,此时即实现了降维
print(A,A_sum_axis0, A_sum_axis0.shape)
A = torch.arange(24, dtype=torch.float32).reshape(2,3,4)
sum_A = A.sum(1)#3维时则丢掉了一个变为一个维度,即丢失行维度,同理,0为丢失第一个,2为第三个
print(A_sum_axis0)
print(A)

在这里插入图片描述
keepdims会将维度不降而变成一
在这里插入图片描述

累加求和

import torch
A = torch.arange(12, dtype=torch.float32).reshape(3,4)
A_sum_axis0=A.cumsum(0)
print(A)
print(A_sum_axis0)

在这里插入图片描述

import torch
y = torch.ones(4, dtype = torch.float32)
print(y)
print(torch.dot(y,y))#向量点积
y = torch.ones(4, dtype = torch.float32)
x=torch.arange(12,dtype = torch.float32).reshape(3,4)
print(torch.mv(x,y))#向量*矩阵
B = torch.ones(4, 3)
print(torch.mm(x, B))#矩阵*矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭祥.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值