转自:http://www.tensorfly.cn/tfdoc/get_started/os_setup.html

  1. 下载与安装
  2.  
  3. 你可以使用我们提供的二进制包, 或者使用源代码, 安装 TensorFlow.
  4.  
  5. 二进制安装
  6.  
  7. TensorFlow Python API 依赖 Python 2.7 版本.
  8.  
  9. Linux Mac 下最简单的安装方式, 是使用 pip 安装.
  10.  
  11. 如果在安装过程中遇到错误, 请查阅 常见问题. 为了简化安装步骤, 建议使用 virtualenv, 教程见 这里.
  12.  
  13. Ubuntu/Linux
  14.  
  15. # 仅使用 CPU 的版本
  16. $ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
  17.  
  18. # 开启 GPU 支持的版本 (安装该版本的前提是已经安装了 CUDA sdk)
  19. $ pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
  20. Mac OS X
  21.  
  22. OS X 系统上, 我们推荐先安装 homebrew, 然后执行 brew install python, 以便能够使用 homebrew 中的 Python 安装 TensorFlow. 另外一种推荐的方式是在 virtualenv 中安装 TensorFlow.
  23.  
  24. # 当前版本只支持 CPU
  25. $ pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
  26. 基于 Docker 的安装
  27.  
  28. 我们也支持通过 Docker 运行 TensorFlow. 该方式的优点是不用操心软件依赖问题.
  29.  
  30. 首先, 安装 Docker. 一旦 Docker 已经启动运行, 可以通过命令启动一个容器:
  31.  
  32. $ docker run -it b.gcr.io/tensorflow/tensorflow
  33. 该命令将启动一个已经安装好 TensorFlow 及相关依赖的容器.
  34.  
  35. 其它镜像
  36.  
  37. 默认的 Docker 镜像只包含启动和运行 TensorFlow 所需依赖库的一个最小集. 我们额外提供了 下面的容器, 该容器同样可以通过上述 docker run 命令安装:
  38.  
  39. b.gcr.io/tensorflow/tensorflow-full: 镜像中的 TensorFlow 是从源代码完整安装的, 包含了编译和运行 TensorFlow 所需的全部工具. 在该镜像上, 可以直接使用源代码进行实验, 而不需要再安装上述的任何依赖.
  40. 基于 VirtualEnv 的安装
  41.  
  42. 我们推荐使用 virtualenv 创建一个隔离的容器, 来安装 TensorFlow. 这是可选的, 但是这样做能使排查安装问题变得更容易.
  43.  
  44. 首先, 安装所有必备工具:
  45.  
  46. # 在 Linux 上:
  47. $ sudo apt-get install python-pip python-dev python-virtualenv
  48.  
  49. # 在 Mac 上:
  50. $ sudo easy_install pip # 如果还没有安装 pip
  51. $ sudo pip install --upgrade virtualenv
  52. 接下来, 建立一个全新的 virtualenv 环境. 为了将环境建在 ~/tensorflow 目录下, 执行:
  53.  
  54. $ virtualenv --system-site-packages ~/tensorflow
  55. $ cd ~/tensorflow
  56. 然后, 激活 virtualenv:
  57.  
  58. $ source bin/activate # 如果使用 bash
  59. $ source bin/activate.csh # 如果使用 csh
  60. (tensorflow)$ # 终端提示符应该发生变化
  61. virtualenv 内, 安装 TensorFlow:
  62.  
  63. (tensorflow)$ pip install --upgrade <$url_to_binary.whl>
  64. 接下来, 使用类似命令运行 TensorFlow 程序:
  65.  
  66. (tensorflow)$ cd tensorflow/models/image/mnist
  67. (tensorflow)$ python convolutional.py
  68.  
  69. # 当使用完 TensorFlow
  70. (tensorflow)$ deactivate # 停用 virtualenv
  71.  
  72. $ # 你的命令提示符会恢复原样
  73. 尝试你的第一个 TensorFlow 程序
  74.  
  75. (可选) 启用 GPU 支持
  76.  
  77. 如果你使用 pip 二进制包安装了开启 GPU 支持的 TensorFlow, 你必须确保 系统里安装了正确的 CUDA sdk CUDNN 版本. 请参间 CUDA 安装教程
  78.  
  79. 你还需要设置 LD_LIBRARY_PATH CUDA_HOME 环境变量. 可以考虑将下面的命令 添加到 ~/.bash_profile 文件中, 这样每次登陆后自动生效. 注意, 下面的命令 假定 CUDA 安装目录为 /usr/local/cuda:
  80.  
  81. export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
  82. export CUDA_HOME=/usr/local/cuda
  83. 运行 TensorFlow
  84.  
  85. 打开一个 python 终端:
  86.  
  87. $ python
  88.  
  89. >>> import tensorflow as tf
  90. >>> hello = tf.constant('Hello, TensorFlow!')
  91. >>> sess = tf.Session()
  92. >>> print sess.run(hello)
  93. Hello, TensorFlow!
  94. >>> a = tf.constant()
  95. >>> b = tf.constant()
  96. >>> print sess.run(a+b)
  97.  
  98. >>>
  99. 从源码安装
  100.  
  101. 克隆 TensorFlow 仓库
  102.  
  103. $ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
  104. --recurse-submodules 参数是必须得, 用于获取 TesorFlow 依赖的 protobuf 库.
  105.  
  106. Linux 安装
  107.  
  108. 安装 Bazel
  109.  
  110. 首先依照 教程 安装 Bazel 的依赖. 然后使用下列命令下载和编译 Bazel 的源码:
  111.  
  112. $ git clone https://github.com/bazelbuild/bazel.git
  113. $ cd bazel
  114. $ git checkout tags/0.1.
  115. $ ./compile.sh
  116. 上面命令中拉取的代码标签为 0.1., 兼容 Tensorflow 目前版本. bazel HEAD 版本 (即最新版本) 在这里可能不稳定.
  117.  
  118. 将执行路径 output/bazel 添加到 $PATH 环境变量中.
  119.  
  120. 安装其他依赖
  121.  
  122. $ sudo apt-get install python-numpy swig python-dev
  123. 可选: 安装 CUDA (在 Linux 上开启 GPU 支持)
  124.  
  125. 为了编译并运行能够使用 GPU TensorFlow, 需要先安装 NVIDIA 提供的 Cuda Toolkit 7.0 CUDNN 6.5 V2.
  126.  
  127. TensorFlow GPU 特性只支持 NVidia Compute Capability >= 3.5 的显卡. 被支持的显卡 包括但不限于:
  128.  
  129. NVidia Titan
  130. NVidia Titan X
  131. NVidia K20
  132. NVidia K40
  133. 下载并安装 Cuda Toolkit 7.0
  134.  
  135. 下载地址
  136.  
  137. 将工具安装到诸如 /usr/local/cuda 之类的路径.
  138.  
  139. 下载并安装 CUDNN Toolkit 6.5
  140.  
  141. 下载地址
  142.  
  143. 解压并拷贝 CUDNN 文件到 Cuda Toolkit 7.0 安装路径下. 假设 Cuda Toolkit 7.0 安装 /usr/local/cuda, 执行以下命令:
  144.  
  145. tar xvzf cudnn-6.5-linux-x64-v2.tgz
  146. sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/include
  147. sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64
  148. 配置 TensorFlow Cuba 选项
  149.  
  150. 从源码树的根路径执行:
  151.  
  152. $ ./configure
  153. Do you wish to bulid TensorFlow with GPU support? [y/n] y
  154. GPU support will be enabled for TensorFlow
  155.  
  156. Please specify the location where CUDA 7.0 toolkit is installed. Refer to
  157. README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
  158.  
  159. Please specify the location where CUDNN 6.5 V2 library is installed. Refer to
  160. README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
  161.  
  162. Setting up Cuda include
  163. Setting up Cuda lib64
  164. Setting up Cuda bin
  165. Setting up Cuda nvvm
  166. Configuration finished
  167. 这些配置将建立到系统 Cuda 库的符号链接. 每当 Cuda 库的路径发生变更时, 必须重新执行上述 步骤, 否则无法调用 bazel 编译命令.
  168.  
  169. 编译目标程序, 开启 GPU 支持
  170.  
  171. 从源码树的根路径执行:
  172.  
  173. $ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
  174.  
  175. $ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
  176. # 大量的输出信息. 这个例子用 GPU 迭代计算一个 2x2 矩阵的主特征值 (major eigenvalue).
  177. # 最后几行输出和下面的信息类似.
  178. / lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
  179. / lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
  180. / lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
  181. 注意, GPU 支持需通过编译选项 "--config=cuda" 开启.
  182.  
  183. 已知问题
  184.  
  185. 尽管可以在同一个源码树下编译开启 Cuda 支持和禁用 Cuda 支持的版本, 我们还是推荐在 在切换这两种不同的编译配置时, 使用 "bazel clean" 清理环境.
  186.  
  187. 在执行 bazel 编译前必须先运行 configure, 否则编译会失败并提示错误信息. 未来, 我们可能考虑将 configure 步骤包含在编译过程中, 以简化整个过程, 前提是 bazel 能够提供新的特性支持这样.
  188.  
  189. Mac OS X 安装
  190.  
  191. Mac Linux 需要的软件依赖完全一样, 但是安装过程区别很大. 以下链接用于帮助你 Mac OS X 上安装这些依赖:
  192.  
  193. Bazel
  194.  
  195. 参见本网页的 Mac OS X 安装指南.
  196.  
  197. SWIG
  198.  
  199. Mac OS X 安装教程.
  200.  
  201. 注意: 你需要安装PCRE, 而不是 PCRE2.
  202.  
  203. Numpy
  204.  
  205. 参见安装教程.
  206.  
  207. 创建 pip 包并安装
  208.  
  209. $ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
  210.  
  211. $ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
  212.  
  213. # .whl 文件的实际名字与你所使用的平台有关
  214. $ pip install /tmp/tensorflow_pkg/tensorflow-0.5.-cp27-none-linux_x86_64.whl
  215. 训练你的第一个 TensorFlow 神经网络模型
  216.  
  217. 从源代码树的根路径执行:
  218.  
  219. $ cd tensorflow/models/image/mnist
  220. $ python convolutional.py
  221. Succesfully downloaded train-images-idx3-ubyte.gz bytes.
  222. Succesfully downloaded train-labels-idx1-ubyte.gz bytes.
  223. Succesfully downloaded t10k-images-idx3-ubyte.gz bytes.
  224. Succesfully downloaded t10k-labels-idx1-ubyte.gz bytes.
  225. Extracting data/train-images-idx3-ubyte.gz
  226. Extracting data/train-labels-idx1-ubyte.gz
  227. Extracting data/t10k-images-idx3-ubyte.gz
  228. Extracting data/t10k-labels-idx1-ubyte.gz
  229. Initialized!
  230. Epoch 0.00
  231. Minibatch loss: 12.054, learning rate: 0.010000
  232. Minibatch error: 90.6%
  233. Validation error: 84.6%
  234. Epoch 0.12
  235. Minibatch loss: 3.285, learning rate: 0.010000
  236. Minibatch error: 6.2%
  237. Validation error: 7.0%
  238. ...
  239. ...
  240. 常见问题
  241.  
  242. GPU 相关问题
  243.  
  244. 如果在尝试运行一个 TensorFlow 程序时出现以下错误:
  245.  
  246. ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory
  247. 请确认你正确安装了 GPU 支持, 参见 相关章节.
  248.  
  249. Linux
  250.  
  251. 如果出现错误:
  252.  
  253. ...
  254. "__add__", "__radd__",
  255. ^
  256. SyntaxError: invalid syntax
  257. 解决方案: 确认正在使用的 Python 版本为 Python 2.7.
  258.  
  259. Mac OS X
  260.  
  261. 如果出现错误:
  262.  
  263. import six.moves.copyreg as copyreg
  264.  
  265. ImportError: No module named copyreg
  266. 解决方案: TensorFlow 使用的 protobuf 依赖 six-1.10.. 但是, Apple 的默认 python 环境 已经安装了 six-1.4., 该版本可能很难升级. 这里提供几种方法来解决该问题:
  267.  
  268. 升级全系统的 six:
  269.  
  270. sudo easy_install -U six
  271. 通过 homebrew 安装一个隔离的 python 副本:
  272.  
  273. brew install python
  274. virtualenv 内编译或使用 TensorFlow.
  275.  
  276. 如果出现错误:
  277.  
  278. >>> import tensorflow as tf
  279. Traceback (most recent call last):
  280. File "<stdin>", line , in <module>
  281. File "/usr/local/lib/python2.7/site-packages/tensorflow/__init__.py", line , in <module>
  282. from tensorflow.python import *
  283. File "/usr/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line , in <module>
  284. from tensorflow.core.framework.graph_pb2 import *
  285. ...
  286. File "/usr/local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line , in <module>
  287. serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow\"d\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
  288. TypeError: __init__() got an unexpected keyword argument 'syntax'
  289. 这是由于安装了冲突的 protobuf 版本引起的, TensorFlow 需要的是 protobuf 3.0.. 当前 最好的解决方案是确保没有安装旧版本的 protobuf, 可以使用以下命令重新安装 protobuf 来解决 冲突:
  290.  
  291. brew reinstall --devel protobuf
  292. 原文:Download and Setup 翻译:@doc001 校对:@yangtze

