“While the mathematical concepts behind deep learning have been around for decades, programming libraries dedicated to creating and training these deep models have only been available in recent years.
尽管深度学习背后的数学概念已经出现几十年了,但是用于创建和训练这些深度模型的程序类库在最近几年才出现。
不幸的是,大多数类库都会在灵活性和实际生产价值上做出权衡。易用性的类库对于科研是无比珍贵的,因为这样科技工作者们才更方便地研究出新的模型框架,但是,如果考虑到实际生产的话,它们往往训练又太慢而没有实际的应用价值。另一方面,快、高效的类库,部署到分布式硬件上是可行的,但是它们只针对具体的那些神经网络,对新发明的网络又不适用。
这就留给决策者们一个困惑: 要想不重复实现相同的代码,我们还依然要用不太灵活的类库做科研吗?还是,科研和生产各用自己的一套不相同的库?
假如,我们选择前者,我们也许不能测试各种不同种类的神经网络,如果选择了后者,我们必须维护不同的两套代码,我们能有足够的精力做这个吗?
TensorFlow 就是为了解决,新出现的神经网络架构如何真正能在生产环境下使用,这一使命而诞生的。
02
—
TensorFlow是什么?
TensorFlow是一个开源的软件库,用数据流动图来做数值计算。
03
—
为什么选择TensorFlow?
理由如下:
-
已经很受欢迎
-
更清晰的API
-
能实际的用于生产环境
TensorFlow的特色:
-
Python API
-
部署方便:一个或多个CPUs或GPUs,服务端,客户端,手机移动端
-
灵活性好:使用安卓,windows,iOS,Linux
-
可视化:TensorBoard可以看到数据流动图
-
Checkpoints:易于实验管理
-
自动微分
-
社区庞大
-
很多好的项目已经或正在使用TensorFlow
04
—
基于TensorFlow的项目
基于TensorFlow做的项目:
-
DeepMind’s WaveNet Text to speech
-
Google Brain’s Magenta project that uses machine learning to create compelling art and music
-
Neural Style Translation
-
Major Improvement to Google Translate
下图是 Neural style Translation:
生成式手写字(LSTM混合密度网络与TensorFlow结合):
WaveNet Text to speech (对原始音频的生成模型)
TensorFlow的参考书:
-
TensorFlow for Machine Intelligence (TFFMI)
-
Hands-On Machine Learning with Scikit-Learn and TensorFlow. Chapter 9: Up and running with TensorFlow
-
Fundamentals of Deep Learning. Chapter 3: Implementing Neural Networks in TensorFlow (FODL)