【代码pycharm】动手学深度学习v2-05 线性代数

课程链接-05 线性代数

可以先看完特定轴求和再去看p2

python 复制代码
import torch
x=torch.tensor([3.0])
y=torch.tensor([2.0])
#标量
print('1.标量只有一个元素:\n',x+y,x*y,x/y,x**y)
x2=torch.arange(4)
#向量
print('2.向量视为标量值组成的列表:\n',x2)
print('3.访问张量元素,长度,形状:\n',x2[3],len(x2),x2.shape)
# 矩阵
A=torch.arange(20).reshape(5,4)
print('4.创建矩阵:\n',A)
print('5.矩阵的转置:\n',A.T)
#矩阵计算
A2=torch.arange(20,dtype=torch.float32).reshape(5,4)
B2=A2.clone()# 通过分配新内存,将A的一个副本分配给B
print('6.矩阵相加\n',A2+B2)# 矩阵相加
print('7.矩阵相乘:\n',A2*B2)# 矩阵相乘
#矩阵和标量计算
a3=2
X3=torch.arange(24).reshape(2,3,4)
print('8.标量+矩阵:\n',a3+X3)
print('9.标量*矩阵:\n',a3*X3)
#矩阵求和
A3=torch.arange(40).reshape(2,5,4)
print('10.矩阵求和:\n',A3,A3.sum())

A3_sum_axis0=A3.sum(axis=0)# 沿着 axis0 的方向进行求和
print('11.沿着 axis0 的方向进行求和\n',A3_sum_axis0,A3_sum_axis0.shape)
A3_sum_axis1=A3.sum(axis=1)# 沿着axis1的方向进行求和
print('12.沿着 axis1 的方向进行求和\n',A3_sum_axis1,A3_sum_axis1.shape)
A3_sum_axis01=A3.sum(axis=[0,1])# 沿着两个方向求和
print('13.沿着两个方向进行求和\n',A3_sum_axis01,A3_sum_axis01.shape)


#求均值
A4=torch.arange(20,dtype=torch.float32).reshape(5,4)
print('14.求均值\n',A4.mean(dtype=float))
print('15.求均值\n',A4.mean(axis=0,dtype=float))

#保持维度不变,方便使用广播机制
sum_A4=A.sum(axis=1,keepdims=True)
print('16.保持维度不变\n',sum_A4)
print('17.某个轴的累积总和\n',A4.cumsum(axis=0))

#向量的点积
X5=torch.arange(4,dtype=torch.float32)
Y5=torch.ones(4,dtype=torch.float32)
print('18.向量的点积\n',torch.dot(X5,Y5))

#矩阵和向量的乘积
print('19.矩阵和向量的乘积\n',torch.mv(A4,X5))
#矩阵和矩阵的乘积
B=torch.ones(4,3)
print('20.矩阵和矩阵的乘积\n',torch.mm(A4,B))

#向量范数
# L2范数:所有元素平方求和开根号
u=torch.tensor([3.0,-4.0])
print('21.L2范数\n',torch.norm(u))
# L1范数:每个元素的绝对值求和
print('22.L1范数\n',torch.abs(u).sum())
#矩阵范数
# F范数:每个矩阵元素的平方求和开根号
k=torch.ones(4,9)
print('23.F范数\n',torch.norm(k))

运行结果


相关推荐
老歌老听老掉牙5 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
hyshhhh6 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
Listennnn7 小时前
优雅的理解神经网络中的“分段线性单元”,解剖前向和反向传播
人工智能·深度学习·神经网络
牙牙要健康9 小时前
【目标检测】【深度学习】【Pytorch版本】YOLOV3模型算法详解
pytorch·深度学习·目标检测
呵呵哒( ̄▽ ̄)"9 小时前
线性代数:公共解
线性代数
Scc_hy9 小时前
强化学习_Paper_1988_Learning to predict by the methods of temporal differences
人工智能·深度学习·算法
誉鏐10 小时前
从零开始设计Transformer模型(1/2)——剥离RNN,保留Attention
人工智能·深度学习·transformer
神经星星10 小时前
无需预对齐即可消除批次效应,东京大学团队开发深度学习框架STAIG,揭示肿瘤微环境中的详细基因信息
人工智能·深度学习·机器学习
呵呵哒( ̄▽ ̄)"10 小时前
线性代数:同解(1)
python·线性代数·机器学习
SweetCode10 小时前
裴蜀定理:整数解的奥秘
数据结构·python·线性代数·算法·机器学习