TensorFlow中文社区---下载与安装的更多相关文章

  1. 机器学习资源汇总----来自于tensorflow中文社区

    新手入门完整教程进阶指南 API中文手册精华文章TF社区 INTRODUCTION 1. 新手入门 1.1. 介绍 1.2. 下载及安装 1.3. 基本用法 2. 完整教程 2.1. 总览 2.2.  ...

  2. erlang 中文社区 下载

    http://www.cnerlang.com/download/     erlang 下载 http://www.blogjava.net/killme2008/archive/2007/06/1 ...

  3. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  4. 安装Visual Studio 2013 中文社区版

    Visual Studio 2013 免费了,我收到邮件后,立即从邮件的下载连接安装了 Visual Studio Community 2013 with Update 4 . 安装后几天没打开,今天 ...

  5. TensorFlow 中文资源全集,官方网站,安装教程,入门教程,实战项目,学习路径。

    Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...

  6. Kubernetes 1.8.x 全手动安装教程----转自Kubernetes中文社区(部分内容根据实验环境做了些修改,特此感谢Kubernetes中文社区)

    Kubernetes 提供了许多云端平台与操作系统的安装方式,本章将以全手动安装方式来部署,主要是学习与了解 Kubernetes 创建流程.若想要了解更多平台的部署可以参考 Picking the ...

  7. TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。

    Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...

  8. 3D Slicer中文教程(一)—下载及安装方法

    3D Slicer是用于医学图像信息学,图像处理和三维可视化的开源软件平台. 通过国家卫生研究院和全球开发人员社区的支持,二十多年来,Slicer为医生,研究人员和公众提供了免费,强大的跨平台加工工具 ...

  9. tensorflow下载和安装

    下载以及安装 选择类型 必须选择以下类型的TensorFlow之一来安装: TensorFlow仅支持CPU支​​持.如果您的系统没有NVIDIA®GPU,则必须安装此版本.请注意,此版本的Tenso ...

