不能从Slurm打电话给Keras

时间:2017-09-07 23:05:08

标签: keras slurm

我想在使用Slurm作为工作引擎的集群上使用Keras。

如果我打开终端并运行以下命令,一切正常:

$python
>>> import tensorflow
>>> import keras

但是,如果我将import tensorflowimport keras放在Python文件中,然后我从slurm调用:

srun [bunch of parameters for my cluster] python mypythonfile.py

然后我收到以下错误:ImportError: No module named keras

在使用Slurm的群集中使用Keras时是否有特定的事情要做?

2 个答案:

答案 0 :(得分:2)

我重申我的评论只是为了表明这个问题已得到解答:

module load xxxx的共同点xxxx是与默认设置不同的Python安装。您通常会将其粘贴在.bash_profile或类似的文件中,以确保您拥有所需的Python版本,始终可用。

当您使用Slurm提交作业时,它不会调用您的.bash_profile。它只是执行脚本。您需要确保加载Python发行版是该脚本的一部分。

答案 1 :(得分:1)

我也遇到了这个问题,最近又解决了。正如上面提到的答案,slurm命令不会执行.bash_profile,而可以在python中直接导入kears的原因是.bash_profile中的环境设置语句。结果,我将export PATH =“ / n / home01 / username / miniconda3 / bin:$ PATH”添加到我的sbatch文件中,然后一切正常。