TensorFlow 1.0源碼編譯安裝

CUDA/cudnn安裝

python

TF源碼下載

bazel安裝

bazel是通過自行在github上下載release的zip源碼包然後編譯,將生成的二進制文件拷貝到PATH路徑上即可。
注意:tensorflow配置時會提示找不到bazel這個命令,而實際上我們已經編譯並配置到PATH,需要在/usr/bin/目錄中新建一個指向bazel的軟連接bazel-real

在安裝的cuda 8.0, tensorflow一直編譯不通過,提示未配置支持GPU,可是明明是選擇了Y,可直接定義一下宏變量通過:
export “TF_NEED_CUDA=1”
另外,還需要指定CUDNN的目錄,否則會報錯,找不到庫
export CUDNN_INSTALL_PATH=/usr/local/cuda/

執行一下步驟:

bazel clean
sudo ./configure
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
 bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

從github上clone代碼之後,可以通過git checkout切換版本分支。目前是使用:

git checkout r1.0

如何在執行./configure是找不到JAVA_HOME時,而又確實在/etc/profile中添加了JAVA_HOME, 這是因爲sudo會重置環境變量,可以通過使用-E參數避免對環境變量進行重置。即

sudo  -E ./configure

pip安裝

sudo pip install /tmp/tensorflow_pkg/*.whl

有時候會遇到如下問題

tensorflow-1.2.1-cp27-none-linux_x86_64.whl is not a supported wheel on this platform.

這個並不代表當前編譯的方式不對,很可能是因爲當前pip的版本與編譯tensorflow時指定的python版本不匹配,可以通過指定pip版本來安排該安裝包,命令如下:

python2.7 -m pip install *.whl

編譯1.2.1時,需要添加

cxx_builtin_include_directory: "/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include"

到以下文件中

third_party/gpus/crosstool/CROSSTOOL_nvcc.tpl

歡迎留言溝通

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章