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.]])
相关推荐
落樱弥城8 分钟前
角点特征:从传统算法到深度学习算法演进
人工智能·深度学习·算法
StarRocks_labs19 分钟前
StarRocks MCP Server 开源发布:为 AI 应用提供强大分析中枢
数据库·starrocks·人工智能·开源·olap·mcp
珂朵莉MM1 小时前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
ㄣ知冷煖★1 小时前
【论文阅读】A Survey on Multimodal Large Language Models
人工智能·语言模型·自然语言处理
视觉语言导航2 小时前
兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
人工智能·无人机·具身智能
墨绿色的摆渡人2 小时前
pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
人工智能·pytorch·python
moonsims2 小时前
低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端&地面端
人工智能·安全
若叶时代2 小时前
数据分析_Python
人工智能·python·数据分析
虾球xz2 小时前
游戏引擎学习第286天:开始解耦实体行为
c++·人工智能·学习·游戏引擎
武子康2 小时前
大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
人工智能·gpt·ai·语言模型·自然语言处理