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.]])
相关推荐
凯禾瑞华养老实训室36 分钟前
人才教育导向下:老年生活照护实训室助力提升学生老年照护服务能力
人工智能
湫兮之风2 小时前
Opencv: cv::LUT()深入解析图像块快速查表变换
人工智能·opencv·计算机视觉
Christo32 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
qq_508823402 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
黑金IT3 小时前
`.cursorrules` 与 `.cursorcontext`:Cursor AI 编程助手时代下的“双轨配置”指南
人工智能
dlraba8023 小时前
基于 OpenCV 的信用卡数字识别:从原理到实现
人工智能·opencv·计算机视觉
IMER SIMPLE4 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
小憩-5 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
却道天凉_好个秋6 小时前
深度学习(二):神经元与神经网络
人工智能·神经网络·计算机视觉·神经元
UQI-LIUWJ6 小时前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习