记录在服务器上配置环境的过程
记录在服务器上配置环境的过程
服务器上安装环境安装MobaXterm查看服务器基本信息安装anaconda激活虚拟环境,安装pytorch安装显卡驱动测试环境下载项目所需要的包
VScode连接服务器
本科小白记录在服务器上配置环境的过程ing
服务器上安装环境
我找了一篇论文[2303.12793] CiCo: Domain-Aware Sign Language Retrieval via Cross-Lingual Contrastive Learning (arxiv.org),论文在GitHub上有官方实现代码FangyunWei/SLRT (github.com),我想在服务器上跑通代码。
它要求的实验环境是:
conda create --name yourEnv python=3.7
conda activate yourEnv
conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=11.0
pip install ftfy regex tqdm
pip install opencv-python boto3 requests pandas
pip install -r requirements.txt
“往往我们在实际项目时,起始首先确定的是PyTorch的版本,进而确定CUDA的版本,再根据CUDA的版本去查看自己平台的驱动是否支持。”
最后我安装pytorch=1.7.1,cuda=11.0,服务器没安装显卡驱动,安装了nvidia-driver-525,这个驱动可支持11.0的cuda,测试环境发现cuda和cudnn都可以运行。
安装MobaXterm
1.https://mobaxterm.mobatek.net/download-home-edition.html,
下载绿色installer edition
2.点击session,ssh,remote host服务器ip: 210.xx.xxx.xx,用户名root,port端口号:xxxxx(我一开始没弄清服务器ip和端口号)
3.输入密码SignPro,注意不会显示输入的密码,一直是一个灰色的框框,回车
4.设置master password
查看服务器基本信息
root@ubuntu:~# cat /proc/version
Linux version 5.15.0-60-generic .......
cat :查看文件最后一屏的内容
/proc:Linux系统上的/proc目录是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息
root@ubuntu:~# lspci | grep -i nvidia
00:05.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB].......
lspci:用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
grep (global regular expression):用于查找文件里符合条件的字符串或正则表达式。
-i:忽略大小写进行匹配。
root@ubuntu:~# uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
.......
root@ubuntu:~# gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
.......
安装anaconda
我随便挑了一个版本的anaconda,没下最新的
root@ubuntu:~# wget https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux -x86_64.sh
bash Anaconda3-2023.03-0-Linux-x86_64.sh
Bash 是庞大程序工具箱中的一种简单工具,使用户通过基于文本的界面与计算机系统交互
Anaconda3 will now be installed into this location:
/root/anaconda3
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
Thank you for installing Anaconda3!
激活虚拟环境,安装pytorch
source ~/.bashrc
出现(base) root@ubuntu:~#
(base) root@ubuntu:~# conda create --name tryCiCo python=3.7
==> WARNING: A newer version of conda exists. <==
current version: 23.1.0
latest version: 23.10.0
environment location: /root/anaconda3/envs/tryCiCo
added / updated specs:
- python=3.7
(base) root@ubuntu:~# conda activate tryCiCo
conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=11.0
安装显卡驱动
(尝试测试环境,发现cuda不available,因为没有显卡驱动)
(tryCiCo) root@ubuntu:~# conda deactivate
(base) root@ubuntu:~# conda deactivate
root@ubuntu:~# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:05.0 ==
.......
root@ubuntu:~# nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
apt install nvidia-utils-390 # version 390.157-0ubuntu0.22.04.1, or
apt install nvidia-utils-510 # version 510.108.03-0ubuntu0.22.04.1
apt install nvidia-utils-525 # version 525.78.01-0ubuntu0.22.04.1
apt install nvidia-utils-525-server # version 525.60.13-0ubuntu0.22.04.1
root@ubuntu:~# apt-get update
先更新工具
root@ubuntu:~# apt install nvidia-driver-525
随便选择了一个驱动安装
遇到一个粉框框问我要不要重启,我esc了
reboot
重启
(base) root@ubuntu:~# nvidia-smi
发现有驱动了
NVIDIA-SMI 525.xxx.xx Driver Version: 525.xxx.xx CUDA Version: 12.0
测试环境
根据学长发的代码测试环境是否配置成功
(tryCiCo) root@ubuntu:~# python
>>> import torch
>>> torch.cuda.is_available()
True
>>> from torch.backends import cudnn
>>> cudnn.is_available()
True
>>> exit()
至此,应该基本环境配好了。之后要跑代码根据readme创建新的虚拟环境就好了。
下载项目所需要的包
pip install ftfy regex tqdm
pip install opencv-python boto3 requests pandas
VScode连接服务器
vscode 安装remote-ssh插件
左侧小电视图标->齿轮设置图标->C:\Users\xxxxxx.ssh\config
在配置文件中设置服务器信息:
Host xxx_ubuntu22.04 自己取的名字
HostName xxx.xx.xxx.xx 服务器IP地址
User root 用户名
Port xxxxx 端口号
更改设置,File->Preferences->Settings->Extension->Remote-SSH,找到Show Login Terminal并勾选。并在Config File中输入C:\Users\xxxxxx.ssh\config
点击slrt_ubuntu22.04旁按钮进行连接,选Linux,出现
The authenticity of host can't be established.This key is not known by any other names.Are you sure you want to continue connecting
输入yes,输入密码(光标还是不动的),看左下角绿框框,已连接成功。就可以正常操作文件,会同步到服务器上。cool!
github项目代码直接整个下载zip到自己电脑上,因为我只需要其中一个文件,所以复制该文件到自己电脑上,删了zip,可直接将该文件拖拽上传到服务器上,cool!