其他
简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!
【导读】 TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评。此前,AI 科技大本营曾特邀专家回顾了 TensorFlow 2.0 从初版到最新版本的发展史。今天,我们将介绍一本全面详解 TensorFlow 2.0 的手册。这本手册是 Google Summer of Code 2019 项目之一,从基础安装与环境配置、部署,到大规模训练与加速、扩展,全方位讲解 TensorFlow 2.0 的入门要点,并附录相关资料供读者参考。
前言
适用群体
已有一定机器学习 / 深度学习基础,希望将所学理论知识使用 TensorFlow 进行具体实现的学生和研究者; 曾使用或正在使用 TensorFlow 1.X 版本或其他深度学习框架(比如 PyTorch),希望了解 TensorFlow 2.0 新特性的开发者; 希望将已有的 TensorFlow 模型应用于业界的开发者或工程师。
TensorFlow 概述
学生和研究者:模型的建立与训练 开发者和工程师:模型的调用与部署 TensorFlow 能帮助我们做什么?
基础
TensorFlow 安装与环境配置
一般安装步骤 GPU 版本 TensorFlow 安装指南 GPU 硬件的准备 NVIDIA 驱动程序的安装 CUDA Toolkit 和 cnDNN 的安装 第一个程序 IDE 设置 TensorFlow 所需的硬件配置 * TensorFlow 基础
TensorFlow 1+1 自动求导机制 基础示例:线性回归 NumPy 下的线性回归 TensorFlow 下的线性回归 TensorFlow 模型建立与训练
模型(Model)与层(Layer) 基础示例:多层感知机(MLP) 数据获取及预处理:tf.keras.datasets 模型的构建:tf.keras.Model 和 tf.keras.layers 模型的训练:tf.keras.losses 和 tf.keras.optimizer 模型的评估:tf.keras.metrics 卷积神经网络(CNN) 使用 Keras 实现卷积神经网络 使用 Keras 中预定义的经典卷积神经网络结构 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeline * Keras Sequential/Functional API 模式建立模型 使用 Keras Model 的 compile 、 fit 和 evaluate 方法训练和评估模型 自定义层、损失函数和评估指标 * 自定义层 自定义损失函数和评估指标 TensorFlow 常用模块 tf.train.Checkpoint :变量的保存与恢复 TensorBoard:训练过程可视化 tf.data :数据集的构建与预处理 数据集对象的建立 数据集对象的预处理 数据集元素的获取与使用 实例:cats_vs_dogs 图像分类 @tf.function :Graph Execution 模式 * @tf.function 基础使用方法 @tf.function 内在机制 AutoGraph:将 Python 控制流转换为 TensorFlow 计算图 使用传统的 tf.Session tf.TensorArray :TensorFlow 动态数组 * tf.config:GPU 的使用与分配 * 指定当前程序使用的 GPU 设置显存使用策略 单 GPU 模拟多 GPU 环境
部署
TensorFlow 模型导出 使用 SavedModel 完整导出模型 Keras Sequential save 方法(Jinpeng) TensorFlow Serving TensorFlow Serving 安装 TensorFlow Serving 模型部署 Keras Sequential 模式模型的部署 自定义 Keras 模型的部署 在客户端调用以 TensorFlow Serving 部署的模型 Python 客户端示例 Node.js 客户端示例(Ziyang) TensorFlow Lite(Jinpeng) 模型转换 Android 部署 Quantization 模型转换 总结 TensorFlow in JavaScript(Huan) TensorFlow.js 简介 浏览器中使用 TensorFlow.js 的优势 TensorFlow.js 性能对比 TensorFlow.js 环境配置 在浏览器中使用 TensorFlow.js 在 Node.js 中使用 TensorFlow.js 在微信小程序中使用 TensorFlow.js TensorFlow.js 模型部署 通过 TensorFlow.js 加载 Python 模型 使用 TensorFlow.js 模型库 TensorFlow.js 模型训练 *
大规模训练与加速
TensorFlow 分布式训练
单机多卡训练:MirroredStrategy 多机训练:MultiWorkerMirroredStrategy 使用 TPU 训练 TensorFlow 模型(Huan)
TPU 简介 什么是 TPU 为什么使用 TPU TPU 性能 TPU 环境配置 免费 TPU:Google Colab Cloud TPU TPU 基础使用
扩展
TensorFlow Hub 模型复用(Jinpeng) TensorFlow Datasets 数据集载入 Swift for TensorFlow (S4TF) (Huan) S4TF 简介 为什么要使用 Swift 进行 Tensorflow 开发 S4TF 环境配置 本地安装 Swift for Tensorflow 在 Colaboratory 中快速体验 Swift for Tensorflow 在 Docker 中快速体验 Swift for TensorFlow S4TF 基础使用 在 Swift 中使用标准的 TensorFlow API 在 Swift 中直接加载 Python 语言库 语言原生支持自动微分 MNIST 数字分类 TensorFlow in Julia(Ziyang) TensorFlow.jl 简介 为什么要使用 Julia ? TensorFlow.jl 环境配置 在 docker 中快速体验 TensorFlow.jl 在 julia 包管理器中安装 TensorFlow.jl TensorFlow.jl 基础使用 MNIST 数字分类
附录
图模型下的 TensorFlow TensorFlow 1+1 基础示例:线性回归 使用 Docker 部署 TensorFlow 环境 在云端使用 TensorFlow 在 Colab 中使用 TensorFlow 在 Google Cloud Platform(GCP)中使用 TensorFlow 在 Compute Engine 建立带 GPU 的实例并部署 TensorFlow 使用 AI Platform 中的 Notebook 建立带 GPU 的在线 JupyterLab 环境 在阿里云上使用 GPU 实例运行 Tensorflow(Ziyang) 部署自己的交互式 Python 开发环境 JupyterLab TensorFlow 性能优化 参考资料与推荐阅读 术语中英对照表
答疑区
(中文)TensorFlow 中文社区 “简单粗暴 TensorFlow” 版面:https://www.tensorflowers.cn/b/48 (中文的疑问和建议请来此处,将以中文回答和讨论。欢迎使用中文的开发者们前来 TensorFlow 中文社区交流讨论) (英文)https://github.com/snowkylin/tensorflow-handbook/releases (英文的疑问或建议可在 GitHub issue 中提出,会以英文回答)
中文版:https://www.tensorflowers.cn/t/6230 (同时也有英文版下载) 英文版:https://github.com/snowkylin/tensorflow-handbook/releases
作者乃北大学霸
◆
精彩推荐
◆
推荐阅读
诺贝尔物理学奖出炉,三大天体物理学家获奖
美政府再将8家中国企业列入“黑名单”,海康、科大讯飞、旷视等做出回应
Python入门你要懂哪些?
百度回应李彦宏卸任百度云执行董事;甲骨文拟增聘 2000 员工拓展云服务;PostgreSQL 12 正式发布 | 极客头条
真·上天!NASA招聘区块链"多功能复合型"人才, 欲保护飞行数据安全……
10 月全国程序员工资统计,一半以上的职位 5 个月没招到人!
【光说不练假把式】今天说一说Kubernetes 在有赞的实践
你点的每个“在看”,我都认真当成了喜欢