1. 程式人生 > >CUDA 9.0 + cuDNN 7.0 + Tensorflow原始碼編譯

CUDA 9.0 + cuDNN 7.0 + Tensorflow原始碼編譯

手欠把CUDA升級到了9.0,然後發現cuDNN必須升級到7.0才支援。於是順手把cuDNN升級到了7.0。然後發現在Python中匯入Tensorflow報錯。一查才知道tensorflow 1.3只支援CUDA8.0cuDNN6.0.想把CUDA和cuDNN降級回去,卻發現Nvidia官網6.0版本的cuDNN下載不下來了。悲催。
這時候終於理解了為何會有原始碼編譯安裝這種麻煩的方式–就是為了給我這種手欠的人一條活路。
沒有查到官方編譯安裝的教程。從網上搜到了一些,我參考的是TensorFlow學習一:原始碼安裝

克隆tensorflow原始碼

git clone --recurse-submodules https://github.com/tensorflow/tensorflow

安裝Bazel

按照官方教程安裝

我的CUDA和cuDNN是裝好的,因此安裝好Bazel就可以開始配置和編譯tensorflow了。

配置tensorflow

下面是我配置tensorflow的log。

[email protected]:~tensorflow$ ./configure
You have bazel 0.6.1 installed.
Please specify the location of python. [Default is /usr/bin/python]: /usr/bin/python3
Found possible Python library paths:


/home/shengchun/tensorflow/models/
/bin
/usr/local/cuda/bin
/sbin
/home/shengchun/tensorflow/models/slim
/usr/bin
/usr/local/sbin
/usr/local/games
/usr/lib/python3/dist-packages
/usr/games
/home/shengchun/mxnet-ssd/mxnet/python
/usr/sbin
/usr/local/bin
/usr/local/lib/python3.5/dist-packages

Please input the desired Python library path to use. Default is [/home/shengchun/tensorflow/models/]/usr/local/lib/python3.5/dist-packages
Do you wish to build TensorFlow with jemalloc as malloc support? [Y/n]: [Enter]
jemalloc as malloc support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Google Cloud Platform support? [Y/n]: [Enter]
Google Cloud Platform support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Hadoop File System support? [Y/n]: [Enter]
Hadoop File System support will be enabled for TensorFlow.
Do you wish to build TensorFlow with XLA JIT support? [y/N]: [Enter]
No XLA JIT support will be enabled for TensorFlow.
Do you wish to build TensorFlow with GDR support? [y/N]: [Enter]
No GDR support will be enabled for TensorFlow.
Do you wish to build TensorFlow with VERBS support? [y/N]: [Enter]
No VERBS support will be enabled for TensorFlow.
Do you wish to build TensorFlow with OpenCL support? [y/N]: [Enter]
No OpenCL support will be enabled for TensorFlow.
Do you wish to build TensorFlow with CUDA support? [y/N]: y
CUDA support will be enabled for TensorFlow.
Please specify the CUDA SDK version you want to use, e.g. 7.0. [Leave empty to default to CUDA 8.0]: 9.0
Please specify the location where CUDA 9.0 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: [Enter]
Please specify the cuDNN version you want to use. [Leave empty to default to cuDNN 6.0]: 7.0.3
Please specify the location where cuDNN 7.0.3 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda]:[Enter]
**Please specify a list of comma-separated Cuda compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size. [Default is: 5.0]**[Enter]
Do you want to use clang as CUDA compiler? [y/N]: [Enter]
nvcc will be used as CUDA compiler.
Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:
Do you wish to build TensorFlow with MPI support? [y/N]: [Enter]
No MPI support will be enabled for TensorFlow.
Please specify optimization flags to use during compilation when bazel option “–config=opt” is specified [Default is -march=native]: [Enter]
Add “–config=mkl” to your bazel command to build with MKL support.
Please note that MKL on MacOS or windows is still not supported.
If you would like to use a local MKL instead of downloading, please set the environment variable “TF_MKL_ROOT” every time before build.
Configuration finished

編譯tensorflow, 開啟 GPU 支援:

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

整個過程還是比較順利的,只是編譯時間有點兒長。

生成whl檔案

bazel編譯命令建立了一個名為build_pip_package的指令碼。執行如下的命令將會在 /tmp/tensorflow_pkg路徑下生成一個.whl檔案:

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

