Tensorflow
TensorFlow是Google开源的一款深度学习工具,使用C++语言开发,上层提供Python API。在开源之后,在工业界和学术界引起了极大的震动,因为TensorFlow曾经是著名的Google Brain计划中的一部分,Google Brain项目的成功曾经吸引了众多科学家和研究人员往深度学习这个“坑”里面跳,这也是当今深度学习如此繁荣的重要原因。
TensorFlow在官网被定义为“用于机器智能的开源软件库”,但Ricardo认为下面的定义更为准确:“TensorFlowTM是使用数据流图进行数值计算的开源软件库。”此处,TensorFlow并未归类为“深度学习框架”,而是与Theano一起,归到“图编译器(Graph compilers)”的类别。
在Ricardo完成Udacity的深度学习课程后,他对TensorFlow的印象是,它一个非常好的框架,但是它非常底层。用TensorFlow的话,有很多代码要编写,你必须重新一遍又一遍的发明轮子。不止他有这样的抱怨,其他人亦如此,比如下图所示:
Andrej Karpathy在Twitter发推文抱怨TensorFlow。Andrej是OpenAI的科学家,斯坦福大学的计算机科学博士。
几个月前,Ricardo参加了“Google Experts Summit: TensorFlow, Machine Learning for everyone, with Sergio Guadarrama”。Sergio是开发Tensorflow的一名工程师,在会上,他没有展示Tensorflow,而是展示了一个运行在TensorFlow上的更高层的库tf.contrib。Ricardo的印象是,他们内部已经意识到,如果想让更多的人使用Tensorflow,他们需要通过在更高的抽象层上创建一些层来简化使用。
Tensorflow支持Python和C ++,允许在CPU、GPU,甚至支持使用gRPC进行水平扩展进行计算分布。
综上所述:Tensorflow非常好,但你必须知道好在哪里。如果你不想以手动编程和重新发明轮子来完成大部分事情,你可以使用更容易的库。