Pytorch学习笔记

Pytorch学习笔记

前言

最近在学习Pytorch,希望通过写博客的方式,一方面记录下自己在学习过程中遇到的坑,方便自己以后查阅,另一方面也希望能够将自己的学习笔记分享出来,给遇到类似问题的人一些帮助。


开发环境准备

本机环境:Ubuntu16.04 / GTX 1660 Ti
在下载相应的安装包之前,到torch官方网站查询支持的cuda版本,如下图,选择安装cuda11.1
(注:根据在GTX 3060 Ti显卡上的测试,30系的显卡貌似不支持cuda10系,所以我在另一台3060 Ti的电脑上安装的是cuda11.1)
Pytorch学习笔记_第1张图片
确定好了cuda的版本之后,再到CUDA Toolkit Documentation去查询适配cuda版本的显卡驱动版本
Pytorch学习笔记_第2张图片
对于cuda11.1版本,在linux系统下,只需要显卡驱动版本>=455.23即可

1. NVIDIA显卡驱动

确定好版本后,带NVIDIA官网下载NVIDIA-Linux-x86_64-465.24.02.run,接下来就是要安装显卡驱动了。(参考csdn教程)

  1. 禁用nouveau
    sudo gedit /etc/modprobe.d/blacklist.conf 打开文件
    在文件最后添加两行:

    blacklist nouveau
    options nouveau modeset=0
    

    然后再更新一下
    sudo update-initramfs -u
    更新完以后重启电脑,输入指令
    lsmod | grep nouveau
    如果终端没有任何输出,则表示已经禁用成功

  2. 关闭图形界面,进入命令行界面
    sudo service lightdm stop
    进入命令行界面后,输入用户名和密码登录

  3. 进入到驱动安装文件所在目录,然后安装
    sudo ./NVIDIA-Linux-x86_64-465.24.02.run -no-opengl-files

  4. 安装完驱动以后,重新进入图形界面
    sudo service lightdm start

  5. 进入图形界面后,打开终端,输入
    nvidia-smi
    如果有显卡信息显示,则表示显卡驱动已经安装成功

2. CUDA

确定要安装的cuda版本(11.1),下载好对应的安装包cuda_11.1.1_455.32.00_linux.run

  1. 按照官网说明进行安装
    sudo sh cuda_11.1.1_455.32.00_linux.run
  2. 安装完成之后,配置环境变量,打开终端,输入sudo gedit ~/.bashrc,在文件最后添加
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
    export PATH=$PATH:/usr/local/cuda-11.1/bin
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1
    
    保存修改后,运行source ~/.bashrc
  3. 打开终端,输入nvcc --versionnvcc -V,如果有输出信息,则表示cuda已安装

3. Pytorch安装

个人习惯利用anaconda创建好虚拟环境以后,用pip安装对应的包。所以可以先创建好对应的虚拟环境(主要是选定python版本),到pytorch的官网,根据自己的python版本和cuda版本,选择合适的版本进行安装即可
pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
如果要自定义安装不同版本(如cpu版本)的pytorch/torchvision等,可以到pytorch的官方下载源里找符合自己要求的安装包,下载下来以后用pip进行安装即可。
安装好pytorch以后,进入虚拟环境,检查安装情况
Pytorch学习笔记_第3张图片
如上图,则表示安装成功,可以在此基础上进行pytorch的学习和开发了。

总结

总的来说,整个安装流程相对较为简单,只是在尝试给3060 Ti的电脑装pytorch的时候遇到过问题(之前说到的30系显卡不支持cuda10系),除此之外一切还算顺利,接下来就是学习torch官网的60分钟教程了,虽然之前看过一遍但是现在也忘得差不多了,重新开始再学一遍说不定也会有新的收获。

你可能感兴趣的:(pytorch,深度学习,linux)