pytorch 线性代数基本操作

pytorch是非常好的人工智能训练和推理框架,我们来通过李沐老师的《动手学深度学习》来简单学习一下。

首先,安装pytorch,请参考pytorch官网:PyTorch

也可以到kaggle、colab、启智社区等使用配置好的pytorch环境,更简单方便。

pytorch基本操作

导入并进行标量计算

复制代码
import torch

x = torch.tensor(3.0)
y = torch.tensor(2.0)

x + y, x * y, x / y, x**y

输出:

复制代码
(tensor(5.), tensor(6.), tensor(1.5000), tensor(9.))

向量操作

可以通过索引访问内部元素

复制代码
x = torch.arange(4)
x
复制代码
tensor([0, 1, 2, 3])
复制代码
x[3]
复制代码
tensor(3)

矩阵操作

复制代码
A = torch.arange(20).reshape(5, 4)
A
复制代码
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15],
        [16, 17, 18, 19]])

也可以使用torch.randn生成随机矩阵

复制代码
A = torch.randn((5, 4))

张量操作

多维矩阵就是张量,AI训练主要就是张量的计算,也就是我们常说的3D、4D数据。

复制代码
X = torch.arange(24).reshape(2, 3, 4)
X
复制代码
tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11]],

        [[12, 13, 14, 15],
         [16, 17, 18, 19],
         [20, 21, 22, 23]]])

张量的加法就是同样位置的元素相加

复制代码
A = torch.arange(20, dtype=torch.float32).reshape(5, 4)
B = A.clone()  # 通过分配新内存,将A的一个副本分配给B
A, A + B
复制代码
(tensor([[ 0.,  1.,  2.,  3.],
         [ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.],
         [12., 13., 14., 15.],
         [16., 17., 18., 19.]]),
 tensor([[ 0.,  2.,  4.,  6.],
         [ 8., 10., 12., 14.],
         [16., 18., 20., 22.],
         [24., 26., 28., 30.],
         [32., 34., 36., 38.]]))

张量的同样位置相乘,叫哈达玛乘

复制代码
A * B
复制代码
tensor([[  0.,   1.,   4.,   9.],
        [ 16.,  25.,  36.,  49.],
        [ 64.,  81., 100., 121.],
        [144., 169., 196., 225.],
        [256., 289., 324., 361.]])
相关推荐
新智元7 分钟前
AI 教父 Hinton 末日警告!你必须失业,AI 万亿泡沫豪赌才能「赢」
人工智能·openai
新智元12 分钟前
CUDA 再见了!寒武纪亮出软件全家桶
人工智能·openai
oe101918 分钟前
好文与笔记分享 A Survey of Context Engineering for Large Language Models(下)
人工智能·笔记·语言模型·agent
有为少年19 分钟前
告别乱码:OpenCV 中文路径(Unicode)读写的解决方案
人工智能·opencv·计算机视觉
FreeCode1 小时前
LangChain1.0智能体开发:模型使用
人工智能·langchain·agent
张较瘦_1 小时前
[论文阅读] AI+ | 从 “刚性科层” 到 “智能协同”:一文读懂 AI 应对国家安全风险的核心逻辑
论文阅读·人工智能
anscos1 小时前
庭田科技亮相成都复材盛会,以仿真技术赋能产业革新
大数据·人工智能·科技
阿里云大数据AI技术1 小时前
PAI Physical AI Notebook 详解 1:基于 Isaac 仿真的操作动作数据扩增与模仿学习
人工智能
该用户已不存在1 小时前
Vibe Coding 入门指南:从想法到产品的完整路径
前端·人工智能·后端
一只鹿鹿鹿1 小时前
系统安全设计方案书(Word)
开发语言·人工智能·web安全·需求分析·软件系统