未提供项目说明
Auptimizer的Python项目详细描述
auoptimizer是一种机器学习(ML)的优化工具,它自动化了模型构建和部署过程中的许多繁琐部分。 目前,auoptimizer有助于:
- 在
在最短时间内获得最佳模型-通过使用 最先进的超参数优化(HPO)技术。auoptimizer将运行和记录复杂的HPO实验,在您选择的计算资源上毫不费力地保持一致性和再现性。在
在 - 在
使您的模型边缘就绪-通过将模型转换为行业标准的ONNX和TensorFlow-Lite格式,获得模型设备兼容性和增强的设备性能。auoptimizer转换器提供经过验证的转换技术,以确保无需担心的格式转换。在
在 - 在
轻松选择最适合边缘部署的模型-比较不同模型在基于CPU的边缘设备上的特定计算和内存限制下的执行情况。auoptimizer Profiler将帮助您识别最有效的模型,而无需经历多个物理部署周期。在
在
最棒的是,auoptimizer提供了一个一致的接口,允许用户在不同的HPO算法、转换框架和计算资源之间切换,而对现有代码的更改最小。在
将来,auoptimizer将支持边缘设备的端到端模型构建,包括模型压缩和 神经结构搜索。在
能力
超参数优化
auoptimizer通过执行和记录超参数实验来自动化繁琐的实验。auoptimizer为一流的HPO算法(包括Bayesian optimization和multi-armed bandit)提供了单一的无缝接入点。您甚至可以集成您自己的专有解决方案。此外,使用auoptimizer,您可以充分利用您的计算资源。无论您使用的是两个gpu还是AWS,auoptimizer都将帮助您协调计算资源,以实现更快的超参数调整。在
下表显示了当前支持的超参数优化技术和资源的完整列表。在
Supported HPO Algorithms | Supported Infrastructure |
---|---|
Random Grid Hyperband Hyperopt Spearmint BOHB EAS (experimental) Passive | Multiple CPUs Multiple GPUs Multiple Machines (SSH) AWS EC2 instances |
分析器
Profiler是一个仿真器,用于分析机器学习模型脚本的性能。给定基于CPU的边缘设备的计算和内存资源限制,Profiler可以为设备上的模型脚本提供计算和内存使用的估计值。这些估计可以用来选择性能最好的模型,或者在某些情况下,用来预测计算和内存模型在目标设备上的使用量。在
因为Profiler在用户的开发机器上模拟目标设备环境,所以用户可以了解模型脚本的性能和资源需求,而无需将其部署到目标设备上。Profiler有助于加快模型选择周期,简化模型设备匹配的查找。用法请参见Profiler。在
转换器
Converter是用于机器学习模型的格式转换工具。它将单个机器学习模型转换的最佳实践封装在一个API下。Converter通过将ML模型转换为行业标准ONNX和TensorFlow-Lite格式,并通过量化缩小模型大小,使ML模型适合于边缘(设备上)部署。在
安装
auoptimizer目前已经在Linux系统上进行了很好的测试,可能需要对Windows用户进行一些调整。在
pip install auptimizer
Note不包括依赖项。使用pip install
requirements.txt将安装
所有功能所需的库。在
文件
更多信息请参见documentation
在示例
^{pr2}$每个作业的超参数配置分别保存在jobs/*.json
下,并且还记录在SQLite文件.aup/sqlite3.db
中。在
更多示例在Examples下。在
许可证
引用
如果您使用此软件进行研究,请引用以下论文(IEEE Big Data 2019接受):
@misc{liu2019auptimizer,
title={Auptimizer -- an Extensible, Open-Source Framework for Hyperparameter Tuning},
author={Jiayi Liu and Samarth Tripathi and Unmesh Kurup and Mohak Shah},
year={2019},
eprint={1911.02522},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
- 项目
标签: