4 服务器环境配置

拿到账号后,在运行自己的脚本前最重要的是安装软件和配置环境。推荐大家使用conda来管理自己的环境,支持Python, R, julia等多种语言,且安装、使用非常方便。

1. 安装conda

这里推荐安装Miniconda,因为Anaconda自带的包太多,没什么用装起来很慢。 https://docs.conda.io/en/latest/miniconda.html

安装步骤:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

sh Miniconda3-latest-Linux-x86_64.sh

然后根据文字提示操作,安装好后注意修改环境变量,可以参考环境变量设置中的方法二。

2. conda常用命令

conda create -n xx 创建名为xx的环境
conda create -n xx python=a.b 创建名为xx的环境,且指定python版本为a.b
conda info -e 查看所有环境的名称
conda activate xx 进入名为xx的环境
conda deactivate 退出当前环境
conda install xx 安装名为xx的包
conda install r-xx 安装名为xx的R包

3. 利用conda配置python环境

conda自带最新版本的python,如果没有特殊需求可以直接使用。 如需安装指定版本的python,例如python2.7,可以按照如下步骤安装并激活:

conda create -n python27 python=2.7
conda activate python27

3.1 配置torch环境

首先用conda新建一个pytorch的环境,方便版本管理。根据文档建议,我们选择python3.8

conda create -n pytorch12 python=3.8

创建好后进入pytorch环境

conda activate pytorch12

下一步安装pytorch

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

注:pytorch版本和cuda版本自行调整,如果不用gpu可以选cpu版本的torch安装,详见pytorch网站中的Get Started。 安装测试一下是否可以使用,进入python后

import torch
print(torch.__version__)
print(torch.cuda.is_available())

如果第一行能显示版本号表示正常安装;第二行显示True表示cuda可用,即可以使用gpu训练模型,而显示False则表示不能使用gpu,正常情况下应该是True。

3.2 gpu的使用

首先查看gpu的使用率 nvidia-smi 用 torch.cuda.set_device(xx) 把gpu切换成使用率较低的,不要扎堆用0。

3.3 tensorboard的使用

对于83/86服务器,可以直接访问服务器ip:port使用tensorboard; 对于81服务器,可以借助vscode使用: 在vscode中按 ctrl+shift+P 输入 python:launch tensorboard 就可以打开使用了

4. 配置R环境

由于 R 的开发者和使用者多数都在胡写,版本管理和依赖关系一塌糊涂,这里推荐利用 conda 来安装 R 和 R 包。 首先创建一个 conda 环境来安装 R

conda create -n R41 r-base=4.1

例如我们安装 R4.1,将 conda 环境命名为R41 这时,进入 R41 环境后再输入命令 R 就是用的刚刚安装的 R ,不是公共的 R,

tips0: 如果有 R 包用 install.packages() 装不上的情况,可以用 conda install r-xx 来安装。

tips1: 可以使用第5节服务器在线资源的链接连接服务器的RStudio。

5. 在pbs中如何指定 conda 环境

只需要在脚本里添加如下两行

export PATH=$HOME/miniconda3/bin:$PATH
source activate my_environment

6. 如何使用jupyter实现交互式coding

6.1 jupyter 的基本配置

切换到base环境,然后安装jupyter:

conda install jupyterlab

然后安装nb_conda_kernels,用于在jupyter里切换不同环境:

conda install nb_conda_kernels

接下来修改jupyter配置,首先生成配置文件

jupyter lab --generate-config

运行上述命令会在$HOME/.jupyter/目录自动创建配置文件jupyter_lab_config.py 修改配置文件:

vim ~/.jupyter/jupyter_lab_config.py

在最上面输入下列代码:

c.NotebookApp.ip='0.0.0.0' #允许访问的IP地址
c.NotebookApp.open_browser = False
c.NotebookApp.port = xx #自行指定一个端口xx, 访问时使用该端口,范围1-65535,尽量大一点防止冲突
c.NotebookApp.allow_remote_access = True

(注:上述配置对jupyter notebook和jupyter lab都是适用的)

配置好后,对于83/86服务器,我们可以通过浏览器直接使用jupyter。 在服务器输入命令

jupyter lab

(注:不是在python里输入,是直接在shell里打) 然后在自己电脑上打开浏览器,访问59.77.1.83:xx (这里的xx是配置文件里设置的端口) 根据提示设置密码,token在服务器的输出里,设置好密码后在服务器用ctrl+c两次关闭jupyter 然后用pbs提交下述脚本

#!/bin/sh -x
#PBS -l nodes=1:ppn=1
#PBS -N jupyterlab
#PBS -l walltime=30000:00:00
cd $PBS_O_WORKDIR
date
hostname
jupyter lab
date

在自己电脑上访问59.77.1.83:xx就可以使用了

对于81服务器,因为服务器配置问题,可以借助vscode使用。

安装vscode然后在扩展里装一个remote-SSH,配置好后就可以直接打开服务器里的notebook并运行。如需切换不同conda环境只需点右上角,也很方便。 remark: 可能会提示没有ipykernel,根据提示装一下就行了

6.2 用 jupyter 写 R 代码

首先进入安装好的 R 环境

conda activate Rxy 

安装交互式R解释器

conda install r-IRkernel 

进入R,然后输入以下命令启动IRkernel:

IRkernel::installspec(name='irxy', displayname='Rx.y')

然后就会在jupyter显示名为Rx.y的kernel,打开就可以写 R 代码了

7. 配置tex、Julia等其他环境

TBD