并行性#
SMAC 通过 Dask 原生支持多个工作进程。只需在场景中指定 n_workers
即可使用。
注意
请注意,额外的工作进程仅用于评估试验。主线程仍协调优化过程,包括训练代理模型。
警告
当目标函数评估速度很快时,使用大量工作进程可能会适得其反,因为会产生通信开销。在这种情况下,请考虑仅使用一个工作进程。
警告
使用多个工作进程时,SMAC 将不再可重现。
在集群上运行#
您也可以传递自定义的 dask 客户端,例如在 slurm 集群上运行。请参阅我们的 并行性示例。
警告
在某些集群上,当您在作业内部而不是登录节点上运行 SLURMCluster 时,可能无法生成新作业。可能不会出现明显错误,但可能会静默挂起。
警告
有时您需要修改启动命令,这可以通过 SLURMCluster.job_class.submit_command
完成。