作品简介

本书解释了如何训练足够小的模型以适合任何环境。对于希望在嵌入式系统中搭建机器学习项目的软件及硬件开发人员而言,本书是一个理想的指南,它将一步步地指导你搭建一系列TinyML项目。阅读本书不需要任何机器学习或者微控制器开发经验。

皮特·沃登,Google公司TensorFlow面向移动和嵌入式设备部分的技术主管,也是TensorFlow团队的创始成员之一。他曾是Jetpac的首席技术官(CTO)和创始人,该公司于2014年被Google收购。

丹尼尔·西图纳亚克,Google领导TensorFlow Lite的开发宣传工作,并协助运营TinyML meetup小组。他是Tiny Farms的联合创始人,这是美国第一家利用自动化技术以工业规模生产昆虫蛋白的公司。

译者与审校者简介

魏兰,软件开发工程师,现就职于Google北京。机器视觉,Android性能优化爱好者。博客:blog.csdn.net/xiaowei_cqu。

卜杰,毕业于南京邮电大学,现于Google北京担任软件工程师。邮箱:prikevs@gmail.com。

王铁震,现就职于Google北京,Tensorflow团队核心软件开发工程师。邮箱:wangtz@google.com。

作品目录

  • O'Reilly Media, Inc.介绍
  • 译者序一
  • 译者序二
  • 前言
  • 第1章 简介
  • 1.1 嵌入式设备
  • 1.2 技术变迁
  • 第2章 入门
  • 2.1 本书目标读者
  • 2.2 需要的硬件
  • 2.3 需要的软件
  • 2.4 我们希望你学到的东西
  • 第3章 快速了解机器学习
  • 3.1 什么是机器学习
  • 3.2 深度学习的工作流程
  • 3.3 小结
  • 第4章 TinyML之“Hello World”:创建和训练模型
  • 4.1 我们要创建什么
  • 4.2 我们的机器学习工具链
  • 4.3 创建我们的模型
  • 4.4 训练我们的模型
  • 4.5 为TensorFlow Lite转换模型
  • 4.6 小结
  • 第5章 TinyML之“Hello World”:创建应用程序
  • 5.1 详解测试
  • 5.2 项目文件结构
  • 5.3 详解源文件
  • 5.4 小结
  • 第6章 TinyML之“Hello World”:部署到微控制器
  • 6.1 什么是微控制器
  • 6.2 Arduino
  • 6.3 SparkFun Edge
  • 6.4 ST Microelectronics STM32F746G Discovery套件
  • 6.5 小结
  • 第7章 唤醒词检测:创建应用程序
  • 7.1 我们要创建什么
  • 7.2 应用架构
  • 7.3 详解测试
  • 7.4 监听唤醒词
  • 7.5 部署到微控制器
  • 7.6 小结
  • 第8章 唤醒词检测:训练模型
  • 8.1 训练我们的新模型
  • 8.2 在我们的项目中使用模型
  • 8.3 模型的工作方式
  • 8.4 使用你自己的数据训练
  • 8.5 小结
  • 第9章 行人检测:创建应用程序
  • 9.1 我们在创建什么
  • 9.2 应用程序架构
  • 9.3 详解测试
  • 9.4 行人检测
  • 9.5 部署到微处理器
  • 9.6 小结
  • 第10章 行人检测:训练模型
  • 10.1 选择机器
  • 10.2 配置Google Cloud Platform实例
  • 10.3 训练框架选择
  • 10.4 构建数据集
  • 10.5 训练模型
  • 10.6 TensorBoard
  • 10.7 评估模型
  • 10.8 将模型导出到TensorFlow Lite
  • 10.9 训练其他类别
  • 10.10 理解架构
  • 10.11 小结
  • 第11章 魔杖:创建应用程序
  • 11.1 我们要创建什么
  • 11.2 应用程序架构
  • 11.3 详解测试
  • 11.4 检测手势
  • 11.5 部署到微处理器
  • 11.6 小结
  • 第12章 魔杖:训练模型
  • 12.1 训练模型
  • 12.2 模型是如何工作的
  • 12.3 训练你自己的数据
  • 12.4 小结
  • 第13章 TensorFlow Lite for Microcontrollers
  • 13.1 什么是TensorFlow Lite for Microcontrollers
  • 13.2 编译系统
  • 13.3 支持一个新的硬件平台
  • 13.4 支持一个新的IDE或新的编译系统
  • 13.5 在项目和代码库之间整合代码更改
  • 13.6 回馈开源
  • 13.7 支持新的硬件加速器
  • 13.8 理解文件格式
  • 13.9 将TensorFlow Lite移动平台算子移植到Micro
  • 13.10 小结
  • 第14章 设计你自己的TinyML应用程序
  • 14.1 设计过程
  • 14.2 你需要微控制器还是更大的设备
  • 14.3 了解可行性
  • 14.4 站在巨人的肩膀上
  • 14.5 找一些相似的模型训练
  • 14.6 查看数据
  • 14.7 绿野仙踪
  • 14.8 先可以在桌面系统中运行
  • 第15章 优化延迟
  • 15.1 首先确保你要优化的部分很重要
  • 15.2 更换硬件
  • 15.3 改进模型
  • 15.4 量化
  • 15.5 产品设计
  • 15.6 优化代码
  • 15.7 优化算子
  • 15.8 回馈开源
  • 15.9 小结
  • 第16章 优化功耗
  • 16.1 开发直觉
  • 16.2 测量实际功耗
  • 16.3 估算模型的功耗
  • 16.4 降低功耗
  • 16.5 小结
  • 第17章 优化模型和二进制文件大小
  • 17.1 了解系统限制
  • 17.2 估算内存使用率
  • 17.3 关于不同问题的模型准确率和规模的大致数字
  • 17.4 模型选择
  • 17.5 减小可执行文件的大小
  • 17.6 真正的微型模型
  • 17.7 小结
  • 第18章 调试
  • 18.1 训练与部署之间准确率的损失
  • 18.2 数值差异
  • 18.3 神秘的崩溃与挂起
  • 18.4 小结
  • 第19章 将模型从TensorFlow移植到TensorFlow Lite
  • 19.1 了解需要什么算子
  • 19.2 查看Tensorflow Lite中支持的算子
  • 19.3 将预处理和后处理移至应用程序代码
  • 19.4 按需自己实现算子
  • 19.5 优化算子
  • 19.6 小结
  • 第20章 隐私、安全和部署
  • 20.1 隐私
  • 20.2 安全
  • 20.3 部署
  • 20.4 小结
  • 第21章 了解更多
  • 21.1 TinyML基金会
  • 21.2 SIG Micro
  • 21.3 TensorFlow网站
  • 21.4 其他框架
  • 21.5 Twitter
  • 21.6 TinyML的朋友们
  • 21.7 小结
  • 附录A 使用和生成Arduino库ZIP文件
  • 附录B 在Arduino上捕获音频
展开全部