PyTorch学习笔记(二):PyTorch简介与基础知识

简介: 概念:由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库优势:简洁、上手快、具有良好的文档和社区支持、项目开源、支持代码调试、丰富的扩展库

1. PyTorch简介


概念:由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库

优势:简洁、上手快、具有良好的文档和社区支持、项目开源、支持代码调试、丰富的扩展库


2 PyTorch基础知识


2.1张量

分类:0维张量(标量)、1维张量(向量)、2维张量(矩阵)、3维张量(时间序列)、4维张量(图像)、5维张量(视频)

概念:一个数据容器,可以包含数据、字符串等

import torch
# 创建tensor
x = torch.rand(4, 3)
print(x)
# 构造数据类型为long,数据是0的矩阵
x = torch.zeros(4, 3, dtype=torch.long)
print(x)
tensor([[0.9515, 0.6332, 0.8228],
        [0.3508, 0.0493, 0.7606],
        [0.7326, 0.7003, 0.1925],
        [0.1172, 0.8946, 0.9501]])
tensor([[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])

常见的构造Tensor的函数:


函数 功能

Tensor(*sizes) 基础构造函数

tensor(data) 类似于np.array

ones(*sizes) 全1

zeros(*sizes) 全0

eye(*sizes) 对角为1,其余为0

arange(s,e,step) 从s到e,步长为step

linspace(s,e,steps) 从s到e,均匀分成step份

rand/randn(*sizes) rand是[0,1)均匀分布;randn是服从N(0,1)的正态分布

normal(mean,std) 正态分布(均值为mean,标准差是std)

randperm(m) 随机排列

操作:


使用索引表示的变量与原数据共享内存,即修改其中一个,另一个也会被修改

使用torch.view改变tensor的大小

广播机制:当对两个形状不同的Tensor按元素运算时,可能会触发广播(broadcasting)机制

# 使用view改变张量的大小
x = torch.randn(5, 4)
y = x.view(20)
z = x.view(-1, 5) # -1是指这一维的维数由其他维度决定
print(x.size(), y.size(), z.size())
torch.Size([5, 4]) torch.Size([20]) torch.Size([4, 5]) 
x = tensor([[1, 2]])
y = tensor([[1],
        [2],
        [3]])
x + y = tensor([[2, 3],
        [3, 4],
        [4, 5]])
目录
相关文章
|
3月前
|
机器学习/深度学习 算法 PyTorch
PyTorch 人工智能基础知识:6~8
PyTorch 人工智能基础知识:6~8
122 0
|
3月前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch 人工智能基础知识:1~5
PyTorch 人工智能基础知识:1~5
45 0
|
8月前
|
数据采集 PyTorch 数据处理
Pytorch学习笔记(3):图像的预处理(transforms)
Pytorch学习笔记(3):图像的预处理(transforms)
410 1
Pytorch学习笔记(3):图像的预处理(transforms)
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch学习笔记(1):基本概念、安装、张量操作、逻辑回归
Pytorch学习笔记(1):基本概念、安装、张量操作、逻辑回归
148 0
Pytorch学习笔记(1):基本概念、安装、张量操作、逻辑回归
|
8月前
|
PyTorch 算法框架/工具 索引
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
394 0
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
|
8月前
|
机器学习/深度学习 缓存 监控
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
336 0
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
|
3月前
|
机器学习/深度学习 算法 PyTorch
Pytorch学习笔记(1)
PyTorch是一个基于Python的开源机器学习库,广泛应用于深度学习和人工智能领域。它提供了丰富的工具和函数,方便我们构建、训练和部署神经网络模型。 本文将围绕以下几个关键主题展开: 张量(Tensors):PyTorch中的数据基本单位。 自动求导(Automatic Differentiation):PyTorch中的自动求导机制。 神经网络的构建和训练:使用PyTorch构建和训练神经网络的基本步骤。
|
8月前
|
数据采集 机器学习/深度学习 PyTorch
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
163 0
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
|
8月前
|
存储 PyTorch 算法框架/工具
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
76 0
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
|
8月前
|
存储 机器学习/深度学习 PyTorch
Pytorch学习笔记(9)模型的保存与加载、模型微调、GPU使用
Pytorch学习笔记(9)模型的保存与加载、模型微调、GPU使用
430 0
Pytorch学习笔记(9)模型的保存与加载、模型微调、GPU使用