公有云服务器使用说明(Penguin)
服务器资源:
penguin
: 计算服务器(81.xx.xx.124):AMD EPYC™ Milan(2.55GHz/3.5GHz) (64 threads), 128GB RAM, 2TB HDD;256TB 对象存储COS; Ubuntu 18.04 OS
使用说明
- 服务器购买自腾讯云,公网IP。
- 此台服务器没有显卡,没有显卡,没有显卡。
- 用户私有数据存放在
/workspace
目录。例如对于用户zyx
,私有目录为/workspace/zyx
。 - 大体量数据可存储在对象存储COS,路径在
/data/
。 - 请使用ssh方式连接服务器,本地客户端推荐使用tabby和winscp工具。有使用GUI需求时可联系为师。
- 查看系统CPU运行状态用命令
htop
。并行计算时,线程数不要超过逻辑CPU核数(64 threads),同时警惕内存溢出。 - 跑任务,或者基于vscode/jupyter debug,请使用
tmux
管理会话。具体参考这里。 - python编程请用户使用各自的conda虚拟环境进行管理,装包切勿都装在
base
环境。具体参考这里。 - 对于pipeline编写和调试(尤其深度学习),建议在服务器docker容器内操作。参考Jupyter远程调试docker容器具体 及VScode远程调试docker容器。
- 神经影像分析基础镜像
mindsgo-sz-docker.pkg.coding.net/neuroimage_analysis/base/msg_baseimage_cuda11:deepFS
,内置python3.8 + cuda11.0.221 + cudnn8.0.3 + pytorch1.7.0 + nibabel + scikit-learn + nilearn
,同时集成了ANTS
,FSL6.0.4
,MRtrix3.0.2
,c3d
,freesurfer7.3.2
等常用软件。
# 调用命令示例:
docker run -it --rm --name deepFS \
-v <localpath>:/dataio \
mindsgo-sz-docker.pkg.coding.net/neuroimage_analysis/base/msg_baseimage_cuda11:deepFS
penguin已安装软件:
- tmux
- MRtrix3
- docker
- conda
penguin如何启用jupyter编程:
- 创建自己的conda环境
# 以zyx为例
/opt/miniconda3/bin/conda init bash
### 根据提示,可能需要reopen一个新的终端生效配置,再执行后续命令
conda create -n zyx python=3.8
- 激活zyx环境
conda activate zyx #若提示权限问题,可使用chmod命令来更改权限
- 将当前conda环境添加进jupyter kernel
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple
python -m ipykernel install --name zyx
- 以上实现了jupyter kernel的环境添加,只需要操作一次即可。后续每次编程只需要启动jupyter会话即可。
- 验证获取服务器的jupyter可用端口:
jupyter notebook --config /root/.jupyter/jupyter_notebook_config.py --allow-root
根据提示获知可用端口,如8888,然后ctrl+C退出。鉴于服务器是公网IP,需要使用端口转发,建议打开windows自带的powershell,新建端口转发的ssh通道。为保证会话进程在后台始终活跃,建议使用tmux进程管理jupyter后台:
# 以下在windows powershell中执行,以zyx用户为例
# 8000是本地端口,8888是远程jupyter端口(根据上一步获取的实际可用端口做修改)
# remote_server_ip改成服务器真实IP
ssh -L 8000:localhost:8888 zyx@remote_server_ip
# 新建tmux会话,以zyx用户为例
tmux new -s jupyter_zyx
- 进入编程根目录(自行指定)
cd /data/zyx
- 启动jupyter会话
jupyter notebook --config /root/.jupyter/jupyter_notebook_config.py --allow-root
此时会生成IP,如:http://127.0.0.1:8888/tree?token=5d3dfa55f08fa4e4c2f4a7f217fe0f64c135c73f7bd4e6ea 把其中端口8888替换成本地端口即可(8000),本地浏览器键入IP实现访问。
- 如果访问不了,需要换新的本地端口重新尝试,如8001。如果可以正常访问,后续可以通过tmux会话管理jupyter后台,如重新切入到已有tmux 会话:
tmux a -t jupyter_zyx
只要jupyter后台持续活跃,理论上就可以网页访问jupyter。
- 新建conda环境(如zyx)对应的ipykernel,即可使用。