Pytorch简明教程01


01 Pytorch基础知识

主要介绍pytorch中的tensor,包括tensor的创建、基本操作、广播机制等

1.1 Tensor简介

tensor,即张量,是基于向量和矩阵的拓展:

  • 0D tensor:标量
  • 1D tensor:矢量
  • 2D tensor:矩阵
  • 3D tensor:时间序列,RGB图像
  • 4D tensor:多张RGB图像,一段视频
  • 5D tensor:多个视频(第一个维度是batchsize

1.2 Tensor的创建

# 直接通过torch.tensor(data)创建
torch.tensor([1,2,3,4])
# 随机初始化
torch.rand(4)
# 全0
torch.zeros(4)
# 全1
torch.ones(4)
# 规定范围和步长进行创建
torch.arange(0,10,2)
函数 功能
Tensor(sizes) 基础构造函数
tensor(data) 类似于np.array,参数是一个list,[]
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) 随机排列

在创建tensor的时候,可以通过参数dtype来指定tensor中的数据类型。

也可以基于numpy的array创建tensor,主要使用torch.from_numpy()方法

# 从NumPy ndarray转换为Tensor
import numpy as np
np_array = np.array([1, 2, 3])
tensor_from_np = torch.from_numpy(np_array)

通过size()或者shape可以查看tensor的形状。

1.3 张量的操作

1. 运算操作

运算包括普通的四则运算和矩阵运算

四则运算,都是进行逐个元素的运算

  • 加法

    torch.add(tensor1, tensor2)
    # 或者
    tensor1 + tensor2
    
  • 减法

    torch.sub(tensor1, tensor2)
    # 或者
    tensor1 - tensor2
    
  • 乘法(逐元素):

    torch.mul(tensor1, tensor2)
    # 或者
    tensor1 * tensor2
    
  • 除法(逐元素):

    torch.div(tensor1, tensor2)
    # 或者
    tensor1 / tensor2
    
import torch

# 创建两个Tensor
tensor1 = torch.tensor([1, 2, 3], dtype=torch.float32)
tensor2 = torch.tensor([4, 5, 6], dtype=torch.float32)

# 加法
add_result = tensor1 + tensor2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值