使用 Azure Repos 和 GitHub 存储库
尽管可以直接对主代码进行更改,但最佳做法是使用基于主干的开发。 通过使用分支,在将更改与主代码合并之前,可以更轻松地验证更改是否按预期生效。
为了解基于主干的开发实际上是如何工作的,你将探索使用 Azure DevOps 和 GitHub 更新代码的过程。 需要随时更改机器学习工作流的代码。 因此,你将使用敏捷规划来确定何时更新代码并组织工作。
敏捷规划
在初始模型开发后,你将在生产环境中得到一个模型。 与任何应用程序一样,模型不是静态的,随着时间的推移,可能需要进行或大或小的调整,以确保它是最新的。 更新和重新训练模型的原因可能是检测到数据偏移,导致模型不再按预期执行。 数据可能会随时间推移发生变化,模型也是如此。
若要规划和组织数据科学家需要完成的工作,可以在 Azure DevOps 或 GitHub 问题中使用 Azure Boards。
Azure DevOps
Azure Boards 通过工作项跟踪、可视化和报告来组织敏捷规划。 可以自定义许多内容,根据项目计划进行相应调整。
提示
若要了解如何设置和自定义 Azure Boards,可以详细了解如何使用适用于敏捷工作负负载的 Azure Boards 或查看 Azure Boards 文档。
对于数据科学家来说,最重要的是一点是你将获得分配给你的工作项,用于告知你需要怎么做才能为机器学习项目做出贡献。 若要组织工作,请将工作项链接到新分支。
假设你是负责处理机器学习项目的数据科学家。 团队具有积压工作项或产品积压工作项,它们按特征或机器学习生命周期阶段分组。
要查看此项目的工作项,另一种方法是导航到 Boards。 通常,你将具有新工作项、活动的工作项和已关闭的工作项的列。 或者是仍需要执行的任务、正在执行的任务或已完成的任务。
若要选取工作项并让团队知道你正在处理它,你(或其他人)可以为你自己分配工作项。 选择“未分配”框,然后选择你的姓名。
通过选择工作项,还可以查看详细信息。
在“开发”控制窗格中,可以选择“创建分支”以在存储库中创建新分支,该分支将自动链接到工作项。 创建后,将重定向到新分支,你可在其中查看存储库中存储的所有资产。
创建分支后,可以在分支中工作,更改代码。 通常的做法是,将分支克隆到集成开发环境 (IDE),例如 Visual Studio Code,在本地开发和测试,然后再将更改提交并推送到主存储库。
GitHub
GitHub 是一个开源平台,所有工具都按单个存储库组织。 创建存储库后,可以使用 GitHub 问题来跟踪工作项、反馈和 bug。
在 GitHub 中打开存储库时,可以导航到“问题”选项卡以查看所有待解决和已解决的问题。 你可以选择某个问题来查看其详细信息。 问题创建者可以描述问题、添加代码片段或屏幕截图。
创建问题后,你就可以将工作分配给自己或其他 GitHub 用户。 若要处理该问题,可以从“开发”控件创建分支。
随即将打开一个窗格,帮助你创建将链接到该问题的分支。 分支将自动包含问题标题的名称。 如果需要,你可以更改分支名称。
如果导航回“代码”选项卡来查看存储库,你将能够在分支之间并查看你创建的新分支。
在 Azure DevOps 中选取工作项或在 GitHub 中选取了问题,并创建了一个分支来编辑代码后,最好在本地开发代码。 可以从 Azure DevOps 或 GitHub 中克隆 Git 存储库,并通过首选的任何 IDE 工作。