2015年11月9日,google发布人工智能系统tensorflow并宣布开源。
1.tensorflow的概念tensorflow 是使用数据流图进行数值计算的开源软件库。也就是说,tensorflow 使用图(graph)来表示计算任务。图中的节点表示数学运算,边表示运算之间用来交流的多维数组(也就是tensor,张量)。tensorflow 灵活的架构使得你可以将计算过程部署到一个或多个cpu或gpu上。
tensorflow 最初是由 google brain team 的研究人员和工程师开发的,主要是 google’s machine intelligence research organization 用来进行机器学习和深度神经网络研究的,但是这个系统在其它很多领域也是通用的。
模型的抽象表示是由框架自动处理的,这使得tensorflow 及 theano 特别适合发展基于梯度优化算法的新模型。
theano 的主要缺点是对上述符号模型进行编译的时间较长,而 tensorflow 有效地改善了这一点,也就是编译时间较短。
tensorflow 的另一个优点是它的支持工具——tensorboard ,将模型的训练过程可视化。这样,用户可以交互式地考察模型的结构,也可以观察参数和模型性能的改变。
tensorflow 的开源版本只能运行在一台机器上,不过它支持多处理器(cpus或gpus)并行运算。
1.1 什么是数据流图?数据流图用有向图来描述数学计算,图中有点和边。
节点通常进行数学计算,但也可以作为终点来表示结果,或者读/写持久变量(persistent variables)。
边用来描述节点之间的输入/输出关系。这些边携带不定大小的多维数组或张量。
这些节点被分配到计算装置上,异步执行。一旦所有的tensor同时到达了,就会进行并行计算。
由于图中张量(tensor)的流动(flow),所以我们称之为 tensorflow。
1.2 tensorflow的特点deep flexibility,灵活性。tensorflow并不是一个死板的神经网络的库,只要你可以将你的计算过程表示成数据流图,你就可以使用tensorflow。定义新的计算就像写一个python函数那么简单,成本并不大。如果你看不见你需要的底层的数据操作,可以通过c++来添加。
true portability,可移植性。tensorflow在cpu或gpu上运行,可以在笔记本、服务器、或移动计算平台运行。不需要特殊硬件,不需要改变代码,就可以在移动设备上训练模型,封装docker 和 tensorflow 就可以在云上进行计算。
connect research and production,学术和工业兼得。在google,科学家们用 tensorflow 测试新的算法,产品团队用 tensorflow 训练模型为用户服务。
auto-differentiation,自动辨别。tensorflow 的自动辨别能力 有益于实现那些基于梯度的机器学习算法。当你使用tensorflow时,你为自己的预测模型定义计算的框架结构,再加上目标函数,接着只需要添加数据,tensorflow 就会为你计算导数,也就是梯度。
language options,语言选择。tensorflow中可以使用python接口,以及简单的c++接口,来构建和执行你的计算图(computational graphs)。如果你有兴趣,也可以提供自己所喜爱语言的接口——lua, javascript, 或 r 等等。
maximize performance,性能最大化。tensorflow 允许你充分利用你可用的硬件:32 cpu cores and 4 gpu cards,线程、队列及异步计算等。你可以将tensorflow图中的计算元素自由分配到不同的设备上,交给tensorflow来处理。
1.3 谁可以用tensorflow?学生、研究人员、爱好者、黑客、工程师、开发者、发明者及创新者等等。
tensorflow目前并不完整,它需要扩展。google只是给了一个初始版本的源代码,他们希望建立一个活跃的开源社区,以使得tensorflow越来越好。
目前在使用 tensorflow 的公司有:google、uber、twitter、deepmind、京东等等。
1.4 为什么谷歌将tensorflow开源呢?「tensorflow」是 google 多年以来内部的机器学习系统。如今,google 正将此系统作为开源系统,并将此系统的参数公布给业界工程师、学者和拥有大量编程能力的技术人员,这意味着什么呢?
答案很简单:google认为,机器学习是未来创新的关键成分,这一领域的研究是全球范围的,并且发展很迅速,但就是缺乏标准工具。google的工程师们用tensorflow在做面向用户的产品和服务,google的研究团队也打算分享tensorflow的实现历程,他们希望tensorflow能成为机器学习的最好工具之一。
打个不太恰当的比喻,如今 google 对待 tensorflow 系统,有点类似于对待旗下移动操作系统 android。如果更多的数据科学家开始使用 google 的系统来从事机器学习方面的研究,那么这将有利于 google 对日益发展的机器学习行业拥有更多的主导权。
1.5 tensorflow 与计算生物学使用当前的深度学习的方法有一个先决条件:拥有许多样本的数据集。
像 识别与特定疾病相关的基因或 methylation probes,样本集很少,所以就不能用深度学习进行分析。【哭……我就是想用深度学习做疾病基因识别啊……】
想要使用深度学习模型,第一步就是解决如何表示数据的问题。如:剪接点、rna-蛋白质结合位点、或甲基化。也就是说,你的样本的数量要远远超过变量的数量。
所以说,只要这关键的一步解决了,tensorflow 就会为你打开深度学习的大门。
2.tensorflow的安装(基于pip)pip 是一个 python 的软件包安装与管理工具。并且,tensorflow只能在linux环境下进行安装,具体在vmware下安装linux系统详情可以参看我另外一篇博客。
2.1 安装pip(需要在超级管理员权限下进行安装)sudo apt-get install python-pip python-dev
注:出现以上界面表示pip已经安装成功!
2.2 安装tensorflowsudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
2.3 测试>>> import tensorflow as tf
>>> hello = tf.constant('hello, tensorflow!')
>>> sess = tf.session()
>>> print sess.run(hello)
hello, tensorflow!
注:linux下退出python方法:ctrl+d
2.4 安装ide pycharm官网下载community版 for linux,根据官网教程的步骤进行安装。
注:可以直接在linux中的浏览器中进行下载。
首先,将文件拷贝到希望安装的位置。
cd /home/andy
然后解压缩文件:
tar xfz pycharm-community-2016.3.tar.gz
打开 pycharm.sh 文件所在目录:
cd pycharm-community-2016.3/bin
运行 pycharm.sh 文件以安装 pycharm:
./pycharm.sh
安装好后会自动打开pycharm,接下来进行一系列的设置:
出现下面界面时,说明安装成功了。
选择“create new project”,创建新的工程。默认编译器是python 2.7。
然后在新创建的工程上,右键选择“new->python file ”,创建一个新的python文件py01。
在文件py01中写入一段代码进行测试。
可见,测试结果正确,可以在 pycharm 上 import tensorflow了!
2.5 将pycharm锁定到启动器在ubuntu下,每次都需要找到 pycharm.sh 所在的文件夹,执行 ./pycharm.sh,打开pycharm,非常麻烦。
所以,我们最好能创建一个快捷方式。ubuntu 的快捷方式都放在“计算机/usr/share/applications” 下。
首先在该目录下创建一个pycharm.desktop:
sudo gedit /usr/share/applications/pycharm.desktop
然后输入以下内容,注意 exec 和 icon 需要找到你自己电脑中正确的路径,genericname 和 comment 中关于pycharm的版本号你也需要根据实际情况定:
[desktop entry]
type=application
name=pycharm
genericname=pycharm2017
comment=pycharm2017:the python ide
exec=/home/wangfang/pycham/pycharm-community-2017.1.3/bin/pycharm.sh %f
icon=/home/wangfang/pycham/pycharm-community-2017.1.3/bin/pycharm.png
terminal=pycharm
categories=pycharm;
保存后,通过路径/usr/share/applications/路径即可找到对应桌面pycharm.desktop文件,然后双击打开,再锁定到启动器就好了。
参考文献:tensorflow 官网
极客学院——tensorflow 官方文档中文版
极客学院——下载与安装
极客学院——mnist机器学习入门(构建softmax回归模型)
极客学院——深入mnist(构建深度卷积神经网络)
ladislav rampasek and anna goldenberg, tensorflow: biology’s gateway to deep learning?
werm520的专栏:ubuntu安装pycharm
ubuntu下安装anaconda
linux(ubuntu14.04)下安装anaconda和spyder
ubuntu下如何安装tensorflow
以上就是深度学习框架之tensorflow的概念及安装的详细内容。