Linux安装深度学习环境Anaconda踩坑记录

最近导师扔了两台服务器给我管理,导师老板的博士师兄给我登上ssh后就出国参加学术会议了。

因为服务器连得是实验室的路由器,所以默认情况下只有在实验室的局域网内才能连,那每次训练都要跑到实验室多麻烦?于是我就在网上翻教程。通过虚拟重定向可以将映射到校园网的IP上。

昨天在实验室摆弄了一天才把其中一台服务器用虚拟重定向,另一台怎么也搞不定。暂时先不管他了,等师兄回来再搞。反正组里就研三的师兄写论文可能用一用,一台先凑伙用。

但是昨晚从图书馆回家,再连又连不上了,看来这种映射也止步于校园网内。要搞内网穿透才可以让外网的机器访问服务器。

 

一、安装目录

二、从清华源镜像下载被Forbidden

因为Anaconda最新版本不仅占的内存变多了,一些工具的版本也比较高,而实验室训练的模型大多是改的别人的,所以为了兼容,我打算装老版的。但是阿里云最近好像不提供Anaconda的镜像了,只好从清华镜像网站下载。我先下到本地电脑上,但是往服务器传的时候,因为登的是非root的用户,所以只能传到./home/username目录里。那样的话还要再移动到/usr/local/bin/中。

我就想能不能直接在命令行通过URL下载文件,还真可以,wget工具就能做到。但是下载的时候又错误2024-10-24 16:33:51 错误 403:Forbidden,看样子好像是禁止访问不对啊!我本地能下载,服务器下不了?校园网被ban了?不应该啊。几经周折,在下载时加上User-Agent就成功了。

 三、安装CUDA Toolkit和已安装的NVIDIA显卡驱动冲突

在执行sudo sh cuda_11.6.2_510.47.03_linux.run安装已经下载好的时,出现错误

ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel.  This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading.  Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver.  If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occurred that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

是因为在安装时无脑下一步,勾选了覆盖已安装的驱动,但是有进程正在使用显卡,所以安装失败。如果需要覆盖驱动,停止使用显卡的进程,并禁用当前驱动再安装就行了。

我的显卡驱动不需要覆盖,因此在安装时取消覆盖的选项就行了。取消勾选

安装完成后,将路径添加到环境变量中。执行

四、环境变量配置

修改全局的环境变量会对所有用户生效,而修改用户的环境变量仅对自身生效。我安装的Anaconda等环境要给组里的所有同门使用,所以修改全局的比较合适。

1.修改全局环境变量

修改/etc/environment文件(可以到etc目录下查看有哪个文件)

具体的命令为:sudo vim /etc/profile 或者 sudo vim /etc/environment

在文件末尾添加路径(类似Windows修改环境变量,其实Windows本质上也是修改文件)

copy
unset __conda_setup
# <<< conda &cudatoolkit initialize <<<
export PATH=$PATH:/usr/local/bin/Anaconda3/bin
export PATH=$PATH:/usr/local/cuda-12.1/bin/
#其它
export PATH=$PATH: else file path

修改后,执行source /etc/profile更新文件内容到shell内核中。

执行echo $PATH命令查看路径是否添加到环境变量中。

2.修改用户环境变量

有一些软件只想给某一个用户使用,那么只修改对应用户的配置文件即可。配置文件是/home/username/.bashrc。修改的方式和上面类似,不再赘述。

 五、Conda环境冲突

修改conda配置文件。

利用vim命令看修改后的anaconda镜像源文件.condarc:vim ~/.condarc

修改为

copy
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
show_channel_urls: true

查看所有conda环境conda-env list

创建conda环境出现了启动失败的问题

初始化conda init bash

保存到shell中source ~/.bashrc

启动环境

安装pytorch

copy
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia

 查看pytorch是否可用,在python环境中输入

copy
import torch
torch.cuda.is_available()

如果打印的是True则安装成功

 

其它问题

默认进入conda的base环境

安装anaconda之后,通过SSH连接默认进入conda的base环境,有的时候执行命令报错了才发现,而每次用conda deactivate又太麻烦。所以修改conda配置文件取消默认进入base环境。

copy
conda config --set auto_activate_base false

也可以修改.condarc文件,在文件尾部追加

copy
auto_activate_base: false

 

posted @   老秦鸭  阅读(36)  评论(0编辑  收藏  举报
   
点击右上角即可分享
微信分享提示
🚀