这可能是一个非常基本的问题,但这是我第一次使用slurm-cluster,我不想弄乱任何东西(管理员正在休假)。
我有一个使用“进口火炬”的python脚本。当我运行“ sbatch myscript.sh”时,得到的输出是“ ImportError:没有名为“ torch”的模块”。我在节点内使用pip下载了火炬包,但下载后仍然出现importError。
我如何使我的导入工作?我应该从github下载软件包的源代码,然后将它们上传到slurm上的主目录中吗?管理员给我的指南没有包含有关此方案的信息,我缺少什么?
答案 0 :(得分:0)
您应该将所有这些软件包都导入bash代码中。 这是一个示例:
#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --mem-per-cpu=1.5G # increase as needed
#SBATCH --time=1:00:00
module load python/3.6
virtualenv --no-download $SLURM_TMPDIR/env
source $SLURM_TMPDIR/env/bin/activate
pip install --no-index --upgrade pip
pip install --no-index -r requirements.txt
python ...
您可以将所有依赖项放入需求文件中,并将它们全部一次安装在virtualenv中。 有关更多信息,请查看this page。