Wiki 人工智能 深度学习 TensorFlow 下载与安装
来源:互联网 发布:军萝脸型数据 编辑:程序博客网 时间:2024/05/21 19:27
下载与安装
你可以使用我们提供的 Pip, Docker, Virtualenv, Anaconda 或 源码编译的方法安装 TensorFlow.
Pip 安装
列表
首先安装 pip (或 Python3 的 pip3 ):
# Ubuntu/Linux 64-bit$ sudo apt-get install python-pip python-dev# Mac OS X$ sudo easy_install pip
安装 TensorFlow :
# Ubuntu/Linux 64-bit, CPU only, Python 2.7:$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7. Requires CUDA toolkit 7.5 and CuDNN v4.# For other versions, see "Install from sources" below.$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl# Mac OS X, CPU only:$ sudo easy_install --upgrade six$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
如果是 Python3 :
# Ubuntu/Linux 64-bit, CPU only, Python 3.4:$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4. Requires CUDA toolkit 7.5 and CuDNN v4.# For other versions, see "Install from sources" below.$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl# Mac OS X, CPU only:$ sudo easy_install --upgrade six$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py3-none-any.whl
备注:如果之前安装过 TensorFlow < 0.7.1 的版本,应该先使用 pip uninstall
卸载 TensorFlow 和 protobuf ,保证获取的是一个最新 protobuf 依赖下的安装包.
之后可以Docker 运行 TensorFlow. 该方式的优点是不用操心软件依赖问题.
首先, virtualenv 创建一个隔离的容器, 来安装 TensorFlow. 这是可选的, 但是这样做能使排查安装问题变得更容易.
首先, 安装所有必备工具:
# 在 Linux 上:$ sudo apt-get install python-pip python-dev python-virtualenv# 在 Mac 上:$ sudo easy_install pip # 如果还没有安装 pip$ sudo pip install --upgrade virtualenv
接下来, 建立一个全新的 virtualenv 环境. 为了将环境建在 ~/tensorflow
目录下, 执行:
$ virtualenv --system-site-packages ~/tensorflow$ cd ~/tensorflow
然后, 激活 virtualenv:
$ source bin/activate # 如果使用 bash$ source bin/activate.csh # 如果使用 csh(tensorflow)$ # 终端提示符应该发生变化
在 virtualenv 内, 安装 TensorFlow:
(tensorflow)$ pip install --upgrade <$url_to_binary.whl>
接下来, 使用类似命令运行 TensorFlow 程序:
(tensorflow)$ cd tensorflow/models/image/mnist(tensorflow)$ python convolutional.py# 当使用完 TensorFlow(tensorflow)$ deactivate # 停用 virtualenv$ # 你的命令提示符会恢复原样
基于 Anaconda 的安装
计算环境,类似 Virtualenv.
和 Virtualenv 一样,不同 Python 工程需要的依赖包,conda 将他们存储在不同的地方。 TensorFlow 上安装的 Anaconda 不会对之前安装的 Python 包进行覆盖.
- 安装 Anaconda
- 建立一个 conda 计算环境
- 激活环境,使用 conda 安装 TensorFlow
- 安装成功后,每次使用 TensorFlow 的时候需要激活 conda 环境
安装 Anaconda :
参考 Anaconda 的下载页面的测试
当你不用 TensorFlow 的时候,关闭环境:
(tensorflow)$ source deactivate$ # Your prompt should change back
再次使用的时候再激活 :-)
$ source activate tensorflow(tensorflow)$ # Your prompt should change.# Run Python programs that use TensorFlow....# When you are done using TensorFlow, deactivate the environment.(tensorflow)$ source deactivate
尝试你的第一个 TensorFlow 程序
(可选) 启用 GPU 支持
如果你使用 pip 二进制包安装了开启 GPU 支持的 TensorFlow, 你必须确保 系统里安装了正确的 CUDA sdk 和 CUDNN 版本. 请参间 CUDA 安装教程
你还需要设置 LD_LIBRARY_PATH
和 CUDA_HOME
环境变量. 可以考虑将下面的命令 添加到 ~/.bash_profile
文件中, 这样每次登陆后自动生效. 注意, 下面的命令 假定 CUDA 安装目录为 /usr/local/cuda
:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"export CUDA_HOME=/usr/local/cuda
运行 TensorFlow
打开一个 python 终端:
$ 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>>>
从源码安装
克隆 TensorFlow 仓库
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
--recurse-submodules
参数是必须得, 用于获取 TesorFlow 依赖的 protobuf 库.
Linux 安装
安装 Bazel
首先依照 链接 中下载适合你的操作系统的最新稳定版, 最后按照下面脚本执行:
$ chmod +x PATH_TO_INSTALL.SH$ ./PATH_TO_INSTALL.SH --user
注意把 PATH_TO_INSTALL.SH
替换为你下载的安装包的文件路径.
将执行路径 output/bazel
添加到 $PATH
环境变量中.
安装其他依赖
# For Python 2.7:$ sudo apt-get install python-numpy swig python-dev python-wheel# For Python 3.x:$ sudo apt-get install python3-numpy swig python3-dev python3-wheel
可选: 安装 CUDA (在 Linux 上开启 GPU 支持)
为了编译并运行能够使用 GPU 的 TensorFlow, 需要先安装 NVIDIA 提供的 Cuda Toolkit 7.0 和 CUDNN 6.5 V2.
TensorFlow 的 GPU 特性只支持 NVidia Compute Capability >= 3.5 的显卡. 被支持的显卡 包括但不限于:
- NVidia Titan
- NVidia Titan X
- NVidia K20
- NVidia K40
下载并安装 Cuda Toolkit 7.0
下载地址
解压并拷贝 CUDNN 文件到 Cuda Toolkit 7.0 安装路径下. 假设 Cuda Toolkit 7.0 安装 在 /usr/local/cuda
, 执行以下命令:
tar xvzf cudnn-6.5-linux-x64-v2.tgzsudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/includesudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64
配置 TensorFlow 的 Cuda 选项
从源码树的根路径执行:
$ ./configureDo you wish to bulid TensorFlow with GPU support? [y/n] yGPU support will be enabled for TensorFlowPlease specify the location where CUDA 7.0 toolkit is installed. Refer toREADME.md for more details. [default is: /usr/local/cuda]: /usr/local/cudaPlease specify the location where CUDNN 6.5 V2 library is installed. Refer toREADME.md for more details. [default is: /usr/local/cuda]: /usr/local/cudaSetting up Cuda includeSetting up Cuda lib64Setting up Cuda binSetting up Cuda nvvmConfiguration finished
这些配置将建立到系统 Cuda 库的符号链接. 每当 Cuda 库的路径发生变更时, 必须重新执行上述 步骤, 否则无法调用 bazel 编译命令.
编译目标程序, 开启 GPU 支持
从源码树的根路径执行:
$ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu# 大量的输出信息. 这个例子用 GPU 迭代计算一个 2x2 矩阵的主特征值 (major eigenvalue).# 最后几行输出和下面的信息类似.000009/000005 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]000006/000001 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]000009/000009 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
注意, GPU 支持需通过编译选项 "--config=cuda" 开启.
已知问题
尽管可以在同一个源码树下编译开启 Cuda 支持和禁用 Cuda 支持的版本, 我们还是推荐在 在切换这两种不同的编译配置时, 使用 "bazel clean" 清理环境.
- 在执行 bazel 编译前必须先运行 configure, 否则编译会失败并提示错误信息. 未来, 我们可能考虑将 configure 步骤包含在编译过程中, 以简化整个过程, 前提是 bazel 能够提供新的特性支持这样.
Mac OS X 安装
Mac 和 Linux 需要的软件依赖完全一样, 但是安装过程区别很大. 以下链接用于帮助你 在 Mac OS X 上安装这些依赖:
Bazel
参见Mac OS X 安装教程.
注意: 你需要安装安装教程.
创建 pip 包并安装
$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg# .whl 文件的实际名字与你所使用的平台有关$ pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
训练你的第一个 TensorFlow 神经网络模型
从源代码树的根路径执行:
$ cd tensorflow/models/image/mnist$ python convolutional.pySuccesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.Extracting data/train-images-idx3-ubyte.gzExtracting data/train-labels-idx1-ubyte.gzExtracting data/t10k-images-idx3-ubyte.gzExtracting data/t10k-labels-idx1-ubyte.gzInitialized!Epoch 0.00Minibatch loss: 12.054, learning rate: 0.010000Minibatch error: 90.6%Validation error: 84.6%Epoch 0.12Minibatch loss: 3.285, learning rate: 0.010000Minibatch error: 6.2%Validation error: 7.0%......
常见问题
GPU 相关问题
如果在尝试运行一个 TensorFlow 程序时出现以下错误:
ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory
请确认你正确安装了 GPU 支持, 参见 相关章节.
在 Linux 上
如果出现错误:
... "__add__", "__radd__", ^SyntaxError: invalid syntax
解决方案: 确认正在使用的 Python 版本为 Python 2.7.
在 Mac OS X 上
如果出现错误:
import six.moves.copyreg as copyregImportError: No module named copyreg
解决方案: TensorFlow 使用的 protobuf 依赖 six-1.10.0
. 但是, Apple 的默认 python 环境 已经安装了 six-1.4.1
, 该版本可能很难升级. 这里提供几种方法来解决该问题:
升级全系统的
six
:sudo easy_install -U six
通过 homebrew 安装一个隔离的 python 副本:
brew install python
- 在
virtualenv
内编译或使用 TensorFlow.
如果出现错误:
>>> import tensorflow as tfTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module> from tensorflow.python import * File "/usr/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 13, in <module> from tensorflow.core.framework.graph_pb2 import *... File "/usr/local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in <module> 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')TypeError: __init__() got an unexpected keyword argument 'syntax'
这是由于安装了冲突的 protobuf 版本引起的, TensorFlow 需要的是 protobuf 3.0.0. 当前 最好的解决方案是确保没有安装旧版本的 protobuf, 可以使用以下命令重新安装 protobuf 来解决 冲突:
brew reinstall --devel protobuf
- Wiki 人工智能 深度学习 TensorFlow 下载与安装
- Wiki 人工智能 深度学习 TensorFlow 官方文档中文版
- TensorFlow【深度学习】安装Tensorflow与测试
- [深度学习]tensorflow模块安装与测试
- 人工智能 深度学习 TensorFlow 官方文档中文版
- Tensorflow实战学习(四十五)【人工智能,深度学习,TensorFlow,比赛,公司】
- 随想:人工智能与深度学习
- AlphaGo:人工智能与深度学习
- TensorFlow学习笔记:1、TensorFlow快速下载与安装
- Tensorflow下载与安装
- 人工智能机器学习深度学习TensorFlow最新学习视频资料
- 学习笔记TF045:人工智能、深度学习、TensorFlow、比赛、公司
- 【深度学习 tensorflow】Mac OS安装TensorFlow
- 人工智能、机器学习与深度学习
- AI(人工智能) TensorFlow 源码下载及编译安装
- 人工智能、机器学习与深度学习及深度学习工具
- 北京 | 深度学习与人工智能研修
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- 通向架构师的道路(第二十六天)漫谈架构与设计文档的写作技巧
- omap-l138烧写程序之 – 烧写程序到nand flash
- wust oj 1496: yj&&jy->Mobile
- 理解ES6: 组件
- 微信开发基本消息回复
- Wiki 人工智能 深度学习 TensorFlow 下载与安装
- LeetCode周练Contest-38代码解析(C++)
- HTTP基础知识
- 高效的遍历cmap中的元素方法
- [LeetCode] 337. House Robber III
- c#方法的重载和重写
- 关于idea基础的常用快捷键
- 超详细的pxe实现系统自动安装的图文说明————设置主机名和静态IP
- 什么是TLB