前期准备
什么是深度学习
“深度模型有极为庞大的网络结构,参数够多,学习能力够强,能配合大数据达到惊人的效果。而且,能自动学习特征,避免了“特征工程”这种繁琐的手工劳动。对于图像、音频和文字处理领域有极大的意义。——xccd
什么是TensorFlow
2015年11月9日,Google 官方在其博客上称,Google Research 宣布推出第二代机器学习系统 TensorFlow,针对先前的 DistBelief 的短板有了各方面的加强,更重要的是,它是开源的,任何人都可以用。
机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。如今,领先的科技巨头无不在机器学习下予以极大投入。Facebook、苹果、微软,甚至国内的百度。Google 自然也在其中。「TensorFlow」是 Google 多年以来内部的机器学习系统。如今,Google 正在将此系统成为开源系统,并将此系统的参数公布给业界工程师、学者和拥有大量编程能力的技术人员,这意味着什么呢?
打个不太恰当的比喻,如今 Google 对待 TensorFlow 系统,有点类似于该公司对待旗下移动操作系统 Android。如果更多的数据科学家开始使用 Google 的系统来从事机器学习方面的研究,那么这将有利于 Google 对日益发展的机器学习行业拥有更多的主导权。
深度学习框架
下面是一些深度学习框架的介绍和对比:
安装TensorFlow
最为推荐的方式是使用Docker进行安装,这里使用了Kitematic这个Docker容器管理工具。
这里需要使用DaoCloud来加速。如何安装DaoCloud可以参见DaoCloud加速器
docker-machine start default
docker-machine ssh default
dao pull tensorflow/tensorflow:latest
安装完成后提示如下:
** Pull tensorflow/tensorflow:latest success. **
You can find it with 'docker images tensorflow/tensorflow:latest'
然后我们运行TensorFlow,并且测试是否成功安装。首先交互式地运行这个image:
docker run -it tensorflow/tensorflow
然后输入测试用例(如果是docker安装的话,会是root运行,所以提示符是#哦):
$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>