类似推荐
编辑推荐
用TensorFlow轻松实现自动化机器学习。
内容简介
本书介绍如何构建完整的机器学习流水线,从而在生产环境中准备数据以及训练、验证、部署和管理机器学习模型。你将了解机器学习流水线的每个环节,以及如何利用TensorFlow Extended(TFX)构建机器学习流水线。
作者简介
作者汉内斯·哈普克,数据科学家,善于解决各行各业的机器学习问题,与他人合著有《自然语言处理实战》。
章节目录
版权信息
版权声明
O'Reilly Media, Inc. 介绍
业界评论
本书赞誉
序
前言
第1章 入门
1.1 为什么要用机器学习流水线
1.2 什么时候考虑使用机器学习流水线
1.3 机器学习流水线步骤概述
1.3.1 数据读取和版本控制
1.3.2 数据校验
1.3.3 数据预处理
1.3.4 模型训练和模型调优
1.3.5 模型分析
1.3.6 模型版本控制
1.3.7 模型部署
1.3.8 反馈循环
1.3.9 数据隐私
1.4 流水线编排
1.4.1 为什么使用流水线编排工具
1.4.2 有向无环图
1.5 示例项目
1.5.1 项目结构
1.5.2 机器学习模型
1.5.3 示例项目的目标
1.6 小结
第2章 TensorFlow Extended入门
2.1 什么是TFX
2.2 安装TFX
2.3 TFX组件概述
2.4 什么是机器学习元数据
2.5 交互式流水线
2.6 TFX的替代品
2.7 Apache Beam简介
2.7.1 安装
2.7.2 基本数据流水线
2.7.3 执行流水线
2.8 小结
第3章 数据读取
3.1 数据读取的概念
3.1.1 读取本地数据文件
3.1.2 读取远程数据文件
3.1.3 直接从数据库中读取数据
3.2 数据准备
3.2.1 拆分数据集
3.2.2 跨越数据集
3.2.3 对数据集进行版本控制
3.3 数据读取策略
3.3.1 结构化数据
3.3.2 自然语言处理中的文本数据
3.3.3 用于计算机视觉问题的图像数据
3.4 小结
第4章 数据校验
4.1 为什么要进行数据校验
4.2 TFDV
4.2.1 安装
4.2.2 根据数据生成统计信息
4.2.3 从数据生成模式
4.3 识别数据中的问题
4.3.1 比较数据集
4.3.2 更新模式
4.3.3 数据偏斜和漂移
4.3.4 存在偏差的数据集
4.3.5 在TFDV中切分数据
4.4 使用GCP处理大型数据集
4.5 将TFDV集成到机器学习流水线中
4.6 小结
第5章 数据预处理
5.1 为什么要进行数据预处理
5.1.1 在整个数据集的上下文中预处理数据
5.1.2 扩展预处理步骤
5.1.3 避免训练-服务偏斜
5.1.4 将预处理步骤和机器学习模型作为一个工件进行部署
5.1.5 检查流水线中的预处理结果
5.2 使用TFT做数据预处理
5.2.1 安装
5.2.2 预处理策略
5.2.3 最佳实践
5.2.4 TFT函数
5.2.5 TFT的独立执行
5.2.6 将TFT集成到机器学习流水线中
5.3 小结
第6章 模型训练
6.1 定义示例项目的模型
6.2 TFX Trainer组件
6.2.1 run_fn()函数
6.2.2 运行Trainer组件
6.2.3 其他关于Trainer组件的注意事项
6.3 在交互式流水线中使用TensorBoard
6.4 分布策略
6.5 模型调整
6.5.1 超参数调整的策略
6.5.2 TFX 流水线中的超参数调整
6.6 小结
第7章 模型分析和模型验证
7.1 如何分析模型
7.1.1 分类指标
7.1.2 回归指标
7.2 TensorFlow模型分析
7.2.1 用TFMA分析单个模型
7.2.2 用TFMA分析多个模型
7.3 模型公平性分析
7.3.1 用TFMA划分模型预测
7.3.2 用公平性指标检查决策阈值
7.3.3 详解假设分析工具
7.4 模型可解释性
7.4.1 使用WIT生成模型解释
7.4.2 其他模型解释方法
7.5 用TFX进行分析和验证
7.5.1 ResolverNode
7.5.2 Evaluator组件
7.5.3 用Evaluator组件进行验证
7.5.4 TFX Pusher组件
7.6 小结
第8章 用TensorFlow Serving部署模型
8.1 简单的模型服务器
8.2 基于Python API部署模型的缺点
8.2.1 缺少代码隔离
8.2.2 缺少模型版本控制
8.2.3 低效的模型推算
8.3 TensorFlow Serving
8.4 TensorFlow Serving架构概述
8.5 为TensorFlow Serving导出模型
8.6 模型签名
8.7 查看导出的模型
8.7.1 查看模型
8.7.2 测试模型
8.8 设置TensorFlow Serving
8.8.1 Docker安装
8.8.2 原生Ubuntu安装
8.8.3 从源码编译TensorFlow Serving
8.9 配置TensorFlow服务器
8.9.1 单一模型配置
8.9.2 多模型配置
8.10 REST与gRPC
8.10.1 REST
8.10.2 gRPC
8.11 用模型服务器预测
8.11.1 用REST获得模型预测
8.11.2 通过gRPC使用TensorFlow Serving
8.12 用TensorFlow Serving进行模型A/B测试
8.13 从模型服务器获取模型元数据
8.13.1 使用REST请求模型元数据
8.13.2 使用gRPC请求模型元数据
8.14 批量推算请求
8.15 配置批量预测
8.16 其他TensorFlow Serving优化方法
8.17 TensorFlow Serving的替代品
8.17.1 BentoML
8.17.2 Seldon
8.17.3 GraphPipe
8.17.4 Simple TensorFlow Serving
8.17.5 MLflow
8.17.6 Ray Serve
8.18 在云端部署
8.18.1 用例
8.18.2 在GCP上进行示例部署
8.19 使用TFX流水线进行模型部署
8.20 小结
第9章 使用TensorFlow Serving进行进阶模型部署
9.1 解耦部署环节
9.1.1 工作流概述
9.1.2 优化远程模型加载
9.2 为部署模型进行优化
9.2.1 量化
9.2.2 剪枝
9.2.3 蒸馏
9.3 在TensorFlow Serving中使用TensorRT
9.4 TFLite
9.4.1 用TFLite优化模型的步骤
9.4.2 使用TensorFlow Serving实例部署TFLite模型
9.5 监测TensorFlow Serving实例
9.5.1 设置Prometheus
9.5.2 TensorFlow Serving配置
9.6 使用TensorFlow Serving和Kubernetes进行简单的扩容
9.7 小结
第10章 TensorFlow Extended的高级功能
10.1 流水线的高级功能
10.1.1 同时训练多个模型
10.1.2 导出TFLite模型
10.1.3 热启动模型训练
10.2 人工审核
10.2.1 创建Slack组件
10.2.2 如何使用Slack组件
10.3 TFX自定义组件
10.3.1 自定义组件的应用场景
10.3.2 从零创建自定义组件
10.3.3 复用现有组件
10.4 小结
第11章 流水线第一部分:Apache Beam和Apache Airflow
11.1 选择哪种编排工具
11.1.1 Apache Beam
11.1.2 Apache Airflow
11.1.3 Kubeflow Pipelines
11.1.4 AI Platform上的Kubeflow Pipelines
11.2 将交互式TFX流水线转换为生产流水线
11.3 Beam和Airflow的简单交互式流水线转换
11.4 Apache Beam简介
11.5 使用Apache Beam编排TFX流水线
11.6 Apache Airflow简介
11.6.1 安装和初始设置
11.6.2 基本Airflow示例
11.7 使用Apache Airflow编排TFX流水线
11.7.1 流水线设置
11.7.2 运行流水线
11.8 小结
第12章 流水线第二部分:Kubeflow Pipelines
12.1 Kubeflow Pipelines概述
12.1.1 安装和初始设置
12.1.2 访问已安装的Kubeflow Pipelines
12.2 使用Kubeflow Pipelines编排TFX流水线
12.2.1 流水线设置
12.2.2 运行流水线
12.2.3 Kubeflow Pipelines的有用功能
12.3 基于Google Cloud AI Platform的流水线
12.3.1 流水线设置
12.3.2 TFX流水线设置
12.3.3 运行流水线
12.4 小结
第13章 反馈循环
13.1 显式反馈和隐式反馈
13.1.1 数据飞轮
13.1.2 现实世界中的反馈循环
13.2 收集反馈的设计模式
13.2.1 用户根据预测采取了某些措施
13.2.2 用户对预测的质量进行评分
13.2.3 用户纠正预测
13.2.4 众包打标
13.2.5 专家打标
13.2.6 自动产生反馈
13.3 如何跟踪反馈循环
13.3.1 跟踪显式反馈
13.3.2 跟踪隐式反馈
13.4 小结
第14章 机器学习的数据隐私
14.1 数据隐私问题
14.1.1 为什么关心数据隐私
14.1.2 最简单的加强隐私保护的方法
14.1.3 哪些数据需要保密
14.2 差分隐私
14.2.1 局部差分隐私和全局差分隐私
14.2.2 epsilon、delta和隐私预算
14.2.3 机器学习的差分隐私
14.3 TensorFlow Privacy
14.3.1 使用差分隐私优化器进行训练
14.3.2 计算epsilon
14.4 联邦学习
14.5 加密机器学习
14.5.1 加密模型训练
14.5.2 将训练好的模型转换为加密的预测服务
14.6 其他数据保密方法
14.7 小结
第15章 流水线的未来和下一步
15.1 模型实验跟踪
15.2 关于模型发布管理的思考
15.3 未来的流水线能力
15.4 TFX与其他机器学习框架
15.5 测试机器学习模型
15.6 用于机器学习的CI/CD系统
15.7 机器学习工程社区
15.8 小结
附录A 机器学习基础架构简介
A.1 什么是容器
A.2 Docker简介
A.2.1 Docker镜像简介
A.2.2 构建第一个Docker镜像
A.2.3 深入研究Docker CLI
A.3 Kubernetes简介
A.3.1 Kubernetes的一些概念定义
A.3.2 Minikube和kubectl入门
A.3.3 使用Kubernetes CLI进行交互
A.3.4 定义Kubernetes资源
A.4 将应用部署到Kubernetes
附录B 在Google Cloud上设置Kubernetes集群
B.1 开始之前
B.2 Google Cloud上的Kubernetes
B.2.1 选择Google Cloud项目
B.2.2 设置Google Cloud项目
B.2.3 创建Kubernetes集群
B.2.4 使用kubectl访问Kubernetes集群
B.2.5 在Kubectl中使用Kubernetes集群
B.3 Kubeflow Pipelines的持久卷设置
附录C 操作Kubeflow Pipelines的技巧
C.1 自定义TFX镜像
C.2 通过持久卷交换数据
C.3 TFX命令行界面
C.3.1 TFX及其依赖项
C.3.2 TFX模板
C.3.3 使用TFX CLI发布流水线
关于作者
关于封面
机器学习流水线实战是2021年由人民邮电出版社出版,作者[美] 汉内斯·哈普克。
得书感谢您对《机器学习流水线实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。