自己的电脑是2060 6G的显卡,跑一个老师给的代码报内存不够。所以想着找网上的一些计算资源,同学给了一个二维码,扫码登记之后有人打电话服务,把我拉进三人的专属服务小群里,有专门的工程师解答问题(有问必回,对我这种小白来说帮助很大,让我一个小小本科生受宠若惊)。
这里放一下网址:https://ac.sugon.com/
刚入坑炼丹,一脸懵逼,不知道怎么用别人的计算资源。先是跟着教程连接服务器教程,Xshell、Xftp及PyCharm连接深度学习GPU服务器的详细使用方法,拿Xshell和Xftp连接上了中科曙光的服务器,之后发现有点没必要,别人自己配备了命令行和文件管理,所以之后就直接拿他的E-shell和E-file来操作了。
炼丹首先是配环境,中科曙光自己好像有个什么SLURM调度器(详见:SLURM调度器使用教程),是集群自带的环境,但是工程师建议我自己配置环境,而且人家会帮我配好,我只需要说要装什么包就行(服务真周到)。
环境配好后,该怎么运行我的代码呢?又把我整不会了,好在人家工程师耐心指导,只需要把运行脚本(.slurm文件)写好,通过命令行输入sbatch 脚本名
即可运行自己想要运行的指令。我这里脚本写的是
#!/bin/bash
#SBATCH -J pytorch
#SBATCH -N 1
#SBATCH -n 32
#SBATCH -p wzhdtest
#SBATCH --gres=dcu:4
source ~/.bashrc
source /work/home/act4hha6ti/anaconda3/etc/profile.d/conda.sh
conda activate pt1.10_py37
export LD_LIBRARY_PATH=/work/home/act4hha6ti/anaconda3/envs/pt1.10_py37/lib:$LD_LIBRARY_PATH
module purge
module load compiler/devtoolset/7.3.1
module load mpi/hpcx/gcc-7.3.1
module load compiler/dtk/22.10
#/work/home/act4hha6ti/anaconda3/envs/pt1.10_py37/bin/python
cd /work/home/act4hha6ti/Code_Repository/Spatial-Temporal-Attention-Network-for-POI-Recommendation-master/
python train.py
中间还出现了一些问题,比如一开始运行它报了这个错:
因为我是直接把生成的数据和代码都传上去了(20多个G,传了半天),在本地跑是没问题的,我就找不到问题所在了,工程师帮我排查了集群方面的问题,最后还是我问学姐,学姐说可能是因为版本不一致的问题(我猜可能是joblib的版本不一致),让我在集群的环境下重新生成一遍数据。这次终于成功跑起来了。
然后就等炼丹结束,丹香四溢。不知是否能达到七品之阶,引来丹雷?