当前位置:   article > 正文

pytorch安装(CPU和GPU),以及简单的API_pytorch 2.1.1安装

pytorch 2.1.1安装

1 pytorch介绍

1 END-TO-END MACHINE LEARNING FRAMEWORK(端到端的机器学习框架)
上述这样命名就是因为深度学习只是机器学习的一个分支
2 pytorch的优点:简单易用、分布式训练、服务器部署方便、移动端部署方便;
3 PyTorch 是基于以下两个目的而打造的python科学计算框架:
        无缝替换NumPy,并且通过利用GPU的算力来实现神经网络的加速。
        通过自动微分机制,来让神经网络的实现变得更加容易。
4 参考网站:
        https://pytorch.org/

深度学习案例直观理解

2 pytorch的安装

Python版本要求必须是64位的;CPU版本或者GPU版本任选一个版本安装即可;GPU版本的安装要求必须是NVIDIA显卡,并且安装好对应的驱动。
 -1. 使用anaconda安装Python环境,建议python版本:3.8/3.9/3.10
 -2. 建议首先安装CPU版本,然后有条件的情况下,用anaconda创建一个虚拟环境,在虚拟环境中安装GPU版本

2.1 CPU版本安装

https://pytorch.org/get-started/previous-versions/

进入此网站,可以看到很多安装命令

1 conda安装

如果使用conda安装,把conda的安装源切换到国内的源,怎么修改,如下

conda 添加国内镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

修改源之后,可以在上述网站中找到想要安装的版本,也可以参考我的版本

安装命令:(conda版本)

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 -c pytorch

2 无conda安装

安装命令:

pip install torch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 -i http://mirrors.aliyun.com/pypi/simple/

(切记,无论是哪儿种安装,请先关闭vpn进行安装)

2.2 GPU版本安装

在上述网站,提供的只有conda的GPU安装

1 检查当前机器是否有nvidia的GPU

打开任务管理器里面的性能,找到下面GPU 显示NVIDIA的GPU就是有GPU

2  检查nvidia的GPU版本驱动安装是否成功
        在anconda命令行执行 nvidia-smi   得到如下图片就是成功的


如果执行上面命令报错或者看不到上面图片信息,就是驱动不对

具体办法有博主有写,具体博客我就不放了,防止侵权

人工智能计算领域的领导者 | NVIDIA这是官网安装驱动的地方

3 修改conda国内源

如果已经修改可忽略

conda 添加国内镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

4 安装GPU版本命令

可以用anaconda创建一个虚拟环境,在虚拟环境中安装GPU版本

查看当前存在的所有conda环境  conda env list

创建虚拟环境  conda create -n pytorch_gpu python=3.8(这是我自己的,你可以修改名字还有python版本)

切换虚拟环境 conda activate pytorch_gpu(后面跟的是你创建的的虚拟环境的名字)

切换到虚拟环境后使用网站里的你想安装的版本进行安装,我的是1.10.1
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
上述安装可能比较慢。
还有因为在国内,安装GPU版本有时候会出现问题,出现问题了就重试,万能大法,哈哈
切记(安装的时候关闭vpn)
如果安装成功后,进入conda命令行,输入python进入命令行,然后输入import torch导入pytorch,导入后再输入torch.cuda.is_available(),如果提示True则表示成功

3 pytorch简单API

API文档:

torch的基本API

torch — PyTorch 2.1 documentation

torch的封装的深度学习算子API

torch.nn — PyTorch 2.1 documentation

torch的深度学习算子以函数形式的使用展示

torch.nn.functional — PyTorch 2.1 documentation

torch模型优化器相关的API

torch.optim — PyTorch 2.1 documentation

简单的使用API如下代码

  1. import torch
  2. import numpy as np
  3. def t1():
  4. # 创建tensor对象方法
  5. v1 = torch.rand(2, 3, 4) # 在0到1之间的浮点数取值填充
  6. print(v1.shape) # torch.Size([2, 3, 4])
  7. py_v2 = [[1.0, 1.32], [2.3, 3.2], [5.2, 324.2]]
  8. v2 = torch.tensor(py_v2)
  9. print(v2.shape) # torch.Size([3, 2])
  10. py_v2[0][1] = 100
  11. print(py_v2)
  12. print(v2) # 不变, 不与列表共享内存, 和原来没有关系
  13. np_v3 = np.random.randint(10, size=(2, 3)) # 随机取10以内的数字
  14. v3 = torch.from_numpy(np_v3)
  15. print(v3.shape) # torch.Size([2, 3])
  16. np_v3[0][1] = 100
  17. v3[1][1] = -100
  18. print(v3)
  19. # tensor和numpy都会改变, pytorch目的是替代numpy的, 底层就是numpy, 区别是支持GPU
  20. print(np_v3) # 创建的tensor对象和入参numpy对象共用一个内存地址
  21. def t2():
  22. # tensor转换为numpy
  23. v1 = torch.rand(2, 3)
  24. print(v1)
  25. np_v1 = v1.numpy() # v1必须在cpu上, v1不涉及到梯度的计算
  26. print(np_v1)
  27. v2 = torch.rand(2, 3)
  28. print(v2)
  29. np_v2 = v2.detach().cpu().numpy() # detach梯度截断, cpu就是如果是GPU,就把对象数据copy到cpu上,cpu则不变
  30. print(np_v2)
  31. v3 = torch.rand(1)[0] # 一个标量tensor
  32. print(v3)
  33. print(v3.shape) # torch.Size([])
  34. np_v3 = v3.detach().cpu().numpy() # detach梯度截断, cpu就是如果是GPU,就把对象数据copy到cpu上,cpu则不变
  35. print(np_v3)
  36. print(v3.item()) # 仅支持是一个标量的tensor, 是一个普通的python浮点数类型
  37. if __name__ == '__main__':
  38. t2()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/817607
推荐阅读
相关标签
  

闽ICP备14008679号