submarine
1.0.0



Apache潜艇(简称潜艇)是一个端到端的机器学习平台,允许数据科学家创建端到端的机器学习工作流程。在潜艇上,数据科学家可以在ML模型生命周期中完成每个阶段,包括数据探索,数据管道创建,模型培训,服务和监视。
一些开源和商业项目正在尝试建立一个端到端的ML平台。潜艇的愿景是什么?
西奥多·莱维特(Theodore Levitt)曾经说过:
“People don’t want to buy a quarter-inch drill. They want a quarter-inch hole.”
experiment 。environment的experiment和依赖性版本。如上所述,潜艇尝试提供数据科学家友好的UI来使数据科学家具有良好的用户体验。这里有一些例子。
# New a submarine client of the submarine server
submarine_client = submarine . ExperimentClient ( host = 'http://localhost:8080' )
# The experiment's environment, could be Docker image or Conda environment based
environment = EnvironmentSpec ( image = 'apache/submarine:tf-dist-mnist-test-1.0' )
# Specify the experiment's name, framework it's using, namespace it will run in,
# the entry point. It can also accept environment variables. etc.
# For PyTorch job, the framework should be 'Pytorch'.
experiment_meta = ExperimentMeta ( name = 'mnist-dist' ,
namespace = 'default' ,
framework = 'Tensorflow' ,
cmd = 'python /var/tf_dist_mnist/dist_mnist.py --train_steps=100' )
# 1 PS task of 2 cpu, 1GB
ps_spec = ExperimentTaskSpec ( resources = 'cpu=2,memory=1024M' ,
replicas = 1 )
# 1 Worker task
worker_spec = ExperimentTaskSpec ( resources = 'cpu=2,memory=1024M' ,
replicas = 1 )
# Wrap up the meta, environment and task specs into an experiment.
# For PyTorch job, the specs would be "Master" and "Worker".
experiment_spec = ExperimentSpec ( meta = experiment_meta ,
environment = environment ,
spec = { 'Ps' : ps_spec , 'Worker' : worker_spec })
# Submit the experiment to submarine server
experiment = submarine_client . create_experiment ( experiment_spec = experiment_spec )
# Get the experiment ID
id = experiment [ 'experimentId' ] submarine_client . get_experiment ( id ) submarine_client . wait_for_finish ( id ) submarine_client . get_log ( id ) submarine_client . list_experiments ( status = 'running' )有关快速启动,请参阅K8S上的潜艇
(在0.5.0上可用,请参见路线图)
如果您想进一步了解潜艇的架构,组件,需求和设计文档,可以在架构和要求上找到它们
详细的设计文档,实施注释,请参见:实施说明
阅读Apache潜艇社区指南
如何贡献指南
登录潜艇休闲频道:https://join.slack.com/t/asf-submarine/shared_invite
问题跟踪:https://issues.apache.org/jira/projects/submarine
查看用户指南主页
请参阅开发人员指南主页
关于潜艇的进一步了解更多?请检查路线图:https://cwiki.apache.org/confluence/display/submarine/roadmap
从这里开始,您可以知道不同版本的Apache潜艇的ChangElog和问题跟踪器。
Apache潜艇:统一的机器学习平台在Euromlsys '22上简单
Apache潜艇项目是根据Apache 2.0许可证获得许可的。有关详细信息,请参见许可证文件。