你好!
考虑一个场景——一个孤独的数据科学家在她的系统上工作,试图遍历大量数据;清理、排序、处理,然后构建模型以对新处理的数据进行预测。这位科学家有一堆工具可供她使用——Jupyter Notebooks、Airflow、Anaconda、Pandas、数据存储和云虚拟机。
她训练了数小时又数小时,却未能达到完美——该模型的性能不如应有的好。她向窗外望去——已经是夜幕降临了。她尚未使用一组不同的参数测试她的模型,并跟踪她的实验的一组不同指标。
她关掉了她的系统,收工,第二天将尝试另一个模型,一种不同的方法,包含一堆新的数据和参数。这是一个漫长的过程,可能会持续数天……数周……甚至数月。
当她为实验尝试了特定的参数组合时,很难跳回到某个点,知识有时会丢失,因为所有的实验和与模型相关的每个工件都可能无法保存。跟踪对于 ML 模型的改进至关重要。
我认为,如果我们有一个全面的 IDE 风格的环境,我们可以在其中运行多个实验、进行数据管理,并跟踪我们的代码、实验指标、绘图、模型和数据工件,那么这种独行侠场景是可以避免的。那会有多酷?
听起来好得令人难以置信,但这正是DVC VSCode Extension试图做的事情。
DVC是跟踪您的实验、模型和相关工件的出色工具,但它是一个 CLI - 数据科学社区中的许多人可能不习惯或不熟悉它。
您必须学习一堆讨厌的 CLI 命令的日子已经一去不复返了:
使用 DVC 变得更加轻松和有趣。
Iterative Team 为您带来了一个 VS Code 扩展,它将用于数据管理、版本控制和实验的 DVC CLI 命令的强大功能与 Visual Studio Code IDE 的流畅优雅的编码体验相结合。
当前形式的扩展为您提供以下功能:
集成到 VS Code 命令面板菜单中。按 F1 打开调色板并键入 DVC 以查看一大堆与 DVC 相关的命令供您使用。
让您深入了解工作区中运行的实验。相当于 CLI 模式下的命令dvc exp show
。
您可以在工作区中查看实验运行生成的图。可以比较不同实验的地块。甚至可以查看实时更新的图表。
您可以使用此功能检查工作区的状态。您可以从此视图中dvc checkout
、 dvc commit
、 dvc add
、 dvc push
和dvc pull
。
用于跟踪工作区中资源的小窗口。从这里您可以执行文件操作、 push
和pull
特定资源以及管理跟踪数据集中的数据。
可以通过单击 VS Code 图标栏中的 DVC 图标来激活 View Container。它提供了有关工作区中的实验和资源的一般信息。
当您使用扩展时,与单独使用 CLI 相比,这里有一些优势:
使用 DVC 扩展可以概括为 4 个步骤
确保您的系统上安装了 DVC。您可以在终端中运行以下命令:
$ pip3 install dvc
或者您可以按照此处给出的指南进行特定于操作系统的安装。
转到 VS Code 并在扩展菜单中,搜索 DVC。单击安装。
https://www.youtube.com/watch?v=INjOkuanRpc
现在您已准备好 DVC 扩展。为了熟悉扩展的用法,我们将下载一个示例 ML 项目
您可以从repo下载示例项目。在 VS Code 中打开该文件夹。 DVC 扩展应该检测 DVC 二进制文件和 python 环境。
如果您有特定环境,您可以按 F1并选择DVC: Setup The Workspace
提供编译器路径和python环境二进制路径。
您可以在 DVC 视图容器选项卡的当前工作区中查看 DVC 实验。
要开始我们的实验,我们需要提取数据。按 F1打开 VS Code 命令面板并选择DVC: Pull
您可以通过选择DVC: Show DVC Output
注意:到目前为止,团队仍在开发 VS Code 插件中的 DVC 远程存储选项,您必须通过命令行或配置文件设置远程存储
您可以更改params.yaml
文件中的参数并在 VS Code 命令面板中选择DVC: Modify Experiment Param(s),Rest and Run
。
https://www.youtube.com/watch?v=buuoKsGZvvo
您也可以使用扩展检查您的实验并查看绘制的图表。
最重要的是,该扩展程序允许您挑选您的实验。双关语意图!
https://www.youtube.com/watch?v=N0VdjyQCo3Q
这还不是全部,您可以运行单个实验并更改特定参数。
如果您希望实时查看图表,对于需要大量时间的实验 - 假设 DL 模型可能有很多时期。
您也可以实时查看它们。只需运行您的实验并单击 DVC 托盘中的绘图按钮。
https://www.youtube.com/watch?v=ov5ScDPV6Rw
一切顺利完成后,您也可以提交并推送您的更改。
迭代团队将很快为扩展添加更多令人兴奋的功能。敬请关注。
不要让我们留住你,继续尝试吧。快乐的 DVC 时间!
作为一名 ML Ops 从业者,我在与不同的数据科学团队合作时应对各种挑战。市场上有各种可用的工具——付费的和开源的。我倾向于使用开源工具,因为与一个积极帮助世界各地的陌生人解决类似问题的社区有着密切的关系。
这种方法对 ML 社区具有重要意义,因为我们仍处于采用阶段,一个好的工具可以帮助您更快、更有信心地解决问题。与 ML 管道的多个阶段集成的集中式工具在帮助数据科学团队解决问题方面大有帮助;他们可以更多地关注模型改进而不是基础设施和设置——这就是吸引我使用 DVC 工具的原因。
向Iterative的团队大声疾呼,感谢他们创造了这个精彩的扩展,希望在未来能看到更多的魔力。