适应性实验

ax-platform的Python项目详细描述


Ax Logo

Build StatusBuild StatusBuild StatusBuild StatuscodecovBuild Status

ax是一个可访问的通用平台,用于理解、管理, 部署和自动化自适应实验。

自适应实验是机器学习指导下的迭代过程。 探索(可能无限)参数空间以确定最优 以资源高效的方式配置。ax目前支持bayesian 优化和bandit优化作为勘探策略。贝叶斯 ax中的优化由BoTorch, 基于pytorch的现代贝叶斯优化研究库。

有关完整的文档和教程,请参见Ax website

为什么是斧头?

  • versatility:ax支持不同类型的实验,从动态ml辅助的a/b测试,到机器学习中的超参数优化。
  • customization:ax使添加新的建模和决策算法变得容易,使研究和开发能够以最小的开销进行。
  • 生产完整性:ax具有存储集成和完全保存和重新加载实验的能力。
  • 支持多模态和受限实验:ax允许运行和组合多个实验(例如,使用真实世界的“在线”a/b测试进行模拟)和约束优化(例如,在不显著提高资源利用率的情况下提高分类精度)。
  • 在高噪声设置中的效率:ax提供专门针对噪声实验的最新算法,例如使用增强学习代理的模拟。
  • {STR 1 }易用性< /强>:AX包含3种不同的API,它们在轻量级结构和灵活性之间取得不同的平衡。使用最简洁的循环api,只需一次函数调用就可以完成整个优化。服务api很容易与外部调度程序集成。最详细的开发人员api提供了完整的算法定制和实验自省。

开始

在ax中运行一个简单的优化循环(使用 Booth response surface作为 人工评价函数:

>>>fromaximportoptimize>>>best_parameters,best_values,experiment,model=optimize(parameters=[{"name":"x1","type":"range","bounds":[-10.0,10.0],},{"name":"x2","type":"range","bounds":[-10.0,10.0],},],# Booth functionevaluation_function=lambdap:(p["x1"]+2*p["x2"]-7)**2+(2*p["x1"]+p["x2"]-5)**2,minimize=True,)# best_parameters contains {'x1': 1.02, 'x2': 2.97}; the global min is (1, 3)

安装

要求

运行ax需要python 3.6或更高版本。

所需的python依赖项是:

  • botorch
  • Jinja2
  • 熊猫
  • scipy
  • sklearn
  • plotly=2.2.1

稳定版本

通过PIP安装

我们建议通过pip安装ax(即使使用conda环境):

conda install pytorch torchvision -c pytorch  # OSX only (details below)
pip3 install ax-platform

安装将使用pypi中的python轮子,可用于OSX, Linux, and Windows

recommendation for macos users:pytorch是botorch的必需依赖项,可以通过pip自动安装。 但是,我们建议您在安装ax之前使用anaconda包管理器。 从anaconda安装将链接到mkl(一个为英特尔处理器优化数学计算的库)。 这将导致贝叶斯优化的速度提高一个数量级,目前,从pip安装pytorch并不与mkl连接。

如果你在macos上需要cuda,你需要从源代码构建pytorch。请参考上面的pytorch安装说明。

可选依赖项

要在笔记本环境中使用ax,您需要jupyter。先安装:

pip3 install jupyter

如果要将实验存储在mysql中,则需要sqlalchemy:

pip3 install SQLAlchemy

最新版本

从Git安装

您可以从git安装最新(最新的)版本:

pip3 install cython numpy  # needed for compiling Cython code
pip3 install git+ssh://git@github.com/facebook/Ax.git#egg=Ax

请参阅以上为MacOS用户安装Pythorch的建议。

有时,ax的出血边缘可能取决于botorch(或gpytorch)的出血边缘版本。因此,我们也建议从git安装:

^{公关6}$

可选依赖项

如果在Jupyter笔记本中使用斧头:

pip3 install git+ssh://git@github.com/facebook/Ax.git#egg=Ax[notebook]

如果在mysql或sqlite中通过sqlalchemy存储ax实验:

pip3 install git+ssh://git@github.com/facebook/Ax.git#egg=Ax[mysql]

加入ax社区

请参阅CONTRIBUTING文件以获取帮助。

当对ax进行贡献时,我们建议克隆repository并安装所有可选依赖项:

# bleeding edge versions of GPyTorch + BoTorch are recommended
pip3 install git+https://github.com/cornellius-gp/gpytorch.git
pip3 install git+https://github.com/pytorch/botorch.git

pip3 install cython numpy  # needed for compiling Cython code
git clone https://github.com/facebook/ax.git
cd ax
pip3 install -e .[notebook,mysql,dev]

请参阅以上为MacOS用户安装Pythorch的建议。

许可证

ax是根据MIT license授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件