使用Hydra Submitit Launcher插件提交Slurm集群任务时无法导入本地models模块的问题求助
使用Hydra Submitit Launcher插件提交Slurm集群任务时无法导入本地models模块的问题求助
我在实验中用Hydra做配置管理,现在尝试用hydra submitit launcher plugin自动把任务提交到slurm集群。
我的主配置文件是这样的:
defaults: - override hydra/launcher: slurm foo: 1
对应的slurm配置文件如下:
defaults: - submitit_slurm _target_: hydra_plugins.hydra_submitit_launcher.submitit_launcher.SlurmLauncher submitit_folder: ${hydra.sweep.dir}/.submitit/%j name: ${hydra.job.name}
项目结构是这样的:
|--project | |--src | | |--main.py | | |--models | | | |--__init__.py | | | |--file1.py | | | |--file2.py | |--scripts | | |--run.sh
在__init__.py里我定义了要从models导出的内容,main.py里正常用from models import func导入。
问题所在:
当我把主配置文件里的submitit launcher注释掉时,一切运行正常,但取消注释后就会报错,错误信息如下:
submitit ERROR (2025-01-04 21:31:32,789) - Submitted job triggered an exception Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/_submit.py", line 11, in <module> submitit_main() File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/submission.py", line 76, in submitit_main process_job(args.folder) File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/submission.py", line 69, in process_job raise error File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/submission.py", line 52, in process_job delayed = utils.DelayedSubmission.load(paths.submitted_pickle) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/utils.py", line 153, in load obj = pickle_load(filepath) ^^^^^^^^^^^^^^^^^^^^^ File "/home/a/.conda/envs/hinet/lib/python3.12/site-packages/submitit/core/utils.py", line 232, in pickle_load return pickle.load(ifile) ^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'models'
有没有人知道可能的原因和解决办法?
谢谢!
备注:内容来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

