🍼pytorch基本使用
00 min
2022-6-17
2024-7-29
icon
password
Blocked by
Date
type
status
date
slug
summary
tags
category
Blocking

pytorch

常用命令

创建张量方式 Ⓜ️(data:根据矩阵数据创建;shape:根据形状创建)

  • torch.tensor(data)
  • torch.Tensor(shape/data)
  • torch.IntTensor()FloatTensor()DoubleTensor()
  • torch.randn(shape): 创建随机张量(正态)
  • torch.ones(shape)torch.ones_like(data):全1张量
  • torch.zeros(shape)torch.zeros_like(data):全0张量
  • torch.full(shape, n)torch.full_like(data, n):全n张量

创建线性和随机张量(step:步长;length:长度 )

torch.arrange(start, end, step)torch.linspace(start, end, length)

设置随机种子

torch.random.initial_seed()torch.random.manual_seed()

类型转换

  • data.type(torch.DoubleTensor)
  • data.double()、data.int()....

基本运算(带下划线的会修改原值)

  • add/add_:加法
  • sub/sub_:减法
  • mul / mul_ / *:乘法(点乘)
  • matmul / @ : 矩阵乘法
  • div/div_:除法
  • neg/neg_:取负数

基本函数

  • data.mean(dim)
  • data.sum(dim)
  • torch.pow(data, n) : 幂函数
  • data.sqrt():平方根
  • data.exp(n) :指数
  • data.log() :对数,底数为e。( log2(), log10() )

numpy 与 torch

  • 两种类型相互转化:

列表索引

形状操作

  1. data.reshape(shape)
  1. data.squeeze(dim):在dim上降维
  1. data.unsqueeze(dim):在dim上升维
  1. torch.transpose(data, m, n) :交换维度m, 维度n
  1. torch.permute(data, shape):把形状变为shape
  1. data.view(a1, a2, a3, ...): 把data转换为shape为[a1, a2, a3, ...] 的张量 但是view转换的张量只能位于连续内存中, 如果一个数据经过transpose或者permute处理后,就无法使用view函数进行操作。
    1. data.contiguous() 转换为连续内存的数据,一般配合view使用

    张量拼接

    • torch.cat([data1, data2], dim) data1 和 data2 在维度dim上拼接。
    上一篇
    思考
    下一篇
    通义大模型api调用