项目组服务器rtx3090使用指南
- rtx3090服务器作为新设备,使用统一化管理。即:使用活动账户的同学在使用中只会获得一个studentNum账户,密码为自己名字缩写,在毕业后此账户会交给低年级新生循环使用,因此需要在毕业后整理账户,将有效的个人数据(包括但有价值的程序,训练好的网络模型,毕业论文等)放入研究生个人数据备份位置。
- 此服务器为公用设备,考虑到实验室人数众多,而计算资源紧张,请各位在使用GPU时尽量做好协商和节点保存。目前3090服务器使用两块磁盘阵列存储,其中一块做项目组数据及历届研究生的项目文件备份,另一块为交替使用的活动账户。root权限不开放给所有用户,请有需要的同学联系服务器管理员以创建账户进行使用。
1 项目组数据及备份位置
1.1 项目组主要数据位置
/data/model_data_backup
注意:此位置权限仅为可读,严禁使用root账户对此文件夹下数据进行删减操作。
1.2 项目组各研究生个人数据备份位置
/data/student_data_backup
此处放置已毕业研究生的毕业论文和其他有价值的程序、工程等,有需要可拷贝至个人账户下进行学习。
2 用户创建等基本操作(管理员使用)
2.1 用户创建
使用root账户,创建账户:
$ sudo useradd -d /home/student/studentNumber -m studentNumber -s /bin/bash
创建该账户密码:
$ sudo passwd studentNumber
2.2 用户删除
使用root账户,删除账户:
$ sudo userdel -r studentNumber
2.3 用户权限
在毕业时刻,开放个人数据备份的文件夹的可读可写权限,让每个毕业生将其个人数据做备份,之后改回只读权限。
使用rtx3090账户开放权限:
$ chmod 777 /data/student_data_backup/
使用rtx3090账户改回只读权限:
$ chmod 755 /data/student_data_backup/
3 连接服务器基本操作
3.1 与服务器快速交互
本项目组目前做法主要为Xshell+winscp组合
安装Xshell和Xmanager,之后在Xshell中输入服务器ip,端口,用户名和密码后,即可开启一个服务器的终端。
在winscp主要操作界面中输入服务器ip,端口,用户名和密码后,即可实现快速连接windows和linux服务器的快速连接。
3.2 配置账户中的深度学习环境
在Xshell 的终端中,进行深度学习环境的配置。
3.2.1 安装conda
conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。conda可以理解类似于应用商店或是mac里的Aapp Store。可以在conda里面安装软件,或者在conda之外安装,使用conda管理小环境和使用conda管理软件比较方便。
国内服务器需要选择conda镜像可以搜索conda清华源镜像。建议使用miniconda,轻量化,可以快速下载。
一些源的地址
# 阿里云 http://mirrors.aliyun.com/pypi/simple/
# 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
# 豆瓣(douban) http://pypi.douban.com/simple/
# 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
# 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
清华镜像中miniconda的使用帮助 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
清华镜像中miniconda版本的选择 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
找到需要的miniconda版本后,复制其链接,并将其下载到服务器的账户中,此处以最新版本miniconda为例。
$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
下载完成后,使用bash安装
$ bash Miniconda3-latest-Linux-x86_64.sh
一路enter
或者yes
后,会得到提示
最后激活安装完成的软件:
$ source ~/.bashrc
看到(base)出现时,即表示miniconda安装完成。
3.2.2 创建虚拟环境
不同的深度学习框架可能需要不同的依赖环境,有些使用python2写的源码并不能跑在python3的环境中,因此需要建立所需要源码的虚拟环境。
其中一些框架与版本的对应关系:
TensorFlow与python对应版本 https://tensorflow.google.cn/install/source_windows?hl=en#gpu
CUDA驱动和CUDA Toolkit对应版本https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
pytorch与CUDA,cudnn对应版本https://pytorch.org/get-started/previous-versions/
安装环境前确定我们GPU驱动版本。我们的GPU驱动版本为470.129.06,CUDA版本为11.4
可以使用nvidia-smi
(日后会经常用到)查看GPU占用和CUDA版本:
使用 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件在miniconda安装目录envs文件下找到。建议创建名字缩写+python版本的环境,如shh_py3.7,以便后续计算资源不足时精确到使用人。
$ conda create -n your_env_name python=X.X(2.7、3.6等)
3.2.3 conda一些常用操作
查看当前存在哪些虚拟环境:conda env list
或 conda info -e
激活虚拟环境:source activate your_env_name
(虚拟环境名称)
关闭虚拟环境:source deactivate
查看当前环境安装了哪些包:conda list
删除环境中的某个包:conda remove --name your_env_name package_name
删除虚拟环境:conda remove -n your_env_name(虚拟环境名称) --all
安装包:conda install package_name
安装指定版本包:conda install package_name==1.12.0
(版本需指定)
添加清华的源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
移除清华的源:conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
3.3 使用pycharm
Python IDE适合神经网络的有很多,比如jupyter、pycharm等,本服务器已安装pycharm,可以直接使用,为实现命令行简易启动,需在用户目录~/.bashrc文件中进行如下操作。
打开编辑~/.bashrc文件
$ gedit ~/.bashrc
在文件末尾添加
alias pycharm="/home/rtx3090/pycharmisntall/pycharm-community-2022.1.2/bin/pycharm.sh"
重新激活~/.bashrc文件
$ source ~/.bashrc
之后在Xshell服务器终端的命令行直接输入pycharm即可打开。
3.4 conda使用国内源
conda安装好之后,默认的镜像是官方的。由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,更改为国内镜像源。
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
$ conda config --set show_channel_urls yes
3.5 使用matlab
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。本服务器已安装matlab,可以直接使用,为实现命令行简易启动,需在用户目录~/.bashrc文件中进行如下操作。
打开编辑~/.bashrc文件
$ gedit ~/.bashrc
在文件末尾添加
alias matlab="/home/rtx3090/MATLAB/R2018a/bin/matlab"
重新激活~/.bashrc文件
$ source ~/.bashrc
之后在Xshell服务器终端的命令行直接输入matlab即可打开。
4 其他
- 禁止一切实验室GPU挖矿行为;
- 服务器使用如有疑问,请尽量自己多查资料多看代码多问问为什么,GPU只是实验的工具,研究生应当重点培养自己发现问题解决问题的思路;
- 毕业后整理好自己账户中的数据、工程等,完成个人数据备份,研究生这几年留下来的材料,是个人也是实验室宝贵的财富,能让后面的师弟师妹们少走很多很多的弯路。前人栽树,后人才能乘凉。
- Xshell的提示更新问题可以参考https://blog.youkuaiyun.com/qq_24274689/article/details/122391296。