大创项目要用linux深度学习。新手小白一点点摸索装ubuntu配置环境。(Windows真的比ubuntu友善太多了)中途遇到很多问题,网上解决方法参差不齐,且适用的方法很难找,特此记录一下,希望能帮到配置环境的朋友
注:本人用了所以各种下载速度还行,如果各位连不上外国服务器的话可以把源换成国内镜像
本人最后配置的环境为:
NVIDIA驱动 :510.60.02 (在终端输入nvidia-smi (注意这里没有空格))
Pytorch:1.11.0 配置环境时python为3.9.12
Tensorflow:2.8.0 配置环境时设置python为3.9.1
主要参考文章和视频资源有:
Bilibili:
Windows 和 Ubuntu 双系统从安装到卸载 up主:机器人工匠阿杰
CSDN:
Ubuntu22.04 Python 深度学习环境配置记录 作者:Heine_
避免繁琐步骤,在Ubuntu22.04安装cuda、cudnn及pytorch 作者:Teliq
YouTube:
网易云课堂《深度学习与TensorFlow2入门实践》作者:味道
Ubuntu安装可参考上面b站up视频,以下问题如遇到可以注意一下。
先讲结论:直接用
避免繁琐步骤,在Ubuntu22.04安装cuda、cudnn及pytorch的方法,依次在终端输入两行代码:
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
然后就直接就能在附加驱动上下载NVIDIA和CUDA。下载完成后重启,输入
\\注意这里没有空格!!!
nvidia-smi
就能看到安装的NVIDIA版本等信息(图中CUDA为可以安装的最高版本)
此时用nvcc -V是识别不了命令的,它会让你下载nvcc的包,按照终端提示的命令下载完包就可以用nvcc -V看到我们安装的CUDA版本了
注意!和在CUDA官网安装的方法不同,这种方法的默认路径不是usr/local,而是装在了usr/lib/cuda里,之后装cuDNN以及使用tensorflow时需要注意并更改路径,否则运行不了
以下是我的CUDA的位置:
如果是在官网下载安装的驱动,看别人的教程应该是也可以安装好NVIDIA和CUDA的,但是如果安装CUDA的时候遇到了以下问题:
还是建议重装ubuntu使用上述方法在附加驱动里下载NVIDIA和CUDA,这里应该是版本不匹配的问题,如果自行安装xorg-video-abi-24的话会导致版本降级,从而破坏更多的依赖关系,还是安装不了CUDA
如果没有出现xorg-video的报错在官网上安装NVIDIA也可以,直接按照教程:Ubuntu20.04安装nvidia显卡驱动——超详细第七步来就行(因为我们是双系统装的ubuntu系统没有带驱动,可以打开附加驱动此时也是显示没有驱动)
但仍会遇到以下问题请注意:
1/ wget http://archive.ubuntu.com/ubuntu/pool/main/libu/liburcu/liburcu6_0.11.1-2_amd64.deb
2/ sudo dpkg -i sudo dpkg -i liburcu6_0.11.1-2_amd64.deb
直接在cuDNN官网下载所需版本安装包并解压;下载前需要注册账号并填一个简单的问卷(乱填都行)
这一步一定注意你安装的CUDA的版本(终端使用命令nvcc -V)
下图为我安装的版本:
解压到当前文件夹就行,解压可以用归档管理器也可以使用如下命令:
tar -xvf 文件名
最后将cuDNN的头文件家到CUDA中就行了(注意下面命令,在解压完cuDNN的当前文件夹打开终端) 像上提到的,注意自己的cuda文件夹路径是usr/local还是usr/lib
sudo cp include/cudnn.h /usr/lib/cuda/include
sudo cp include/cudnn_version.h /usr/lib/cuda/include //加这一行是为了方便看cuDNN的版本号
sudo cp lib/libcudnn* /usr/llib/cuda/lib64
sudo cp include/cudnn.h /usr/lib/cuda/include
sudo cp include/cudnn_version.h /usr/lib/cuda/include
sudo chmod a+r /usr/lib/cuda/lib64/libcudnn*
最后输入 (依旧注意自己的路径是lib还是local)
cat /usr/lib/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
就能看到自己安装成功的cuDNN的版本号了
直接用Anaconda官网的命令安装(这里是x86_64的架构注意一下):
bash Anaconda3-2021.11-Linux-x86_64.sh
一路yes和回车,注意自己的安装路径(会带自己的用户名,不知道路径可以文件右击属性看到)。最后还要source一下啥的,具体操作可以参考1
注:不知道为什么我的anaconda可以正常运行但是界面启动不了(无相应),因为不影响使用暂时没解决
Anaconda用一下命令在env文件夹中创建一个新的环境并激活(python版本可以参考本人上面所提版本配置):
conda create -n 环境名陈 python=x.x.x \\python=x.x.x 可以指定python版本,不需要的话可以直接去掉
conda activate 环境名称
之后在终端每次使用这个环境下载包或者测试都要输入激活语句,输入后文件名会加上(环境名称)的前缀
进入Pytorch官网选择自己适合的版本(CUDA好像最高就是11.3,装的CUDA11系列可以用这个,下载时注意Python,CUDA的版本对应关系):
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
安装成功后我们就可以在pip list上看到torch版本:
依旧先在Anaconda中创建一个新的环境并激活(考虑到Tensorflow官网写的3.9,python版本我设置的3.9.1):
conda create -n tensorflow python=3.9.1
conda activate tensorflow
进入Tensorflow官网查看相关版本以及所需配置,注意python,cuda与tensorflow对应关系,可以参考我的配置
在激活的tensorflow环境里用conda install tensorflow_gpu==x.x.x 或者 pip install tensorflow_gpu=x.x.x 就可以下载了。下载完成后可以查看一下pip list:
最后的验证环节依旧是进入tensorflow下的python,加载tensorflow的包,输入:
1| import tensorflow as tf
2| tf.test.is_gpu_available()
返回True即安装成功
如果上述过程出现了报错:
2022-05-04 19:18:21.807268: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-05-04 19:18:21.807638: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1850] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
False
不要慌,也不需要在这个环境中用conda install 重新下载cudnn相关的包(要几个G呢)。这可能就是上述提到的cuda路径的问题,系统把tensorflow中找cuda和cudnn的路径设为了usr/local,但是我们的cuda装在usr/lib中。修改这个路径即可。以下是操作步骤:
sudo gedit ~/.bashrc
3. 保存,重启终端,激活tensorflow环境再次验证tf.test.is_gpu_available(),即可输出True
本人用的snap下载的Pycharm(需要Ubuntu16.04及更高版本),需要时间稍久,网速比较慢的同学可以换正常下载方式。
sudo snap install [pycharm-professional|pycharm-community] --classic
如果识别不了需要先用sudo apt install下载snap的包(记错勿喷)
最后终端输入pycharm-community启动pycharm就ok了
用pycharm运行时要在setting中加入conda的我们刚刚创建的pytorch和tensorflow的环境,具体可参考网易云课堂《深度学习与TensorFlow2入门实践》的示范
感谢看到这里!希望这篇博客能对你有所帮助。由于是事后梳理有些步骤是凭借记忆写的,如有错误恳请指出,还请轻喷,谢谢。
最后叨叨几句:其实大创项目需要运行的代码是可以在Windows上运行的(导师记错了哈哈),因为在github上下载文件的时候一个checkpoint文件夹放在了Linux的安装命令里面导致缺少文件所以运行不了。不过俺也算阴差阳错地装了双系统,学习了Ubuntu以及Linux下的不少知识。虽然花费的时间很多,期间还重装了好几次,不过现在也总算入门了。学习新的东西总是有趣的,Ubuntu的便利优点不少(当然不便利的地方也很多),之后的学习过程应该也会整理成博客,希望大家都能学习顺利,少碰bug~
https://blog.csdn.net/qq_41746268/article/details/124415682 ↩︎ ↩︎