深度学习环境搭建——Anaconda,Pycharm,Cuda,Cudnn,Pytorch

基于Pytorch的深度学习环境搭建

  • 前言
  • 1、Anaconda安装
  • 2、Cuda安装
  • 3、Cudnn安装
  • 4、Pytorch安装
  • 总结


前言

本篇博客主要记录了自己安装基于Pytorch的深度学习环境的过程和踩过的一些坑,以及对应的解决方案。由于CSDN中相关的博客已经非常多,这里主要为大家提供导航,和遇到BUG的解决方案,不会详细描述每一步,大家可以自行跳转链接去查看。

设备配置:
Ubuntu18.04
深度学习环境搭建——Anaconda,Pycharm,Cuda,Cudnn,Pytorch_第1张图片


1、Anaconda安装

参考文章:Ubuntu20.04下深度学习环境配置(持续维护)第三章

这篇文章的第三章详细介绍了Anaconda环境的安装,尤其后面示范创建了一个深度学习环境,后续几乎所有的操作都需要在这个环境中进行。文章的第一二部分主要介绍了Gpu驱动的安装,由于我的电脑直接在软件与更新-附加驱动中配置成功,没有使用这一部分内容。
深度学习环境搭建——Anaconda,Pycharm,Cuda,Cudnn,Pytorch_第2张图片
Anaconda通常会搭配Pycharm一起使用,下面这篇文章介绍了Pycharm的安装以及与Anaconda的搭配使用:Ubuntu18.04 安装 Pycharm


2、Cuda安装

参考文章:ubuntu环境下安装cuda和cudnn

文章中相关教程介绍的非常详细,本人遇到一个小BUG,这是在最后测试pytorch的时候报错的

UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, 
e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.
 (Triggered internally at  /opt/conda/conda-bld/pytorch_1623448255797/work/c10/cuda/CUDAFunctions.cpp:115.)
  return torch._C._cuda_getDeviceCount() > 0

大家如果有同样的错误可以参考,本人亲测可行。


3、Cudnn安装

Cudnn是配合Cuda使用的,Ubuntu20.04下深度学习环境配置(持续维护)中的第六章介绍的非常详细。Cudnn安装比较顺利,几乎没有什么BUG。


4、Pytorch安装

参考文章:Ubuntu20.04下深度学习环境配置(持续维护)第四章和第七章
Pytorch安装分为cpu版本和gpu版本,cpu版本是为了可以在不使用GPU时也可以方便地对代码进行调试,具体测试方法为:

python \\进入python执行界面
import torch \\若无任何提示,安装成功
exit() \\退出python执行界面

但是大部分时候还是使用gpu版本进行实验的,gpu版本

source activate Deeplearning \\激活你创建的虚拟环境
python \\运行python (启动命令与你上文中起的别名有关)
import torch \\导入torch模块,这里应该没有任何输出
torch.cuda.is_available() \\输出True则安装成功
exit() \\退出python
conda deactivate Deeplearning \\退出虚拟环境

深度学习环境搭建——Anaconda,Pycharm,Cuda,Cudnn,Pytorch_第3张图片
BUG:我的Cuda是11.3,在确定CUDA和cudnn版本都没有下载错误后,安装完发现torch.cuda.is_available始终返回false,无论重装多少次,都一样。如果你遇到这个问题,不用担心你的步骤是不是错了,因为你被conda镜像安装给坑了。

解决办法:手动去镜像网站下载gpu版的包.whl格式并离线安装

镜像网站: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/

参考博客:https://www.cnblogs.com/azureology/p/13041964.html


总结

以上就是深度学习环境安装的全过程,后续会随时补充。

最近会借助深度神经网络做一个垃圾分类的工程,我会将整个历程分享到CSDN上,大家感兴趣的话可以关注一下!

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