跳到内容

常见问题#

我应该使用 SMAC2 还是 SMAC3?#

SMAC3 是原始 SMAC 工具的重新实现 (Sequential Model-Based Optimization for General Algorithm Configuration, Hutter et al., 2021)。然而,此重新实现与原始 SMAC 略有不同。如需与原始 SMAC 进行比较,请参阅此处提供的 SMAC (v2) 的稳定 Java 版本:此处。由于 SMAC3 正在积极维护中,我们建议在任何 AutoML 应用中使用 SMAC3。

无法导入 SMAC。#

尝试从 SMAC 的根目录运行 SMAC,或者先运行安装。

pyrfr 抛出神秘的导入错误。#

确保用于编译 pyrfr 的 gcc 与执行期间用于链接的 gcc 相同。这在使用 Anaconda 时经常发生。请参阅安装以获取解决方案。

我如何将 :term:BOHB 和/或 HpBandSter 与 SMAC 一起使用?#

外观模式 MultiFidelityFacade 是最接近 :term:BOHB 和/或 HpBandSter 的实现。

我发现了一个错误或 SMAC 的行为不符合预期。我应该在哪里报告?#

在我们的 GitHub 问题列表中开启一个问题。在报告错误之前,请确保:

  • 你的错误尚未在我们的问题跟踪器中报告。
  • 你正在使用最新的 SMAC3 版本。

如果你发现了问题,请向我们提供以下信息:

  • 问题的描述。
  • 重现问题的示例。
  • 任何有助于解决错误的关于你的设置的信息(例如已安装的 python 包)。
  • 欢迎附上显示问题的截图。

我想贡献代码或讨论新想法。我应该在哪里报告?#

SMAC 使用 GitHub 问题跟踪器来处理问题和反馈,并且是讨论新特性和正在进行的工作的首选地点。请同时参阅我们的贡献指南

什么是 deterministic(确定性) 的含义?#

如果将 deterministic 标志设置为 False,则假定目标函数是非确定性的。为了评估非确定性算法的配置,将使用不同的种子进行多次运行,以确定该配置在单个实例上的性能。确定性算法不依赖于种子,因此只需在单个实例上评估一次配置即可评估该实例上的性能。尽管如此,默认种子 0 仍会传递给目标函数。

为什么 SMAC 无法在 Colab/Mac 上运行并因错误“Child process not yet created”而崩溃?#

SMAC 使用 pynisher 来对目标函数运行器强制执行时间和内存限制。然而,pynisher 可能并非总是在特定设置上有效。为了克服此错误,建议删除限制以使 SMAC 运行。