3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
本文原作者Enachan。本文原載於作者的GitHub。AI 研習社經授權發布。這個文檔說明了如何在 Mac OS X 上安裝 TensorFlow。(從 1.2 版本開始,在 Mac OS X 上 TensorFlow 不再支持 GPU。) 確定如何安裝 TensorFlow你可以選擇一種方式安裝 TensorFlow,支持下面的幾種選擇:virtualenv"本地" pipDocker從源代碼安裝,更專業有單獨的文檔記錄我們建議使用 virtualenv 安裝。virtualenv 是一個和其它 Python 項目開發隔離的虛擬 Python 環境,在同一台機器上不會幹擾也不會被其它程序影響。virtualenv 安裝過程中,你不僅僅安裝了 TensorFlow 還有它的所有依賴包。(事實上這很簡單)要開始使用 TensorFlow,你需要 「啟動」 virtualenv 環境。總而言之,virtualenv 提供了一個安全可靠的 TensorFlow 安裝和運行機制。本地 pip 安裝 TensorFlow 不經過任何容器或者虛擬環境系統直接裝到了系統上,由於本地 pip 安裝沒被關閉,pip 安裝會幹擾或者影響系統上其它有 Python 依賴的安裝。而且,如果要通過本地 pip 安裝,你需要禁用系統完整性保護(SIP)。然而,如果你了解 SIP,pip 和 你的 Python 環境,本地 pip 安裝相對容易執行。Docker 可使 TensorFlow 的安裝完全脫離於機器上的其它已存在的包,Docker 容器包括 TensorFlow 和它的所有依賴。注意 Docker 鏡像可能很大(幾百 M)。如果你已將 TensorFlow 集成到使用了 Docker 的大型應用架構中可以選擇 Docker 安裝。選擇 Anaconda,你可以使用 conda 創建一個虛擬環境,我們建議使用 pip install 命令而不是 coda install 命令安裝 TensorFlow。注意:coda 包是社區而不是官方支持,也就是說,TensorFlow 團隊既不測試也不維護 conda 包,如果使用風險自己承擔。 使用 virtualenv 安裝打開終端(一個 shell),你將在這個終端中執行隨後的步驟通過以下命令安裝 pip 和 virtualenv:$ sudo easy_install pip $ sudo pip install --upgrade virtuale3. 執行以下任一命令創建虛擬環境: $ virtualenv --system-site-packages targetDirectory # for Python 2.7 $ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.ntargetDirectory 因虛擬環境根路徑而異,我們的命令假使 targetDirectory 是 ~/tensorflow,但你可以選擇任一目錄。4. 執行任一命令激活虛擬環境:$ source ~/tensorflow/bin/activate # If using bash, sh, ksh, or zsh $ source ~/tensorflow/bin/activate.csh # If using csh or tcs(tensorFlow)$5. 如果已經安裝了 pip 8.1 或者更新的版本,執行以下任一命令在激活的虛擬環境中安裝 TensorFlow 及其所有依賴: $ pip install --upgrade tensorflow # for Python 2.7 $ pip3 install --upgrade tensorflow # for Python 3.n如果前面的命令執行成功了,跳過步驟 6;如果失敗了,再執行步驟 6。6. 可選,如果步驟 5 失敗了(一般是因為你使用了低於 8.1 版本的 pip),執行以下任一命令在激活的虛擬環境中安裝 TensorFlow: $ pip install --upgrade tfBinaryURL # Python 2.7 $ pip3 install --upgrade tfBinaryURL # Python 3.ntfBinaryURL 是 Tensorflow 包的 URL,準確的 tfBinaryURL 值因操作系統和 Python 版本而異,在 [這裡](#TensorFlow Python 包 URL) 找到和你系統相關的 tfBinaryURL 值。例如,你要在 Mac OS X 上安裝 Python 2.7 對應的 Tensorflow 版本,在虛擬環境中安裝 Tensorflow 就執行下面的命令:$ pip3 install --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.2.1-py2-none-any.whl如果安裝過程中遇到麻煩,參考常見安裝問題。下一步安裝完成後,驗證你的安裝是否工作正常。注意,每打開一個新的 shell 使用 TensorFlow 都必須激活虛擬環境。如果當前虛擬環境沒有被激活(也就是提示符不是 tensorflow),執行以下任一命令:$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh $ source ~/tensorflow/bin/activate.csh # csh or tcsh你的提示符變成下面這樣說明 tensorflow 環境已經激活:(tensorflow)$當虛擬環境激活后,你可以在這個 shell 中運行 TensorFlow 程序。如果你不再使用 TensorFlow,可以通過下面命令退出環境:(tensorflow)$ deactivate提示符將會恢復到默認的(在 PS1 中定義的)。 卸載 TensorFlow如果你想卸載 TensorFlow,簡單地移除你創建的目錄。例如: $ rm -r ~/tensorflow 使用本地 pip 安裝我們已經將 TensorFlow 二進位文件上傳到了 PyPI,因此你可以通過 pip 安裝, REQUIRED_PACKAGES section of setup.py 文件列出了 pip 將要安裝或升級的包。必備: Python要安裝 TensorFlow,你的系統必須依據安裝了以下任一 Python 版本:Python 2.7Python 3.3+如果你的系統還沒有安裝符合以上版本的 Python,現在安裝。安裝 Python,你可能需要禁用系統完整性保護(SIP)來獲得從 Mac App Store 外安裝軟體的許可。必備: pipPip 安裝和管理 Python 寫的軟體包,如果你要使用本地 pip 安裝,系統上必須安裝下面的任一 pip 版本:pip, for Python 2.7pip3, for Python 3.n.pip 或者 pip3 可能在你安裝 Python 的時候已經安裝了,執行以下任一命令確認系統上是否安裝了 pip 或 pip3:$ pip -V # for Python 2.7 $ pip3 -V # for Python 3.n我們強烈建議使用 pip 或者 pip3 為 8.1 或者更新的版本安裝 TensorFlow,如果沒有安裝,執行以下任一命令安裝或更新:$ sudo easy_install --upgrade pip $ sudo easy_install --upgrade six安裝 TensorFlow執行以下任一命令安裝 TensorFlow: $ pip install tensorflow # Python 2.7; CPU support $ pip3 install tensorflow # Python 3.n; CPU support如果上面的命令執行完成,現在可以驗證你的安裝了。2. (可選的) 如果步驟 1 失敗了,執行下面的命令安裝最新版本 TensorFlow: $ sudo pip install --upgrade tfBinaryURL # Python 2.7 $ sudo pip3 install --upgrade tfBinaryURL # Python 3.ntfBinaryURL 是 Tensorflow 包的 URL,準確的 tfBinaryURL 值因操作系統和 Python 版本而異,在這裡找到和你系統相關的 tfBinaryURL 值。例如,你要在 Mac OS X 上安裝 Python 2.7 對應的 Tensorflow 版本,在虛擬環境中安裝 Tensorflow 就執行下面的命令: $ sudo pip3 install --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.2.1-py2-none-any.whl如果以上命令運行失敗,參考 安裝問題。下一步卸載 TensorFlow如果要卸載 TensorFlow,執行下面的命令:$ pip uninstall tensorflow $ pip3 uninstall tensorflow 使用 Docker 安裝按照以下步驟使用 Docker 安裝 TensorFlow:1. 按照 文檔 在你的機器上安裝 Docker2. 啟動任一個包含 TensorFlow 鏡像的 Docker 容器本節剩下部分解釋如何啟動 Docker 容器。要啟動包含 TensorFlow 鏡像的 Docker 容器,執行以下命令: $ docker run -it -p hostPort:containerPort TensorFlowImagewhere:-p hostPort:containerPort 是可選的,如果你想從 shell 運行 TensorFlow 程序忽略這個選項。如果你想從 Jupyter notebook 運行 TensorFlow 程序,hostPort 和 containerPort 都設置為 8888。如果你想在鏡像中運行 TensorBoard,再添加一個-p參數,hostPort 和 containerPort 都設置為 6006。TensorFlowImage 是需要的,它用於指定 Docker 容器,你必須指定接下來的任一一個:gcr.io/tensorflow/tensorflow: TensorFlow 二進位鏡像,gcr.io/tensorflow/tensorflow:latest-devel: TensorFlow 二進位鏡像加源碼。gcr.io 是 Goole 的容器註冊表 (?),注意部分 TensorFlow 也可以從 dockerhub 獲取。例如,下面的命令可以在 Docker 容器中啟動一個 TensorFlow CPU 鏡像,然後你可以在鏡像的 shell 中運行 TensorFlow 程序:$ docker run -it gcr.io/tensorflow/tensorflow bash以下命令也可以在 Docker 容器中啟動一個 TensorFlow CPU 鏡像,然而,在這個 Docker 鏡像中,你可以在 Jupyter notebook 中運行 TensorFlow 程序:$ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflowDocker 將會先下載 TensorFlow 鏡像然後啟動它。下一步現在可以驗證你的安裝了。 使用 Anaconda 安裝Anaconda 安裝只是社區而非官方支持按照以下步驟在 Anaconda 環境中安裝 TensorFlow:1. 按照 Anaconda 下載站點 說明下載安裝 Anaconda2. 執行以下命令創建名為 tensorflow 的 conda 環境:$ conda create -n tensorflow3. 執行以下命令激活 conda 環境:$ source activate tensorflow (tensorflow)$ # Your prompt should change4. 執行以下命令在你的 conda 環境中安裝 TensorFlow:(tensorflow)$ pip install --ignore-installed --upgrade TF_PYTHON_URLTF_PYTHON_URL 是 TensorFlow Python 包 的 URL,例如,以下命令是安裝 Python 2.7 CPU-only 版本的 TensorFlow: (tensorflow)$ pip install --ignore-installed --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.2.1-py2-none-any.whl 驗證你的安裝要驗證你的 TensorFlow 安裝,操作以下步驟:保證你的環境可以運行 TensorFlow 程序運行一個小的 TensorFlow 程序準備你的環境如果你使用本地 pip, virtualenv 或者 Anaconda 安裝,操作以下步驟:打開一個終端如果你使用 virtualenv 或 Anaconda 安裝,激活你的容器如果你安裝了 TensorFlow 源碼,進到任何一個處了包含 TensorFlow 源碼的目錄如果通過 Docker 安裝,啟動一個運行 bash 的 Docker 容器,例如:運行一個小的 TensorFlow 程序在一個 shell 中執行 Python:$ python在 python 互動式 shell 中輸入以下小程序:# Pythonimport tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Sessionprint(sess.run(hello))如果系統輸出以下內容,你可以開始寫 TensorFlow 程序了:Hello, TensorFlow!如果你不熟悉 TensorFlow,參考 Getting Started with TensorFlow。如果系統輸出錯誤信息而不是歡迎語,參考 常見安裝問題。 常見安裝問題我們依據 Stack Overflow 記錄 TensorFlow 安裝問題和相應的解決方法。下面的表格包括 Stack Overflow 常見的安裝問題回復鏈接,如果你遇到的錯誤信息或者其它安裝問題不在表格中,請在 Stack Overflow 上搜索。如果 Stack Overflow 上沒有你搜索的錯誤信息,提一個新問題並且打上 tensorflow 標籤。Stack Overflow LinkError Message42006320ImportError: Traceback (most recent call last):File 「…/tensorflow/core/framework/graph_pb2.py」, line 6, in from google.protobuf import descriptor as _descriptorImportError: cannot import name 『descriptor』33623453IOError: [Errno 2] No such file or directory: 『/tmp/pip-o6Tpui-build/setup.py』35190574SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed42009190Installing collected packages: setuptools, protobuf, wheel, numpy, tensorflow Found existing installation: setuptools 1.1.6 Uninstalling setuptools-1.1.6: Exception: … [Errno 1] Operation not permitted: 『/tmp/pip-a1DXRT-uninstall/…/lib/python/_markerlib』33622019ImportError: No module named copyreg37810228During a pip install operation, the system returns:OSError: [Errno 1] Operation not permitted33622842An import tensorflow statement triggers an error such as the following:Traceback (most recent call last): File 「」, line 1, in File 「/usr/local/lib/python2.7/site-packages/tensorflow/init.py」, line 4, in from tensorflow.python import * … File 「/usr/local/lib/python2.7/site-packages/tensorflow/core/framework/tensorshapepb2.py」, line 22, in 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』42075397A pip install command triggers the following error:…You have not agreed to the Xcode license agreements, please run』xcodebuild -license』 (for user-level acceptance) or』sudo xcodebuild -license』 (for system-wide acceptance) from within aTerminal window to review and agree to the Xcode license agreements…. File 「numpy/core/setup.py」, line 653, in get_mathlib_info raise RuntimeError(「Broken toolchain: cannot link a simple C program」)RuntimeError: Broken toolchain: cannot link a simple C programTensorFlow Python 包 URL一些安裝方法需要 TensorFlow Python 包的 URL,值與三個方面有關 (?):操作系統Python 版本本節記錄了 Mac OS 安裝相關的值Python 2.7Python 3.4, 3.5, or 3.6Protobuf pip package 3.1如果你沒有遇到 protobuf pip 包相關的問題可以跳過本節。** 注意:** 如果你的 TensorFlow 運行很慢,可能是和 protobuf pip 包有關的問題。TensorFlow pip 包依賴 protobuf pip 3.1 版本的包,從 PyPI 下載的 protobuf pip 包(在調用 pip install protobuf 時)是一個僅包含 Python 的庫,其中包含執行速度比 C++ 實現慢 10 ~ 50 倍的原始序列化 / 反序列化的 Python 實現。 Protobuf 還支持包含基於快速 C++ 的原語解析的 Python 包的二進位擴展,此擴展在標準的僅 Python 專用 pip 包中不可用,我們為 protobuf 創建了一個包含二進位擴展名的自定義二進位 pip 包。要安裝自定義二進位 protobuf pip 包,請調用以下命令之一:for Python 2.7:$ pip install --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/protobuf-3.1.0-cp27-none-macosx_10_11_x86_64.whlfor Python 3.n:$ pip3 install --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/protobuf-3.1.0-cp35-none-macosx_10_11_x86_64.whl安裝這些 protobuf 包將會覆蓋已安裝的包,注意二進位 pip 包已經支持大於 64M 的 protobufs,修復了如下報錯:[libprotobuf ERROR google/protobuf/src/google/protobuf/io/coded_stream.cc:207] A protocol message was rejected because it was too big (more than 67108864 bytes). To increase the limit (or to disable these warnings), seeCodedInputStream::SetTotalBytesLimit in google/protobuf/io/coded_stream.h.關注 AI 研習社(okweiwu),回復 1 領取【超過 1000G 神經網路/AI/大數據、教程、論文!】

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