首页 > 资讯 > 热线聚焦 > 正文

详解深度学习框架——TensorFlow

2017年01月25日    来源:全球人工智能     
2739
[导读]TensorFlow 的不断被优化,TensorFlow 的机器智能地位已显得举足轻重。我们希望帮 助 TensorFlow 的新、老用户提高使用 TensorFlow 的能力,充分利用该库最强大的功能!

  2015 年 11 月 9 日,谷歌宣布对 TensorFlow 开源。随后,TensorFlow 成为了当今世界最流行的机器学习软件之一,目前被广泛用于研究、教育和生产等各个领域。这一年 里,TensorFlow 的不断被优化,TensorFlow 的机器智能地位已显得举足轻重。我们希望帮 助 TensorFlow 的新、老用户提高使用 TensorFlow 的能力,充分利用该库最强大的功能! 考虑到不同的读者基础不同,本文将对机器学习读者最关心的几个部分对 TensorFlow 充 分介绍:八大机器学习库的对比、TensorFlow 的优势、什么时候使用 TensorFlow、 TensorFlow 的安装。

  八大机器学习框架的对比:

  (1) TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其 前身 DistBelief 的经验教训上形成的;它不仅便携、高效、可扩展,还能再不同计算机上运行:小到智能手机,大到计算机集群都 能;它是一款轻量级的软件,可以立刻生成你的训练模型,也能 重新实现它;TensorFlow 拥抱创新,有强大的社区、企业支持, 因此它广泛用于从个人到企业、从初创公司到大公司等不同群体。

  (2) Caffe: 卷积神经网络框架,专注于卷积神经网络和图像处理,是 用 C ++语言写成的。

  (3) Chainer: 一个强大、灵活、直观的机器学习 Python 软件库,能 够在一台机器上利用多个 GPU,是由深度学习创业公司 Preferred Networks 开发;Chainer 的设计基于 define by run 原 则,也就是说,该网络在运行中动态定义,而不是在启动时定义。

  (4) CNTK: 微软研究人员开发的用于深度神经网络和多 GPU 加速技 术的完整开源工具包。微软称 CNTK在语音和图像识别方面,比谷歌的TensorFlow 等其它深度学习开源工具包更有优势。

  (5) Deeplearning4j: 专注于神经网络的 Java 库,可扩展并集成 Spark,Hadoop 和其他基于 Java 的分布式集成软件。

  (6) Nervana Neo: 是一个高效的 Python 机器学习库,它能够在单个 机器上使用多个 GPU。

  (7) Theano: 是一个用 Python 编写的极其灵活的 Python 机器学习库,用它定义复杂的模型相当容易,因此它在研究中极其流行。

  (8) Torch: 是一个专注于 GPU 实现的机器学习库,得到了几个大公 司的研究团队的支持。

  TensorFlow 的优势:

  (1)可用性

  TensorFlow 工作流程相对容易,API 稳定,兼容性好,并且 TensorFlow 与 Numpy 完美结合,这使大多数精通 Python 数据科学家很容易上手。与其他一些库不同,TensorFlow 不需要任何编译时间, 这允许你可以更快地迭代想法。在 TensorFlow 之上已经建立了多个高级 API,例如 Keras 和 SkFlow,这给用户使用 TensorFlow 带来了极大的好处

  (2)灵活性

  TensorFlow 能够在各种类型的机器上运行,从超级计算机到嵌入式 系统。它的分布式架构使大量数据集的模型训练不需要太多的时间。TensorFlow 可以同时在多个 CPU,GPU 或者两者混合运行。

  (3)效率

  自 TensorFlow 第一次发布以来,开发团队花费了大量的时间和努力 来改进 TensorFlow 的大部分的实现代码。 随着越来越多的开发人员努力,TensorFlow 的效率不断提高。

  (4) 支持

  TensorFlow 由谷歌提供支持,谷歌投入了大量精力开发 TensorFlow,它希望 TensorFlow 成为机器学习研究人员和开发人员的通用语言。此外,谷歌在自己的日常工作中也使用 TensorFlow,并且持续对其提供支持,在 TensorFlow 周围形成了 一个强大的社区。谷歌已经在 TensorFlow 上发布了多个预先训练好 的机器学习模型,他们可以自由使用。

  TensorFlow 的安装:

  为了满足安装 TensorFlow 的依赖支持工具,我们将使用 virtualenv 来创建一个虚拟 Python 环境。首先,我们需要确保与 Virtualenv 一 起安装了 pip,Python 的包管理器。 运行以下命令进行安装(取决 于用户的操作系统)

  Linux-64 用户

  在终端(同时按住 ctrl+Alt+t 启动)输入以下命令:

  Python 2.7 用户

  $ sudo apt-get install python-pip python-dev python-virtualenv(注意所有的$符号不需要输入)

  Python 3 用户

  $ sudo apt-get install python3-pip python3-dev python3-virtualenv

  现在让我们创建一个包含这个环境的目录:

  $ sudo mkdir ~/env

  接下来,我们将使用 virtualenv 命令创建环境。 在这个例子中,它 位于〜/ env / tensorflow。使用如下命令:

  $ virtualenv --system-site-packages ~/env/tensorflow

  然后,使用 source 激活环境:

  $ source ~/env/tensorflow/bin/activate

  (然后注意你敲入回车后开始出现了“tensorflow”指示符)

  然后直接输入 deactivate 关闭。

  由于你将经常使用虚拟环境,因此创建一个快捷方式启动它,而不是 每次必须写出整个源。这下一个命令将一个 bash 别名添加到〜 / .bashrc 文件,这时只要在你想启动它时键入 tensorflow 即可:

  $ sudo printf '\nalias tensorflow="source ~/env/tensorflow/bin/activate"' >> ~/.bashrc

  特别提醒:启动终端后,最好先输如命令:sudo –i,然后会提醒你输入密码,linux 输入密码一 般不会显示出来,记住你的密码输入即可。

  以下均是针对 python2.7 用户:

  接下来安装“简易版”的 tensorflow,使用如下命令:

  $ pip install --upgrade

  https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27none-linux_x86_64.whl

  安装 Jupyter Notebook(先安装 ipython):

  执行以下命令:先在终端中输入输入 sudo –i,然后输入回车,再根据 提示输入密码,最后输入 tensorflow 启动,然后再执行以下安装,以防出现错误

  $ sudo python2 -m pip install ipykernel

  $ sudo python2 -m ipykernel install

  $ sudo apt-get install build-essential

  $ sudo pip install jupyter

  安装 matplotlib:

  $ sudo apt-get build-dep python-matplotlib python-tk

  最后,让我们检查安装是否成功。创建一个新目录 tf_notebooks,输入该目录并运行 jupyter notebook。

  打开终端,输入下面命令,打开 jupyter notebooks:

  sudo –i,再回车

  输入用户密码,再回车

  $后输入:tensorflow,再回车

  然后$后面继续输入:mkdir tf-notebooks,再回车

  $后面继续输入:cd tf-notebooks,再回车

  $后面继续输入:jupyter notebook,再回车

  最后打开了如下界面:

  本机选择了 Python 2,输入了如下代码并运行如下结果:

  好了,本文全面讲解了 TensorFlow 的特点及其在机器学习领域内的 优势,并一步一步的指导你如何去安装 tensorflow,并使用它。在接下来的章节中,将带领你一步步地走向深度学习,并怎么利用 tensorflow 构建深度学习模型。另外,本文虽然只是在 Linux 上对 tensorflow 进行了安装,同样在 windows 上,仍然可以用上述的方 法,前提是在 windows 上安装虚拟机,然后装上 ubuntu系统。对 Mac OS X 用户而言,安装 tensorflow 则更容易。附上安装指导地址:

  https://www.tensorflow.org/versions/master/get_started/os_setup.html#installationfor-mac-os-x

  深入阅读:

  (1) https://www.tensorflow.org/,提供了最新的文档、API和学习指导。

  (2) https://github.com/tensorflow/tensorflow,你可以对tensorflow 贡献你的智慧,也可以查看源代码。

  (3) https://github.com/tensorflow/models,根据个人的目标, 你可以随时重用这些模型。

  (4) https://research.googleblog.com/,提供来自谷歌的关于 tensorflow 的最新应用与更新。

  (5) https://www.kaggle.com/,在这里你可以找到大量公共数据集,是目前线上认可度最高,参与人数最多的线上竞赛平台。

  (6) https://www.data.gov/,美国的门户网站,用于查找全美的公共数据集。

[责任编辑:yxl]
转载申明:中国智能化产业与产品网独家专稿,转载请注明出处,违者必究!
关键词: 深度学习  TensorFlow

官方微信

联系我们

010-57188978
投稿:zgznhcy@ciiip.com
地址:北京市朝阳区劲松南路1号
网址:www.ciiip.com
关于我们
加为微信好友