日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

tensorflow源码编译教程_源码编译安装tensorflow 1.8

發布時間:2023/12/2 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow源码编译教程_源码编译安装tensorflow 1.8 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考官方指南

基本要求

官網測試過的源代碼配置如下:

image

也就是說,按照這個版本安裝的話不應該再產生版本的問題了。

我的配置

ubuntu 16

python 2.7

nccl 2.3

gcc 4.8.5

cuda 7.1.4

cudnn 9.0 (具體是9.0.176但是在./configure的那里不用輸這么仔細,具體原因下面會說)

安裝bazel 0.10

從源碼編譯安裝

官方的【安裝步驟】,我試了沒用,查到【這個博客】才發現缺乏如下步驟。

應該要使用,./compile.sh編譯,要等待幾分鐘。

image

編譯后,最終生成的二進制文件bazel在當前目錄的output/bazel下面

由于

image

把這個文件移動到venv/bin/bazel下面.

note:

安裝version10的時候用這個方法沒問題,我卸載干凈之后用apt-get安裝version21使用的是apt-get,官網有教程,行得通。

bazel版本問題

嘗試bazel 0.21版本,產生如下報錯:

ERROR: Config value cuda is not defined in any .rc file。

最后發現tf1.8的構建版本時使用了bazel 0.10,所以果斷換成了bazel 0.10

bazel路徑問題

如果沒有進入虛擬環境之前可以使用bazel命令但是進入虛擬環境之后不行,提示沒有這個文件,則:(把外部環境的bazel加入路徑)

export PATH=/root/bin/:$PATH

此時再輸入bazel就可以找到啦。

卸載bazel,重新安裝

卸載參考:https://github.com/bazelbuild/bazel/issues/962

卸載完畢還是沒法刪除bazel.0.10,是因為虛擬環境下venv/bin/bazel存在。刪除這個文件之后,終于顯示刪除成功。

安裝nccl 2.3

因為無法登陸英偉達官方網站,所有采用giuthub的方式下載,按照build,install執行命令。

NCCL-SLA.txt不存在的問題

編譯Tensorflow

按照官網的說明,我需要的是r1.8版本的,切換分支就可以了。

./configure 文件的配置

這一步也有挺多的坑

除了cuda,剩下的都選擇n.

gpu的compute capability查詢方法:nvidia-smi 查看最上面顯示的是什么型號的gpu.

image

可以看到,我的四塊gpu都是GeForce GTX 108...,然后在【英偉達給出的官網】上查詢得知計算能力是6.1

nccl路徑

安裝完之后命令行會提示你路徑。

gcc版本,我修改為gcc-4.8

cuda,cudnn版本

都不用輸那么仔細的版本,因為可以看到./configure的輸出如下:

exec env –

CUDA_TOOLKIT_PATH=/usr/local/cuda

CUDNN_INSTALL_PATH=/usr/lib/x86_64-linux-gnu

GCC_HOST_COMPILER_PATH=/usr/bin/gcc-4.8

LD_LIBRARY_PATH=:/usr/local/cuda/extras/CUPTI/lib64

NCCL_INSTALL_PATH=/data/lirong/py2/nccl/nccl/build

PATH=/root/bin/:/data/lirong/py2/venv_python2.7/bin/:/data/lirong/py2/venv_python2.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda/bin

PYTHON_BIN_PATH=/data/lirong/py2/venv_python2.7/bin//python

PYTHON_LIB_PATH=/data/lirong/py2/venv_python2.7/lib/python2.7/site-packages

TF_CUDA_CLANG=0

TF_CUDA_COMPUTE_CAPABILITIES=6.1

TF_CUDA_VERSION=9.0

TF_CUDNN_VERSION=7

TF_NCCL_VERSION=2

TF_NEED_CUDA=1

TF_NEED_OPENCL_SYCL=0 \

bazel build這一步踩了很多的坑,成功之后。

image

然后按照官網的步驟沒出錯。

最后需要重新打開一次命令行窗口,再次import tensorflow。

image

安裝成功

踩過的坑

bazel build編譯的時候,如果遇到各種問題。command會提示Use --verbose_failures to see the command lines of failed build steps.,我之前一直沒有注意,直到加了--verbose_failures這個條命令:

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --verbose_failures

試過,才發現完整的報錯,然后很快google一下就解決了。

issue 1

報錯

AttributeError: 'int' object attribute '__doc__' is read-only

Target //tensorflow/tools/pip_package:build_pip_package failed to build

...

ERROR: /data/lirong/py2/tensorflow/tensorflow/tools/api/generator/BUILD:27:1: Executing genrule //tensorflow/tools/api/generator:python_api_gen

failed (Exit 1)

解決

pip uninstall enum

apt-get install python-enum34

重新編譯之后還會會報錯,但是報的是issue 2了

issue 2

錯誤提示

ImportError: No module named enum

Target //tensorflow/tools/pip_package:build_pip_package failed to build

解決方法

pip uninstall enum

pip install enum34

總結

以上是生活随笔為你收集整理的tensorflow源码编译教程_源码编译安装tensorflow 1.8的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。