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本质上也是修改文件)
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
修改为
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
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia
查看pytorch是否可用,在python环境中输入
import torch torch.cuda.is_available()
如果打印的是True则安装成功
其它问题
默认进入conda的base环境
安装anaconda之后,通过SSH连接默认进入conda的base环境,有的时候执行命令报错了才发现,而每次用conda deactivate又太麻烦。所以修改conda配置文件取消默认进入base环境。
conda config --set auto_activate_base false
也可以修改.condarc
文件,在文件尾部追加
auto_activate_base: false
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步