1 可查询站点
PyTorch官网
PyTorch中文教程
★ApachePyTorch中文文档
PyTorch Doc
2 安装
2.1 linux
#要求cuda10.2
pip3 install torch torchvision
2.2 win10
# cuda10.2 gpu版本
pip3 install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
# cuda10.1版本【建议版本,可和tf2系列让cuda保持一致】
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
# cpu版本
pip3 install torch==1.6.0+cpu torchvision==0.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
【特别注意】【pytorch模型投入生产可使用libtorch
转换到C++】Pytorch各种历史版本
3 备注
- CPU上的所有张量(CharTensor除外)都支持与Numpy的相互转换。Torch张量和NumPy数组将共享它们的底层内存位置,因此当一个改变时,另外也会改变。
- 评估模型时阻止grad属性计算:代码块包装在 with torch.no_grad()、requires_grad = False
- nn.Module中parameters()获取模型可学习参数
4 简单总结
4.1 PyTorch使用TensorBoradX
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('save/logs')
# 写入网络
x=torch.autograd.Variable(torch.rand(1,3,224,224)) #随便定义一个输入
writer.add_graph(net, x)
# 写入loss,loss_value为具体loss值,step为第几步更新权重
writer.add_scalar('trainloss', loss_value, step)
writer.close()
4.2 PyTorch系列概念
from __future__ import print_function
import torch
# 5x3的tensor张量(矩阵)
x=torch.rand(5,3)
# 改变形状
x2=x.view(-1, 15)
# list转tensor
y=torch.from_numpy(np.array([[1,2,3,4],[5,6,7,8]]))
#tensor存放到gpu
z=y.cuda()
if torch.cuda.is_available():
device = torch.device("cuda")
y = torch.ones_like(x, device=device) # GPU上创建Tensor
x = x.to(device) # .to方法切换设备
k = x+y
print(k)
print(k.to("cpu", torch.double)) # .to在切换时更改dtype
闲来无事,偶尔的一些灵感和总结一些基础的供自己回顾,后续