使用 Azure Repos 和 GitHub 存储库

已完成

尽管可以直接对主代码进行更改,但最佳做法是使用基于主干的开发。 通过使用分支,在将更改与主代码合并之前,可以更轻松地验证更改是否按预期生效。

为了解基于主干的开发实际上是如何工作的,你将探索使用 Azure DevOps 和 GitHub 更新代码的过程。 需要随时更改机器学习工作流的代码。 因此,你将使用敏捷规划来确定何时更新代码并组织工作

敏捷规划

在初始模型开发后,你将在生产环境中得到一个模型。 与任何应用程序一样,模型不是静态的,随着时间的推移,可能需要进行或大或小的调整,以确保它是最新的。 更新和重新训练模型的原因可能是检测到数据偏移,导致模型不再按预期执行。 数据可能会随时间推移发生变化,模型也是如此。

若要规划和组织数据科学家需要完成的工作,可以在 Azure DevOps 或 GitHub 问题中使用 Azure Boards

Azure DevOps

Azure Boards 通过工作项跟踪、可视化和报告来组织敏捷规划。 可以自定义许多内容,根据项目计划进行相应调整。

提示

若要了解如何设置和自定义 Azure Boards,可以详细了解如何使用适用于敏捷工作负负载的 Azure Boards查看 Azure Boards 文档

对于数据科学家来说,最重要的是一点是你将获得分配给你的工作项,用于告知你需要怎么做才能为机器学习项目做出贡献。 若要组织工作,请将工作项链接到新分支

假设你是负责处理机器学习项目的数据科学家。 团队具有积压工作项或产品积压工作项,它们按特征或机器学习生命周期阶段分组

Screenshot of backlog items in Azure Boards.

要查看此项目的工作项,另一种方法是导航到 Boards。 通常,你将具有新工作项、活动的工作项和已关闭的工作项的列。 或者是仍需要执行的任务、正在执行的任务或已完成的任务。

Screenshot of Azure Boards board overview.

若要选取工作项并让团队知道你正在处理它,你(或其他人)可以为你自己分配工作项。 选择“未分配”框,然后选择你的姓名

通过选择工作项,还可以查看详细信息。

Screenshot of Azure Boards work item details.

在“开发”控制窗格中,可以选择“创建分支”以在存储库中创建新分支,该分支将自动链接到工作项。 创建后,将重定向到新分支,你可在其中查看存储库中存储的所有资产。

Screenshot of Azure Repos showing branch.

创建分支后,可以在分支中工作,更改代码。 通常的做法是,将分支克隆到集成开发环境 (IDE),例如 Visual Studio Code,在本地开发和测试,然后再将更改提交并推送到主存储库

GitHub

GitHub 是一个开源平台,所有工具都按单个存储库组织。 创建存储库后,可以使用 GitHub 问题来跟踪工作项、反馈和 bug。

在 GitHub 中打开存储库时,可以导航到“问题”选项卡以查看所有待解决和已解决的问题。 你可以选择某个问题来查看其详细信息。 问题创建者可以描述问题、添加代码片段或屏幕截图。

Screenshot of GitHub issue example with task pane highlighted.

创建问题后,你就可以将工作分配给自己或其他 GitHub 用户。 若要处理该问题,可以从“开发”控件创建分支

随即将打开一个窗格,帮助你创建将链接到该问题的分支。 分支将自动包含问题标题的名称。 如果需要,你可以更改分支名称。

Screenshot of GitHub repo branch created from issue.

如果导航回“代码”选项卡来查看存储库,你将能够在分支之间并查看你创建的新分支

Screenshot of create new branch in GitHub repo.

在 Azure DevOps 中选取工作项或在 GitHub 中选取了问题,并创建了一个分支来编辑代码后,最好在本地开发代码。 可以从 Azure DevOps 或 GitHub 中克隆 Git 存储库,并通过首选的任何 IDE 工作