编写可维护的机器学习代码

面向生产环境的机器学习模型开发

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

项目结构化

  • 将项目文件组织为清晰的结构
  • 将相关文件归组
    • 将数据集与 ML 模型分别放入独立文件夹
  • 确保文件命名与标注规范

结构

面向生产环境的机器学习模型开发

示例项目结构

示例项目目录,含 README、依赖文件及三个子文件夹:data、models、notebooks mlops_directory

  • README.md:说明仓库目的及使用方法。
  • requirements.txt:列出所有依赖
  • data:存放与数据相关的文件,含原始与处理后数据
  • models:存放与模型相关的文件,包括建模脚本
  • notebooks:用于数据探索、模型训练与评估的笔记本
面向生产环境的机器学习模型开发

代码版本控制

  • 使用 git 等版本控制系统跟踪代码变更
  • 必要时可回滚变更
  • 有助于定位缺陷来源
  • 便于并行协作

代码

面向生产环境的机器学习模型开发

文档

  • 编写代码与项目结构文档
  • 说明每个文件与函数的用途
  • 描述代码的使用方法
  • 包含部署 ML 模型的说明

文档

面向生产环境的机器学习模型开发

代码的适应性

  • 更易于理解、修改和更新
  • 降低修改代码库所需的时间与精力
  • 更易适应数据、代码与需求的变化
  • 更不易出错
  • 更便于按需集成新功能或新技术
  • 构建可持续演进的 ML 应用的关键
面向生产环境的机器学习模型开发

Passons à la pratique !

面向生产环境的机器学习模型开发

Preparing Video For Download...