跳到内容

并行性#

SMAC 通过 Dask 原生支持多个工作进程。只需在场景中指定 n_workers 即可使用。

注意

请注意,额外的工作进程仅用于评估试验。主线程仍协调优化过程,包括训练代理模型。

警告

当目标函数评估速度很快时,使用大量工作进程可能会适得其反,因为会产生通信开销。在这种情况下,请考虑仅使用一个工作进程。

警告

使用多个工作进程时,SMAC 将不再可重现。

在集群上运行#

您也可以传递自定义的 dask 客户端,例如在 slurm 集群上运行。请参阅我们的 并行性示例

警告

在某些集群上,当您在作业内部而不是登录节点上运行 SLURMCluster 时,可能无法生成新作业。可能不会出现明显错误,但可能会静默挂起。

警告

有时您需要修改启动命令,这可以通过 SLURMCluster.job_class.submit_command 完成。

cluster.job_cls.submit_command = submit_command
cluster.job_cls.cancel_command = cancel_command