加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

还在用Github管理机器学习项目?你早该了解这些更专业的新工具!

发布时间:2019-07-03 00:30:24 所属栏目:建站 来源:大数据文摘
导读:副标题#e# 大数据文摘出品 编译:钱天培、胡笳 太复杂了!机器学习(ML)项目实在太复杂了! 听到这种抱怨,熟悉软件开发的小伙伴们往往是嗤之以鼻的。 机器学习,不过是和数据和软件打交道。那就应该是是运行代码、迭代算法的简单问题呀?一段时间后,我们就能

这些DVC文件记录文件和目录的MD5总和校验码(MD5 checksum)。他们被提交到git workspace上,因此DVC文件记录了每次git提交的每个文件的总和校验码。DVC使用了“DVC缓存目录”来存储每个文件的多个实例。文件实例通过总和校验码进行索引,并使用reflinks或symlinks链接到workspace。当DVC响应git checkout命令时,它能够根据DVC文件中的总和校验码快速地重排链接文件。

DVC支持远程缓存目录,用于共享文件和模型。

  1. $ dvc remote add remote1 ssh://user@host.name/path/to/dir$ dvc push$ dvc pull 

DVC remote是一个存储池,可以进行数据共享。它支持许多存储服务,包括S3、HTTP和FTP等。创建一个DVC remote非常简单。dvc push和dvc pull命令高度模拟了git push 和git pull命令。dvc push用于将数据发送到远程DVC的缓存中,dvc pull用于从远程DVC缓存中拉取数据。

机器学习项目中的工作流描述

接下来,我们将讨论如何更好地描述机器学习项目的工作流。我们应该一股脑将所有东西堆成一个程序吗?还是应该使用多种工具?

为了尽可能地创造灵活性,我们可以将工作流通过pipeline或有向无环图(DAG),并采用命令行参数作为配置选项的方式来实现。这有点类似Unix哲学中的小而精巧的工具——小巧但可以很好地协同工作。其行为可由命令行选项或环境变量指定,并且可以根据需要任意搭配使用。

相比之下,很多ML框架采用不同的方式。他们编写单独的程序来驱动特定项目的工作流。程序第一步先将数据拆分为训练集和验证集,然后训练模型并验证模型。这种整套的单独程序可带来重用代码的机会有限。

将ML项目构建pipeline可带来如下好处

  • 管理复杂性:将这些步骤作为单独命令实现可以提高透明度,并帮助你更加集中精力。
  • 优化执行:可以跳过那些没有修改且不需要返回值的步骤。
  • 可重用性:在多个项目中可重用相同的工具。
  • 可扩展性:不同的工具可由不同的团队成员独立开发。

在MLFlow中,你需要编写一个“驱动程序”。这个程序包含了所需的执行逻辑,例如处理及生成机器学习模型。在程序背后,MLFlow API发送请求给MLFlow 服务器,通过该服务器生成指定的命令。

下面这个多步骤工作流的MLFlow例子清晰的展示了这一切。

  1. ...load_raw_data_run = _get_or_run("load_raw_data", {}, git_commit)ratings_csv_uri = os.path.join(load_raw_data_run.info.artifact_uri,                    "ratings-csv-dir")etl_data_run = _get_or_run("etl_data",                   {"ratings_csv": ratings_csv_uri,                    "max_row_limit": max_row_limit},                    git_commit)…als_run = _get_or_run("als",                   {"ratings_data": ratings_parquet_uri,                   "max_iter": str(als_max_iter)},                   git_commit)…_get_or_run("train_keras", keras_params, git_commit, use_cache=False)... 

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读