博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嫌官方文档太烂?TensorFlow 开源工具书,助你快速上手开发!
阅读量:4095 次
发布时间:2019-05-25

本文共 3156 字,大约阅读时间需要 10 分钟。

公众号关注 “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.0hello tensorflow2

课程内容一览

以下是本书的 30 天学习计划安排,作者很详细地列出了每一小节学习的难度以及大致的学习时间,可谓体贴入微。真正做到了作者追求的为读者着想,不炫技为难读者。

在前一周的时间里,作者主要为我们介绍了 TensorFlow 的建模流程、相关核心概念以及不同层次 API 概述,使读者对 TensorFlow 有一个全面准确的认识,为后续具体的学习内容打下基础。毕竟子曾经曰过「工欲善其事,必先利其器」嘛。

在接下来的两周左右时间里,作者分别为我们介绍了 TensorFlow 的低阶、中阶和高阶 API。其中,低阶 API 涵盖了张量的操作与运算、自动图机制。中阶 API 涵盖 Dataset、layers、损失函数和优化器等内容介绍。高阶 API 涵盖了模型的构建与训练、单 GPU/多 GPU/TPU 的使用和训练完成模型的部署。可以说你应该了解 TensorFlow 的所有内容都在本书里面了。

作者简介

GitHub 项目界面的「后记」文档显示,项目作者毕业于「北京吃饭大学」,学的是理论物理,原先在金融行业做量化交易,为了「改善伙食」一步步转行算法工程师。其间坚持自学并利用周末和晚上的时间录制教学课程。他的自我定位是「一个有毅力的吃货」,从书名也可以看出来。对项目作者感兴趣的读者可以去读一下「后记」文档。

推荐阅读:不用一行代码,就写了个爬虫!这款谷歌插件已经打包好了!Chrome,你够了!这款超级搜索神器,我爱了!太赞了,《深入浅出 Java 多线程》书籍正式开源!没用过这些 IDEA 插件?怪不得你写代码头疼...

转载地址:http://lzvii.baihongyu.com/

你可能感兴趣的文章
BitMap的简单实现
查看>>
布隆过滤器BloomFilter
查看>>
Tomcat组成与工作原理
查看>>
Java内存模型
查看>>
Nginx服务器之负载均衡策略(6种)
查看>>
mysql数据库的索引类型
查看>>
spring 启动过程
查看>>
Spring循环依赖问题
查看>>
SpringBoot项目不同环境的打包方案
查看>>
squirrel-foundation java状态机
查看>>
智力题
查看>>
笔试题(持续更新)
查看>>
使用Spring Data JPA进行分页与排序
查看>>
MySql性能优化之参数优化
查看>>
深入浅出一致性Hash原理
查看>>
Virtualbox配置centos7网络
查看>>
webservice关于入参掉用各种报错信息及解决方法汇总org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素
查看>>
网络IP,子网掩码,网段
查看>>
FTP与SFTP两者有什么区别
查看>>
SSM框架原理及使用方法
查看>>