课程笔记1:介绍Tensorflow
CS20SI:深度学习研究中的Tensorflow(cs20si.stanford.edu)
由Chip Huyen编写(huyenn@stanford.edu)
评论者:Danijar Hafner,Jon Gautier,Minh-Thang Luong,Paul Warren
写机器智能那本书的大神讲了一个 Tensorflow 存在的极好的理由,即如下我所引用的内容:
尽管深度学习背后的数学概念已经存在了几十年,但是构建和训练这些模型却是近几年的事情。不幸的是,大部分的库虽然有很大的灵活性也很有使用价值,要知道,一个灵活的库对于构建一个模型来说,其价值是不可估量的。但是,适合训练模型的这些库速度通常都很慢,不适合在实际中使用。另一方面,快速高效的库在分布式硬件中使用比较合适,而且他们通常在训练特定的神经网络中使用而不适用于研究新的更好的模型。这使得决策者进退两难:我们是应该尝试去使用那些不太灵活的库,那样就不用重构代码?还是应该使用一个完全不同的库?如果我们选择前者,可能就不能测试一些完全不同类型的神经网络模型,如果选择后者,我们代码就会有完全不同的API。如果我们甚至有了这方面的资源呢?Tensorflow旨在解决这个困境。
所以什么是 Tensorflow 呢?
Tensorflow最初是由谷歌作为一个内部机器学习工具创立的,从2015年11月后在 Apache2.0 协议下开源使用。为了更好的理解它是什么,让我们看看它的创造者怎么说。
在Tensorflow官网上,我们能看到:
标语:一个针对机器智能的开源软件库
定义:TensorFlow™ 是一个采用数据流图,用于数值计算的开源软件库。
显而易见,Tensorflow 是开源的。然而,注意,只有我们看到的在Github上实施的Tensorflow是开源的,谷歌是自己维护了其内部版本的。
据说,谷歌这么做是因为 Tensorflow 与它的其他内部工具之间有着非常复杂的关系,而不是因为谷歌自己“囤积好东西”。这是最好的也是我们希望的。
接下来我们看到的关键词是Tensorflow是一个“机器智能软件库”。这是十几家大型企业开发的机器智能库之一。而且可能是最新的。当前所有深度学习库的列表,请访问此链接
为什么要Tensorflow?