我想在使用Slurm作为工作引擎的集群上使用Keras。
如果我打开终端并运行以下命令,一切正常:
$python
>>> import tensorflow
>>> import keras
但是,如果我将import tensorflow
和import keras
放在Python文件中,然后我从slurm调用:
srun [bunch of parameters for my cluster] python mypythonfile.py
然后我收到以下错误:ImportError: No module named keras
。
在使用Slurm的群集中使用Keras时是否有特定的事情要做?
答案 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文件中,然后一切正常。