随机推荐

  1. spark实战之网站日志分析

    前面一篇应该算是比较详细的介绍了spark的基础知识,在了解了一些spark的知识之后相必大家对spark应该不算陌生了吧!如果你之前写过MapReduce,现在对spark也很熟悉的话我想你再也不想 ...

  2. 文件的特殊权限(SUID,SGID,SBIT)

    文件的一般权限:r w x  对应 421  文件的特殊权限:SUID SGID SBIT对应 421  文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...

  3. sql优化系列2

    sql中索引是否会用到,进而影响查询效率. 带通配符(%)的like语句 1.不能用null作索引,任何包含null值的列都将不会被包含在索引中.即使索引有多列这样的情况下,只要这些列中有一列含有nu ...

  4. Redis实现之压缩列表

    压缩列表 压缩列表(ziplist)是列表键和哈希键的底层实现之一,当一个列表键只包含少量列表项,并且每个列表项要嘛是整数值,要嘛是比较短的字符串,那么Redis就会使用压缩列表来做列表键的底层实现. ...

  5. 介绍 Active Directory 域服务 (AD DS) 虚拟化

    TechNet 库 Windows Server Windows Server 2012 R2 和 Windows Server 2012 服务器角色和技术 Active Directory Acti ...

  6. day05_08 列表讲解、切片、内置方法

      1.0 查询: a = ['wuchao','jinxing','xiaohu','sanpang','ligang'] print(a[3]) #>>>sanpang prin ...

  7. 区分Activity的四种加载模式【转载】

    此文为转载,文章来源:http://marshal.easymorse.com/archives/2950 文章作者:   Marshal's Blog 参考文章:http://blog.csdn.n ...

  8. Format aborted in 格式化namenode 失败的原因

    [user6@das0 hadoop-0.20.203.0]$ bin/hadoop namenode -format 12/02/20 14:05:17 INFO namenode.NameNode ...

  9. MFC录制音频和播放音频

    一.录制音频 在windows中提供了相应的API函数(waveIn这个族的函数)实现录音功能:在使用这些函数时,一定要引入相应的头文件 #include <windows.h> #inc ...

  10. 使用xcache加速PHP运行

    XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编 ...