支持api的kubernetes机器学习实验跟踪
experiments的Python项目详细描述
#实验API
训练一个深层神经网络需要找到一个好的模型超参数组合找到每一个值的过程称为超参数优化。每个这样的实验所需的工作数量通常从低到几百个不等。
用于优化的各个工作流各不相同,但这通常是一个特别的手动过程,包括自定义作业提交脚本,甚至是笔和纸。
该项目提供了一个api来支持kubernetes上的机器学习实验。这是通过将实验上下文移动到共享api并标准化实验作业元数据来完成的。这促进了成果共享和工具开发。将参数空间搜索与作业执行分离将进一步促进重用。该项目通过提供一个python客户端库,简化了与实验跟踪系统的作业集成。
[![概述图](docs/images/overview.png)](https://docs.google.com/drawings/d/1CGDVt9finf_QC_H6lAIW9StmYiNOCLoemAmpNRN47tg/edit)
##先决条件
- git
- make
- python
- kubectl and a connected cluster (minikube or a full cluster)
##安装
要安装最新版本,请运行以下命令: ` $ pip install experiments `
##开发
要签出并安装最新的开发版本,请运行: ` $ git clone https://github.com/IntelAI/experiments.git $ cd experiments $ pip install . ` 要测试实验api,请运行以下命令: ` $ pip install -r requirements_tests.txt $ make test `
##附录
###概念
experiment描述一个超参数空间以及如何为该空间中的样本启动作业。有一个唯一的名字。
optimizer读取实验并创建具有不同超参数设置的作业的程序。这可以一次完成,或者优化器可以是一个长期运行的协调器,它监视各种样本的性能,以指导超参数优化过程。此程序由用户提供。
Result对有关为实验运行的单个作业的元数据进行编码例如,每个培训阶段有几个高级指标,以及指向共享存储上的输出目录的指针。每个作业有一个结果资源。每个结果都与它所表示的作业同名。