一、pytorch的安装方法
官方文档:https://pytorch.org/get-started/locally/
1、如图,选择版本后,会显示安装指令
2、比如,带GPU安装步骤:
conda install pytorch torchvision torchaudio cudatoolkit=11.1
如果安装pytorch缓慢,请更新镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/
二、pytorch的入门操作
1、定义:
张量Tensor:张量是一个统称,其中包含很多类型,如0阶张量scaler(标量、常数、0-D Tensor),1阶张量vector(向量、1-D Tensor),2阶张量matrix(矩阵、2-D Tensor)
转置:直观来看,将A的所有元素绕着一条从第1行第1列元素出发的右下方45度的射线作镜面反转,即得到A的转置。一个矩阵M, 把它的第一行变成第一列,第二行变成第二列,…,最末一行变为最末一列, 从而得到一个新的矩阵N。 这一过程称为矩阵的转置。即矩阵A的行和列对应互换。
CUDA:是NVDIA退出的运算平台,属于通用并行计算架构,使得GPU能够解决复杂的运算问题。
2、实践
# 创建张量
import torch
import numpy as np
torch.Tensor(list)
# 创建数组
torch.empty(3,4)
torch.zeros(4,5)
torch.ones(6,7)
torch.rand(2,4)
torch.randinit(low=0,high=10,size=[5,6])
torch.randn(size=[5,6])
# 张量的方法和属性
t1 = torch.Tensor([[[1]]])
t1.item()
t2 = torch.Tensor([[[1,2]]])
t2.numpy() # 转换成数组
# t2.item
t2.size() # 获取形状
t2.size(1) # 获取第1个维度的形状
t2.size(-1)
t2.view([-1]) # 形状变化,传入[shape]
t2.view([2,-1])
t2.dim() # 获取阶数
t2.max() # 获取最大值
t2.t() # 二维转置
t2.transpose(0,1) # 二维转置
t2.transpose(1,2) # 高维转置
t2[0] # 取值
t2[:] # 切片
# tensor的数据类型
t2.dtype # 查看类型
torch.ones([3,2],dtype=torch.float32) # 创建指定类型的数据,torch.tensor(array,dtype)
t2.int() # 类型转换
# tensor的其他操作
torch.add(x,y) # 假设x和y是tensor,此为相加,等价于x+y
x.add_(y) # 假设x是tensor,直接修改tensor的值
# CUDA在torch中的使用
torch.cuda.is_available()
# 使用显卡
device = torch.device('cuda')
torch.zeros([2,3],device=device)
a = torch.zeros([2,3])
a.to(device)
# 使用CPU
device_cpu = torch.device('cpu')
a.to(device_cpu)
阅读全文