安装PyTorch
官网的安装方式 https://pytorch.org/get-started/locally/
从pypi.org安装(GPU版本)
https://pypi.org/project/torch/#files
https://pypi.org/project/torchvision/#files
选择自己的python和cuda版本,比如python3.5就选择torch-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
cuda9.0选择兼容版本torch==0.4.1
使用 torch.__version__
查看版本号
测试GPU是否可用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import torch flag = torch.cuda.is_available() print(flag) # True device = torch.device("cuda:0" if flag else "cpu") print(torch.cuda.get_device_name(0)) # GeForce GTX 1060 6GB print(torch.rand(3,3).cuda()) ''' tensor([[0.0284, 0.8647, 0.0298], [0.3623, 0.6082, 0.9034], [0.5146, 0.1420, 0.0223]], device='cuda:0') ''' |
PyTorch使用指定GPU
1.在终端中指定
1 2 |
CUDA_VISIBLE_DEVICES=1 python my_script.py |
2.使用Python代码
1 2 3 |
import os os.environ["CUDA_VISIBLE_DEVICES"] = "2" |
3.使用函数set_device
1 2 3 4 |
import torch gpu_id = 0 torch.cuda.set_device(gpu_id) |
张量的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
x = torch.tensor([5.5, 3]) # 常量 y = torch.rand(5, 3) # 随机数 print(x.size()) # 大小 x = torch.randn(4, 4) y = x.view(16) # 改变大小 z = x.view(-1, 8) # the size -1 is inferred from other dimensions print(x.size(), y.size(), z.size()) ''' torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8]) ''' a = torch.ones(5) b = a.numpy() # tensor转换成numpy的类型 print(b) c = torch.from_numpy(b) # numpy类型转tensor np.add(c, 1, out=c) # 转成gpu变量 c.to('cuda:0') c.cuda() # 转成cpu变量 c.to('cpu') |
参考资料
官方网站 https://pytorch.org/
中文文档 https://pytorch-cn.readthedocs.io/zh/latest/
官网教程中文版 http://pytorch123.com/
kaggle教程 https://www.kaggle.com/kanncaa1/pytorch-tutorial-for-deep-learning-lovers
torch==0.4.1
torchvision==0.2.1