Tensorflow入门资源


Tensorflow 2019开发者大会刚刚落幕,谷歌也即将推出tensorflow 2.0新版本。
本文,我们将聚焦于Tensorflow入门教材。从环境安装、入门教程、流行项目等多个方面整理权威资料。助力各位萌新高效学习。
1. 环境安装
python环境以及jupyter安装请见博客:环境安装
安装cpu版tensorflow在命令行内输入pip install tensorflow即可。

安装gpu版tensorflow(不建议新手使用),需有NVIDIA的GPU卡。windows安装教程 | Linux安装教程
注:若读者可以访问“外网”,可使用google提供的colab(改进版线上jupyter,免费),其已安装好tensorflow,且支持GPU。

2. 入门教程
使用Tensorflow可分为使用底层API搭建网络和使用keras等高级API搭建网络两种。直接编写底层代码对新手来说较难,建议新手从keras入门。
2.1 书籍推荐
《Tensorflow实战Google深度学习框架》
本书从tensorflow底层原理讲起,包含计算机视觉和自然语言处理领域的介绍和实战代码。
在“技术杂学铺”微信公众号中回复tensorflow即可获得该书电子版的下载地址。

2.2 网课推荐
课程:TensorFlow: From Basics to Mastery

该课程是吴恩达旗下的DeepLearning.ai团队与TensorFlow合作制作的课程。
面向对深度学习有一定了解的读者快速入门tensorflow。目前已开放一门(四周内容)的课程。主要讲授tensorflow的高级api——keras的使用与项目应用。

笔者已将该课程刷完。该课程内容清晰易懂,同时配备大量编程练习。读者可前往Coursera上进行学习。

报名课程时选择Audit only即可免费学习。(另外,$49购买课程可获得荣誉证书)

2.3 图文教程
keras是一个搭建神经网络的框架,可以快速搭建神经网络,并以tensorflow作为后端支持。
如今keras已经成为tensorflow钦定的高级API,并不止一次的表示对keras框架的喜爱。

Tensorflow与keras
如今,很多深度学习项目是以tensorflow为底层,使用keras编写并训练神经网络。而tensorflow也已将keras并入其官方API之中。可以说学keras入门是十分有必要的。
3. 流行项目
3.1 图片风格迁移
neural-style 使用Tensorflow实现了图片风格迁移。该项目将一张图片转变为另一种图像风格,同时保留原图像的基本特征。

3.2 实时图像识别
keras-yolo3 项目是使用keras搭建的实时图像识别项目。可对视频进行实时物体识别。(关于实时图像识别模型yolo,更多信息可见YOLO: Real-Time Object Detection)

3.3 语音转文本
DeepSpeech为吴恩达带领百度团队研发的基于Tensorflow的语音转文本项目。
论文可见: Deep Speech: Scaling up end-to-end speech recognition

3.4 使用CNN进行文本分类
自然语言处理中使用的LSTM最大的缺点为无法进行并行计算。
cnn-text-classification-tf提出使用CNN进行文本分类,训练速度极快,在某些文本分类项目上准确度可观,十分具有创新性。
论文可见: Convolutional Neural Networks for Sentence Classification

3.5 Tensorflow-Exampes
Tensorflow-Example是Github上Star近三万的项目。
该项目共7个章节,几十个小项目。包含基本操作、实现机器学习模型、数据处理、多GPU运行等tensorflow运行的方方面面。
