轉自:http://www.tensorfly.cn/tfdoc/get_started/os_setup.htmlhtml
下載與安裝 你可使用咱們提供的二進制包, 或者使用源代碼, 安裝 TensorFlow. 二進制安裝 TensorFlow Python API 依賴 Python 2.7 版本. 在 Linux 和 Mac 下最簡單的安裝方式, 是使用 pip 安裝. 若是在安裝過程當中遇到錯誤, 請查閱 常見問題. 爲了簡化安裝步驟, 建議使用 virtualenv, 教程見 這裏. Ubuntu/Linux # 僅使用 CPU 的版本 $ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl # 開啓 GPU 支持的版本 (安裝該版本的前提是已經安裝了 CUDA sdk) $ pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl Mac OS X 在 OS X 系統上, 咱們推薦先安裝 homebrew, 而後執行 brew install python, 以便可以使用 homebrew 中的 Python 安裝 TensorFlow. 另一種推薦的方式是在 virtualenv 中安裝 TensorFlow. # 當前版本只支持 CPU $ pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl 基於 Docker 的安裝 咱們也支持經過 Docker 運行 TensorFlow. 該方式的優勢是不用操心軟件依賴問題. 首先, 安裝 Docker. 一旦 Docker 已經啓動運行, 能夠經過命令啓動一個容器: $ docker run -it b.gcr.io/tensorflow/tensorflow 該命令將啓動一個已經安裝好 TensorFlow 及相關依賴的容器. 其它鏡像 默認的 Docker 鏡像只包含啓動和運行 TensorFlow 所需依賴庫的一個最小集. 咱們額外提供了 下面的容器, 該容器一樣能夠經過上述 docker run 命令安裝: b.gcr.io/tensorflow/tensorflow-full: 鏡像中的 TensorFlow 是從源代碼完整安裝的, 包含了編譯和運行 TensorFlow 所需的所有工具. 在該鏡像上, 能夠直接使用源代碼進行實驗, 而不須要再安裝上述的任何依賴. 基於 VirtualEnv 的安裝 咱們推薦使用 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 $ # 你的命令提示符會恢復原樣 嘗試你的第一個 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 首先依照 教程 安裝 Bazel 的依賴. 而後使用下列命令下載和編譯 Bazel 的源碼: $ git clone https://github.com/bazelbuild/bazel.git $ cd bazel $ git checkout tags/0.1.0 $ ./compile.sh 上面命令中拉取的代碼標籤爲 0.1.0, 兼容 Tensorflow 目前版本. bazel 的HEAD 版本 (即最新版本) 在這裏可能不穩定. 將執行路徑 output/bazel 添加到 $PATH 環境變量中. 安裝其餘依賴 $ sudo apt-get install python-numpy swig python-dev 可選: 安裝 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 下載地址 將工具安裝到諸如 /usr/local/cuda 之類的路徑. 下載並安裝 CUDNN Toolkit 6.5 下載地址 解壓並拷貝 CUDNN 文件到 Cuda Toolkit 7.0 安裝路徑下. 假設 Cuda Toolkit 7.0 安裝 在 /usr/local/cuda, 執行如下命令: tar xvzf cudnn-6.5-linux-x64-v2.tgz sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/include sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64 配置 TensorFlow 的 Cuba 選項 從源碼樹的根路徑執行: $ ./configure Do you wish to bulid TensorFlow with GPU support? [y/n] y GPU support will be enabled for TensorFlow Please specify the location where CUDA 7.0 toolkit is installed. Refer to README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda Please specify the location where CUDNN 6.5 V2 library is installed. Refer to README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda Setting up Cuda include Setting up Cuda lib64 Setting up Cuda bin Setting up Cuda nvvm Configuration 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 安裝指南. SWIG Mac OS X 安裝教程. 注意: 你須要安裝PCRE, 而不是 PCRE2. Numpy 參見安裝教程. 建立 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.py Succesfully 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.gz Extracting data/train-labels-idx1-ubyte.gz Extracting data/t10k-images-idx3-ubyte.gz Extracting data/t10k-labels-idx1-ubyte.gz Initialized! Epoch 0.00 Minibatch loss: 12.054, learning rate: 0.010000 Minibatch error: 90.6% Validation error: 84.6% Epoch 0.12 Minibatch loss: 3.285, learning rate: 0.010000 Minibatch 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 copyreg ImportError: 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 tf Traceback (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 原文:Download and Setup 翻譯:@doc001 校對:@yangtze