pip安裝tensorflow

sudo pip3 install /tmp/tensorflow_pkg/tensorflow-1.3.0-cp35-cp35m-linux_x86_64.whl

驗證安裝

開啟任意一個新的終端,注意不要在tensorflow的安裝路徑下,執行

python3

輸入以下程式碼

import tensorflow as tf
hello = tf.constant(‘Hello, TensorFlow!’)
sess = tf.Session()
print(sess.run(hello))

至此,tensorflow 1.3從原始碼編譯安裝成功,世界恢復了正常。

相關推薦

[更新]windows 環境下編譯tensorflow 1.9及下載 ( CUDA 9.1 + CUDNN 7.0

基本流程和上個文章的編譯過程相差不多。不過1.9新加了MKL的支援,不過據intel的朋友說是沒多大改善:( 所以大家自己決定要不要加MKL支援選項。 在編譯tensorflow前需要預編譯的工程有: farmhash nsync protobu

CUDA 9.0 + cuDNN 7.0 + Tensorflow原始碼編譯

手欠把CUDA升級到了9.0,然後發現cuDNN必須升級到7.0才支援。於是順手把cuDNN升級到了7.0。然後發現在Python中匯入Tensorflow報錯。一查才知道tensorflow 1.3只支援CUDA8.0和cuDNN6.0.想把CUDA和cuDN

深度學習服務器環境配置: Ubuntu17.04+Nvidia GTX 1080+CUDA 9.0+cuDNN 7.0+TensorFlow 1.3

顯卡 right const andrew ng extra framework abi credit packages 本文來源地址:http://www.52nlp.cn/tag/cuda-9-0 一年前,我配置了一套“深度學習服務器”,並且寫過兩篇關於深度學習服務器環

{專業親測,一次就好}Ubuntu16.04+Cuda.9.0+cudnn.7.1+tensorflow-gpu+opencv.3安裝步驟

Ubuntu16.04+Cuda.9.0+cudnn.7.1+tensorflow-gpu+opencv.3安裝步驟 相信很多同學在接觸深度學習的時候滿懷熱情,但是卻在安裝cuda+cudnn+各種深度學習的框架時接近崩潰,走了很多彎路,這篇博文是我在重新裝了系統以後寫下的博文,也讓後面的同學少

安裝CUDA 9.0時,NIVDIA安裝程式失敗,解決方法。win10+vs2017+python 3.6+cuda 9.0+cudnn 7.0+tensorflow 1.5

在win10+vs2017+python 3.6+cuda 9.0+cudnn 7.0+tensorflow 1.5的環境配置過程中,安裝cuda 9.0就一直出錯,一直無法安裝,如下圖(找不到9.0的圖片,就用了個8.0失敗的圖片)好,現在就來說解決方法:就是清楚所有的顯示

VS2017 + CUDA 9.2 + CUDNN 7.1.4 + tensorflow 安裝

h5py with floating blank col 進行 ima inf height 參照步驟:https://blog.csdn.net/weixin_42359147/article/details/80622306 坑:安裝完成後 import tensor

【PyTorch】windows10 + CUDA 9.1 + cuDNN v7.0.5 + PyTorch 0.4.1

準備工作: 注意:PyTorch 在 windows 環境下,只支援 Python3。 CUDA: CUDA:配置環境變數 CUDNN ## 解壓 cudnn-9.1-windows10-x64-v7.zip ## 將資料夾裡內容拷貝至安裝 CU

NVIDIA DIGITS 學習筆記(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0

NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0環境配置 引言 DIGITS簡介 DIGITS: Deep Learning GPU Tra

Ubuntu 16.04 單顯示卡安裝Nvidia驅動+GTX750顯示卡安裝CUDA 9.1+cuDNN 7.1.3

1.移除原有nvidia驅動 $ sudo apt-get remove --purge nvidia* 2.禁用nouveau驅動 $ sudo vim /etc/modprobe.d/blacklist.conf // 在檔案末尾新增: blacklist

win10+cuda9.0+cuDNN 7.0 install steps

Ensure you meet the following requirements before you install cuDNN. A GPU of compute capability 3.0 or higher. To understand the c

Ubuntu 18.04 + CUDA 9.2 + cuDNN 7.1.4 + Caffe2 安裝

安裝Ubuntu 18.04 Ubuntu 18.04的安裝參考官網步驟,很容易安裝。我在安裝的時候比較坎坷,拿到了一個有問題的U盤,寫入ISO後,啟動一直啟動不了。 主要步驟如下: 1. 下載系統。 2. 下載Rufus工具,也可以是其他的,只要能燒錄

Win 10 Cuda 9.2 Opencv 3.4.2 原始碼編譯

OpenCV官方提供的win 安裝包沒有Cuda 的加速。所以我們需要Cuda的版本。 具體編譯步驟:visual studio 選擇 2015 的版本。因為2017雖然好用,但是VC++版本更新太快,和Cuda 一直會有衝突,這個也是很無奈。並且新安裝的肯定是最新的201

原始碼安裝l CUDA 10.0, cuDNN 7.3 and build TensorFlow (GPU) from source on Ubuntu 18.04

更糟糕的CUDA 10.0和cuDNN 7.3版本我真的很想在我新建的機器上試用它。問題是pip包TensorFlow 1.11rc不支援最新的CUDA版本,我需要從原始碼構建它。整個過程對我來說相當痛苦,最後我完成了它後,我決定再次完成所有步驟並在空的Ubuntu機器上從頭開始設定。 我的

Ubuntu16.04下CUDA 9.0 + cuDNN v7.0 + tensorflow 1.6.0(GPU)環境搭建

由於自己攢了個主機,第一次安裝GPU版本的tensorflow,mark一下。說一下環境的版本:系統:Ubuntu 16.04.3顯示卡:gtx 1080(索泰 至尊Plus OC)CUDA 9.0cuDNN v7.0.5 for CUDA 9.0tensorflow 1.6

Ubuntu18.04安裝Nvidia顯示卡驅動,CUDA 9.1,cuDNN 7.0.5

1. 安裝驅動:系統的“software & update”中,additional drivers處直接“Apply Changes”快捷安裝驅動,重啟即可。完美解決通過命令列等方式安裝帶來的各種重啟,迴圈登陸等問題安裝完成後可以通過nvidia-smi命令檢驗是否

搭建深度學習框架-win10 64位+CUDA 9.0+cuDNN v7.0.5 安裝

本人機械狗,研究生接觸到了機器視覺令我神往,雷軍不是說過:站在風口上,豬都能飛起來.能不能飛起來,看你小子本事了。 廢話不多說,摸著石頭過河的同時也要記下自己成長的足跡.第一次嘗試寫安裝教程的部落格,希望能幫助到需要的朋友. 0 檢視電腦系統版本(非常重要) WIN+R->輸入

Ubuntu 16.04+Gtx1050Ti+cuda 8.0+cudnn 5.1 tensorflow 安裝

現在tensorflow 終於支援高版本(cuda 8.0)一鍵安裝了,今天嘗試了一下,很爽。不用折騰那麼多東西。 建議安裝 anaconda ,一個特別好的Python包管理器,清華大學的源有其映象,安裝速度,更新也挺快的。 其獨有的虛擬環境可以將一個個環境隔離開來,互不

在CENT OS 7.0 64位系統上原始碼編譯安裝OPENCV3.0以及CUDA7.0,支援CUDA開發,並整合QT5.5.0的開發環境

=============================概述================================= 在CENT OS 7.0 64位系統上原始碼編譯安裝OPENCV,支援CUDA,並整合QT的開發環境,整體過程如下: 1,安裝作業系統,我使用U

Installing CUDA 8.0 + cuDNN 5.1 + TensorFlow with Ubuntu 14.04 (下)

這篇文章因為篇幅原因分為上下兩篇,此為下篇,上篇連結為: Step 2. Install NVIDIA cuDNN Once the CUDA Toolkit is installed, download cuDNN v5.1 Library(或者從百度雲下載) for

Windows平臺安裝TensorFlow-GPU-(CUDA 8.0 + CuDnn 6.0)方法一

1 硬體要求Windows版本:Windows 7,Windows 8,Windows 10,Windows Server 12/16顯示卡版本:請對照NVIDIA提供的支援CUDA的顯示卡列表(CUDA GPUs)。顯示卡版本通過"系統屬性-裝置管理器-顯示介面卡"檢視。(