一、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:張量是一個統(tǒng)稱,其中包含很多類型,如0階張量scaler(標量、常數(shù)、0-D Tensor),1階張量vector(向量、1-D Tensor),2階張量matrix(矩陣、2-D Tensor)
轉(zhuǎn)置:直觀來看,將A的所有元素繞著一條從第1行第1列元素出發(fā)的右下方45度的射線作鏡面反轉(zhuǎn),即得到A的轉(zhuǎn)置。一個矩陣M, 把它的第一行變成第一列,第二行變成第二列,…,最末一行變?yōu)樽钅┮涣校?從而得到一個新的矩陣N。 這一過程稱為矩陣的轉(zhuǎn)置。即矩陣A的行和列對應互換。
CUDA:是NVDIA退出的運算平臺,屬于通用并行計算架構,使得GPU能夠解決復雜的運算問題。
2、實踐
# 創(chuàng)建張量
import torch
import numpy as np
torch.Tensor(list)
# 創(chuàng)建數(shù)組
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() # 轉(zhuǎn)換成數(shù)組
# t2.item
t2.size() # 獲取形狀
t2.size(1) # 獲取第1個維度的形狀
t2.size(-1)
t2.view([-1]) # 形狀變化,傳入[shape]
t2.view([2,-1])
t2.dim() # 獲取階數(shù)
t2.max() # 獲取最大值
t2.t() # 二維轉(zhuǎn)置
t2.transpose(0,1) # 二維轉(zhuǎn)置
t2.transpose(1,2) # 高維轉(zhuǎn)置
t2[0] # 取值
t2[:] # 切片
# tensor的數(shù)據(jù)類型
t2.dtype # 查看類型
torch.ones([3,2],dtype=torch.float32) # 創(chuàng)建指定類型的數(shù)據(jù),torch.tensor(array,dtype)
t2.int() # 類型轉(zhuǎn)換
# 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)
閱讀全文