嫌官方文档太烂?TensorFlow 开源工具书,助你快速上手开发!
公众号关注 “GitHubDaily”
设为 “星标”,每天带你逛 GitHub!
转自机器之心
「官方文档排布凌乱、搜索难用、API 丑陋不堪……」这是很多人对 TensorFlow 官方文档的吐槽。但吐槽归吐槽,到了工业界,你是无论如何也绕不开这个框架的。既然非学不可,那怎么让这个学习过程变得更加平滑呢?有人在 GitHub 开源了一个名为《30 天吃掉那只 TensorFlow 2.0》的入门工具书,或许可以让你无痛上手 TensorFlow 2.0。
作者 lyhue1991 表示,这本书对「人类用户极其友善」,以「Don't let me think」为最高追求,「如果说通过学习 TensorFlow 官方文档掌握 TensorFlow 2.0 的难度大概是 9 的话,那么通过学习本书掌握 TensorFlow2.0 的难度应该大概是 3。」该教程与 TensorFlow 的差异如下所示:
图片来自项目作者提供的开源文档。
从课程大纲来看,有一定基础的读者只需三十天就可以学完整个教程,而且每天都被安排得明明白白。
开源电子书地址:https://lyhue1991.github.io/eat_tensorflow2_in_30_days/
GitHub 项目地址:https://github.com/lyhue1991/eat_tensorflow2_in_30_days
为什么一定要学 TensorFlow?
随着 PyTorch 热度的升高,越来越多的人似乎正在转向 PyTorch。与 TensorFlow 相比,PyTorch 在易用性方面占有更多优势,更加方便调试,满足了研究者快速迭代发表文章的需求,目前已经成为学术界使用的主流框架。在过去的 2019 年,几乎每个学术顶会都有大量论文用 PyTorch 实现。
但在工业界,TensorFlow 仍然是主导框架。原因在于,工业界最重要的是模型落地以及模型的高可用性,许多时候使用的都是成熟的模型架构,调试需求并不大。所以我们可能不得不面对这样一个现状:目前国内的大部分互联网企业只支持 TensorFlow 模型的在线部署,不支持 Pytorch。
所以作者指出,如果你是工程师,应该优先选 TensorFlow 2.0。
这本书面向哪些人群?
虽说是「仅用 30 天即可掌握 TensorFlow 2.0」,但学习这个教程也需要一定的知识储备作为前提。本书要求读者具备一定的机器学习和深度学习理论基础,同时使用过 Keras、Tensorflow1.0 或者 PyTorch 搭建训练过模型。
如果没有任何基础怎么办?你可以在学习本教程的同时参考深度学习大牛、Keras 之父 Francois Chollet 所著的《Python 深度学习》一书。这本书的优点在于,它假定读者无任何机器学习知识,全书没有一个数学公式,仅旨在培养读者的深度学习直觉。项目作者在 GitHub 界面提供了该书电子版的下载链接,读者可前往下载。
写作风格
鉴于 TensorFlow 的官方文档难用到令人发指,作者就将该书的底线定为「不刻意恶心读者」,声称对读者极其友好。具体而言,这本书有以下三大写作特点:
在参考 TensorFlow 官方文档和函数 doc 文档的基础上整理而成,但在篇章结构和范例选择上进行了大量的优化;
不同于 TensorFlow 官方文档中教程指南混杂的篇章结构,本书按照内容难易程度、读者检索习惯和 TensorFlow 自身的层次结构设计内容,循序渐进,层次清晰,从而方便读者按照功能快速查找相应范例;
不同于 TensorFlow 官方文档中冗长的范例代码,本书在范例设计上也尽可能地简约化和结构化,从而增强了范例的易读性和通用性,大部分代码片段在实践中也实现了即取即用。
课程大纲
学习环境配置
本书提供的所有学习内容均在 Jupyter 中编写,且在 TensorFlow 2.1 版本上全部测试通过。直接将项目克隆到本地,使用任意一款 markdown 软件即可查看。不过项目作者建议安装 jupytext,将 markdown 转换成 ipnb,之后就可以在 Jupyter 中交互式运行学习了。我们在 notebook 中运行如下代码,进行学习环境配置。
#克隆本书源码到本地,使用码云镜像仓库国内下载速度更快
!git clone https://gitee.com/Python_Ai_Road/eat_tensorflow2_in_30_days#建议在jupyter notebook 上安装jupytext,以便能够将本书各章节markdown文件视作ipynb文件运行
!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U jupytext#建议在jupyter notebook 上安装最新版本tensorflow 测试本书中的代码
!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U tensorflow
在 notebook 中输入如下代码,查看 TensorFlow 版本并测试 TensorFlow 是否安装成功:
import tensorflow as tf
#注:本书全部代码在tensorflow 2.1版本测试通过
tf.print("tensorflow version:",tf.__version__)a = tf.constant("hello")
b = tf.constant("tensorflow2")
c = tf.strings.join([a,b]," ")
tf.print(c)
当看到如下输出时,说明 TensorFlow 已经成功安装并运行。接下来就可以愉快地开始课程学习了。
tensorflow version: 2.1.0
hello tensorflow2
课程内容一览
以下是本书的 30 天学习计划安排,作者很详细地列出了每一小节学习的难度以及大致的学习时间,可谓体贴入微。真正做到了作者追求的为读者着想,不炫技为难读者。
在前一周的时间里,作者主要为我们介绍了 TensorFlow 的建模流程、相关核心概念以及不同层次 API 概述,使读者对 TensorFlow 有一个全面准确的认识,为后续具体的学习内容打下基础。毕竟子曾经曰过「工欲善其事,必先利其器」嘛。
在接下来的两周左右时间里,作者分别为我们介绍了 TensorFlow 的低阶、中阶和高阶 API。其中,低阶 API 涵盖了张量的操作与运算、自动图机制。中阶 API 涵盖 Dataset、layers、损失函数和优化器等内容介绍。高阶 API 涵盖了模型的构建与训练、单 GPU/多 GPU/TPU 的使用和训练完成模型的部署。可以说你应该了解 TensorFlow 的所有内容都在本书里面了。
作者简介
GitHub 项目界面的「后记」文档显示,项目作者毕业于「北京吃饭大学」,学的是理论物理,原先在金融行业做量化交易,为了「改善伙食」一步步转行算法工程师。其间坚持自学并利用周末和晚上的时间录制教学课程。他的自我定位是「一个有毅力的吃货」,从书名也可以看出来。对项目作者感兴趣的读者可以去读一下「后记」文档。
推荐阅读:不用一行代码,就写了个爬虫!这款谷歌插件已经打包好了!Chrome,你够了!这款超级搜索神器,我爱了!太赞了,《深入浅出 Java 多线程》书籍正式开源!没用过这些 IDEA 插件?怪不得你写代码头疼...
嫌官方文档太烂?TensorFlow 开源工具书,助你快速上手开发!相关推荐
- 官方文档太辣鸡?TensorFlow 2.0开源工具书,30天「无痛」上手
本文转载自机器之心. 项目作者:lyhue1991 「官方文档排布凌乱.搜索难用.API 丑陋不堪--」这是很多人对 TensorFlow 官方文档的吐槽.但吐槽归吐槽,到了工业界,你是无论如何也绕不 ...
- AndroidWear官方文档总结03 - 连接手持设备与穿戴设备模拟器到开发环境
由于Android Wear设备是没有USB接口的,而且很多功能必须依赖手机才能实现,如果要对穿戴设备设备进行开发调试的话,就必须要通过连接手机才能进行进行.连接穿戴设备模拟器的具体步骤如下: 1. ...
- “scikit-learn(sklearn) 官方文档中文版”
"scikit-learn(sklearn) 官方文档中文版" 本博客摘自微博:爱可可-爱生活 "scikit-learn(sklearn) 官方文档中文版" ...
- element-ui 官方文档内网部署方法
element-ui 官方文档内网部署方法 获取官方文档github地址并下载 本地安装部署 由于公司开发处于内网环境,查看element-ui的官方文档非常不方便,因此希望将其部署到内网,方便使用, ...
- HarmonyOS(一) 快速开始学习鸿蒙开发,官方文档学习路线解析
系列文章目录 HarmonyOS(一):快速开始学习鸿蒙开发,官方文档学习路线解析 HarmonyOS(二):应用开发环境搭建准备 HarmonyOS(三):创建你的第一个HelloWorld应用 文 ...
- oclhashcat:离线hash密码破解工具官方文档(中文版)
无聊中,就把hashcat的官方文档稍微翻译了下,方便初学的朋友查看.至于oclhashcat,它是一个离线的hash密码破解工具,与hashcat不同,它支持GPU破解,速度更快,并且支持更多的ha ...
- 如何快速掌握oracle,教你如何快速从 Oracle 官方文档中获取需要的知识
以下链接可查看 11g 到 20c 的在线官方文档. https://docs.oracle.com/en/database/oracle/oracle-database/index.html 如图, ...
- Spark官方文档整理:spark-core
Spark 官方文档 1,spark 概述 Apache Spark 是一个快速通用的集群计算系统,它提供了提供了java,scala,python和R的高级API,以及一个支持一般图计算的优化引擎. ...
- tensorflow官方文档_开源分享:最好的TensorFlow入门教程
如果一门技术的学习曲线过于陡峭,那么我们在入门时的场景往往是,一鼓作气,没入门,再而衰,三而竭.演绎一出从入门到放弃的败走麦城. 今天发现一个入门TensorFlow的宝藏,迫不及待的分享给大家.这个 ...
最新文章
- java 扩展类加载器_java实现自定义类加载器
- 怎么把ide改成ahci_如何将硬盘由IDE模式修改为AHCI模式,我的主板是华硕P8Z68-VLX,请高手帮帮忙。...
- php-cli下载,php-cli-color
- elasticsearch 条件去重_elasticsearch 笔记四 之聚合查询之去重计数、基础统计、百分位、字符串统计...
- 码农和程序员的几个重要区别!
- python substr_python数据分析-数据对象(一)
- koa-generator 快速生成 koa2 服务的脚手架工具
- 洛阳地铁一号线无人驾驶_刚刚,最新消息!涉及洛阳地铁1号线、2号线…
- wampserver 调试 php,phpstrom+wampserver+xdebug配置
- interlib系统服务器,Interlib图书馆集群管理系统.docx
- php源码怎样打包APP_APP在线打包封装生成源码
- PLSQL调整SQL字体大小
- Fiddler远程抓包
- “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用。
- 用html5做心,HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
- 非线性微分方程的平均法
- 一起来看看SpringBoot蓝天幼儿园管理系统(详解)
- 单机版游戏 linux,[基于linux系统图形单机版农场游戏.ppt
- Centos7 编译安装git 报错 git-compat-util.h:14:2: error
- 【笑小枫的SpringBoot系列】【十五】SpringBoot根据模板生成Word