1. 程式人生 > >Tensorflow 1.8 原始碼安裝

Tensorflow 1.8 原始碼安裝

Tensorflow原始碼安裝

cuda 9.2 / cudnn 7.2 / python3.5 / tensorflow 1.8

1. anacanda

  • 啟動命令 root$ source activate python3.5

2. cuda

3. cudnn

3.1 cudnn 7.1 安裝 [失敗]

  • 檢視版本命令 root#cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

  • 下載版本:

    cuDNN v7.1.4 Runtime Library for Ubuntu16.04 (Deb)
    cuDNN v7.1.4 Developer Library for Ubuntu16.04 (Deb)
    cuDNN v7.1.4 Code Samples and User Guide for Ubuntu16.04 (Deb)
    
  • 安裝命令:

    dpkg -i cuDNN v7.1.4 Runtime Library for Ubuntu16.04 (Deb)
    dpkg -i cuDNN v7.1.4 Developer Library for Ubuntu16.04 (Deb)
    dpkg -i cuDNN v7.1.4 Code Samples and User Guide for Ubuntu16.04 (Deb)
    

    sudo apt update

  • 環境變數:

    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/
    cuda/lib64
  • 校驗: `cd ~/cudnn_samples_v7/mnistCUDNN make ./mnistCUDNN Bus error (core dumped)``

  • 結果: FAILED ‘’‘7.1 失敗了,重新下載 7.2’’’

3.2cudnn 7.2 安裝

  • 檢視版本命令 root#cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

  • 下載版本:

    cuDNN v7.2.1 Runtime Library for Ubuntu16.04 (Deb)
    cuDNN v7.2.1 Developer Library for Ubuntu16.04 (Deb)
    cuDNN v7.2.1 Code Samples and User Guide for Ubuntu16.04 (Deb)
    
  • 安裝命令:

    dpkg -i libcudnn7_7.2.1.38-1+cuda9.2_amd64.deb
    dpkg -i libcudnn7-doc_7.2.1.38-1+cuda9.2_amd64.deb
    dpkg -i libcudnn7-dev_7.2.1.38-1+cuda9.2_amd64.deb
    

    sudo apt update

  • 校驗:

    • 命令 cd ~/cudnn_samples_v7/mnistCUDNN make ./mnistCUDNN
  • 結果

    Result of classification: 1 3 5
    Test passed!
    
    • 希望cudnn被tensorflow編譯時發現,需要將生成的檔案拷貝至 /usr/local/cuda/lib64/ 以及 /usr/local/cuda/include/

      • 檢視: step1: 先看一下 /usr/lib/x86_64-linux-gnu/ 下檔案是否完整

        (python3.\*) [email protected]:/# ll /usr/lib/x86_64-linux-gnu/libcudnn*
        lrwxrwxrwx 1 root root        29 9月  27 09:29 /usr/lib/x86_64-linux-gnu/libcudnn.so -> /etc/alternatives/libcudnn_so
        lrwxrwxrwx 1 root root        17 7月  31 14:54 /usr/lib/x86_64-linux-gnu/libcudnn.so.7 -> libcudnn.so.7.2.1
        -rw-r--r-- 1 root root 288585696 7月  31 14:54 /usr/lib/x86_64-linux-gnu/libcudnn.so.7.2.1
        lrwxrwxrwx 1 root root        32 9月  27 09:29 /usr/lib/x86_64-linux-gnu/libcudnn_static.a -> /etc/alternatives/libcudnn_stlib
        -rw-r--r-- 1 root root 281810850 7月  31 14:54 /usr/lib/x86_64-linux-gnu/libcudnn_static_v7.a
        

        step2: 如果完整,將這些檔案拷貝至 /usr/local/cuda/lib64 cp /usr/lib/x86_64-linux-gnu/libcudnn* /usr/local/cuda/lib64/

        step3: 需要把cudnn.h拷貝到 cuda 路徑下 `sudo cp cudnn.h /usr/local/cuda/include/`` 理論上應重新下載 7.2.1的 cudnn.h 檔案,但我保留了 7.1 的 cudnn.h 安裝未見異常。 如果有問題,下載的話可以到

4. bazel install

  • 路徑: /home/royal/thirdparty/
  • 檔案: /home/royal/thirdparty/bazel-0.16.0-installer-linux-x86_64.sh
  • 命令:

(python3.5) root$ chomd +x bazel-0.16.0-installer-linux-x86_64.sh

5. nccl 2

  • 版本: nccl-repo-ubuntu1604-2.2.12-ga-cuda9.2_1-1_amd64.deb

  • 命令:

    $dpkg -i nccl-repo-ubuntu1604-2.2.12-ga-cuda9.2_1-1_amd64.deb
    $sudo apt update
    $sudo apt install libnccl2 libnccl-dev
    

    然後把libnccl.so.2 和nccl.h拷貝到對應路徑。

    $cp /usr/lib/x86_64-linux-gnu/libnccl.so.2 /usr/local/cuda-9.2/lib/libnccl.so.2
    $cp /usr/include/nccl.h /usr/local/cuda-9.2/include/
    
  • 完成。

6. tensorflow

  • 配置問題1: configure 過程中出現找不到 nccl 重新安裝了nccl,參考5

  • 配置: ./configuer

  • 編譯 $ bazel build --config=opt --config=cuda tensorflow/tools/pip_package:build_pip_package --action_env="LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"

  • 結果 看起來是成功了

    INFO: From Executing genrule //tensorflow/python/estimator/api:estimator_python_api_gen:
    tf.estimator package not installed.
    tf.estimator package not installed.
    Target //tensorflow/tools/pip_package:build_pip_package up-to-date:
      bazel-bin/tensorflow/tools/pip_package/build_pip_package
    INFO: Elapsed time: 668.037s, Critical Path: 240.01s
    INFO: 8021 processes: 8021 local.
    INFO: Build completed successfully, 10483 total actions
    
  • 錯誤 但執行下面命令出現錯誤: python -c 'import tensorflow as tf; print(tf.__version__)'

    ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
    

    看起來需要安裝一下 cublas了。

libcublas

在裝置上find / -name libcublas* ,發現在在libcublas 該有的都有:

/root/anaconda3/lib/libcublas.so.9.0
/root/anaconda3/lib/libcublas.so
/root/anaconda3/lib/libcublas.so.9.0.176
/root/anaconda3/pkgs/cudatoolkit-9.0-h13b8566_0/lib/libcublas.so.9.0
/root/anaconda3/pkgs/cudatoolkit-9.0-h13b8566_0/lib/libcublas.so
/root/anaconda3/pkgs/cudatoolkit-9.0-h13b8566_0/lib/libcublas.so.9.0.176
/usr/lib/x86_64-linux-gnu/libcublas_static.a
/usr/lib/x86_64-linux-gnu/libcublas.so.7.5.18
/usr/lib/x86_64-linux-gnu/stubs/libcublas.so
/usr/lib/x86_64-linux-gnu/libcublas_device.a
/usr/lib/x86_64-linux-gnu/libcublas.so
/usr/lib/x86_64-linux-gnu/libcublas.so.7.5
/usr/share/doc/libcublas7.5
/usr/share/lintian/overrides/libcublas7.5
/usr/share/man/man7/libcublas.so.7.gz
/usr/share/man/man7/libcublas.so.7
/usr/share/man/man7/libcublas.7.gz
/usr/share/man/man7/libcublas.7
/usr/local/cuda-9.2/doc/man/man7/libcublas.so.7
/usr/local/cuda-9.2/doc/man/man7/libcublas.7
/usr/local/cuda-9.2/lib64/libcublas_static.a
/usr/local/cuda-9.2/lib64/libcublas.so.9.2
/usr/local/cuda-9.2/lib64/stubs/libcublas.so
/usr/local/cuda-9.2/lib64/libcublas.so.9.2.148
/usr/local/cuda-9.2/lib64/libcublas_device.a
/usr/local/cuda-9.2/lib64/libcublas.so
/usr/local/cuda-9.0/doc/man/man7/libcublas.so.7
/usr/local/cuda-9.0/doc/man/man7/libcublas.7
/usr/local/cuda-9.0/lib64/libcublas_static.a
/usr/local/cuda-9.0/lib64/stubs/libcublas.so
/usr/local/cuda-9.0/lib64/libcublas.so.9.0
/usr/local/cuda-9.0/lib64/libcublas_device.a
/usr/local/cuda-9.0/lib64/libcublas.so
/usr/local/cuda-9.0/lib64/libcublas.so.9.0.176
/var/lib/dpkg/info.bak/libcublas7.5:amd64.shlibs
/var/lib/dpkg/info.bak/libcublas7.5:amd64.symbols
/var/lib/dpkg/info.bak/libcublas7.5:amd64.list
/var/lib/dpkg/info.bak/libcublas7.5:amd64.triggers
/var/lib/dpkg/info.bak/libcublas7.5:amd64.md5sums

於是思考,是不是環境沒有正確載入到 libcublas* , 參考這個連結 https://github.com/tensorflow/tensorflow/issues/15604 運行了這兩條命令: $bash -c "echo /usr/local/cuda/lib64/ >/etc/ld.so.conf.d/cuda.conf" $ldconfig 然後試了一下 $python -c “import tensorflow as tf; sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))” 仍然報libcublas找不到的錯誤。

於是想了一下,我在anaconda下安裝的,而這個env之前pip install tensorflow-gpu安裝過一次,難道現在引入的是之前的 tensorflow ? 然後通過pip list 看了一下,果然有一個 tensorflow , 於是 source deactivate 之後 , 運行了$python -c “import tensorflow as tf; sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))”, 發現在 anaconda之外是OK的,但版本是1.7?

所以,我再次激活了python3.5,通過pip uninstall tensorflow 解除安裝了之前的tf,又跑了一遍python -c 'import tensorflow as tf; print(tf.__version__)',發現正常了,但版本仍然是1.7。 表示現在1.7版本可用了,再用$python -c 'import tensorflow as tf; sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))'命令測了一下,現實8卡P100可用了。

2018-09-27 12:36:10.774651: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
2018-09-27 12:36:43.384597: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 0 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:88:00.0
totalMemory: 15.90GiB freeMemory: 360.88MiB
2018-09-27 12:36:43.643579: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 1 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:8d:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:36:43.903969: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 2 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:8e:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:36:44.170843: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 3 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:8f:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:37:02.001743: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 4 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:b2:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:37:02.286188: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 5 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:b3:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:37:02.574992: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 6 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:b5:00.0
totalMemory: 15.90GiB freeMemory: 510.88MiB
2018-09-27 12:37:02.578074: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1423] Adding visible gpu devices: 0, 1, 2, 3, 4, 5, 6

Thu Sep 27 12:36:42 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  Off  | 00000000:88:00.0 Off |                  Off |
| N/A   27C    P0    30W / 250W |  15637MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla P100-PCIE...  Off  | 00000000:8D:00.0 Off |                  Off |
| N/A   27C    P0    29W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla P100-PCIE...  Off  | 00000000:8E:00.0 Off |                  Off |
| N/A   29C    P0    29W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla P100-PCIE...  Off  | 00000000:8F:00.0 Off |                  Off |
| N/A   26C    P0    29W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   4  Tesla P100-PCIE...  Off  | 00000000:B2:00.0 Off |                  Off |
| N/A   25C    P0    29W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   5  Tesla P100-PCIE...  Off  | 00000000:B3:00.0 Off |                  Off |
| N/A   29C    P0    31W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   6  Tesla P100-PCIE...  Off  | 00000000:B5:00.0 Off |                  Off |
| N/A   28C    P0    32W / 250W |  15487MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-------------------
            
           

相關推薦

Tensorflow 1.8 原始碼安裝

Tensorflow原始碼安裝 cuda 9.2 / cudnn 7.2 / python3.5 / tensorflow 1.8 1. anacanda 啟動命令 root$ source activate python3.5 2. cuda 3

Ubuntu 18.04上CUDA 9.0、cuDNN7.0及Tensorflow 1.8安裝

http amd64 時間 com ++ dnn 7 清華 配置 示例 配置 筆者使用Dell Inspiron 7559筆記本電腦,顯卡為NVIDIA GTX 960M。 目標 由於本機顯卡僅有nvidia-384驅動包能夠良好支持(nvidia-387、nvidia-3

nginx-1.8原始碼安裝配置

    nginx介紹:       nginx是一款輕量級的web伺服器/反向代理伺服器及郵件代理伺服器,由俄羅斯人Igor Sysoev研發,特點是佔用記憶體較少,併發能力強,官方測試,能支援高達50000併發,還有豐富的第三方模組,滿足大部分業務需求,中國大陸使用ng

win10 + python3.6 + tensorflow-gpu 1.8安裝 CUDA9.0 +CUDNN7.1.4

1.使用anaconda建立tensorflow環境,我的筆記本有塊gtx 765顯示卡,所以使用的是tensorflow gpu,並更新到1.8版本 2.官網更新最新顯示卡驅動,安裝cuda9.0    精簡安裝即可      解壓後複製到CUDA

jdk1.7(1.8安裝配置(Windows)

JDK1.7安裝步驟 1.jdk1.7官方下載 首先訪問: http://www.oracle.com/technetwork/java/javase/downloads/index.html 這個地址到官方網站下載頁面 2.安裝jdk1.7 雙擊下載好的安裝包點選接受

CentOS 7 下 PHP 7,MySQL 5.7 和 Nginx 1.8安裝與配置(實用)

下面將一步步在 CentOS 7 下 PHP 7,MySQL 5.7 和 Nginx 1.8 的安裝與配置。首先我的 CentOS 版本是7.0.1406 [[email protected] ~]# lsb_release -a LSB Version:  

Linux安裝Python3.7.1原始碼安裝

1、下載 Python-3.7.1.tgz:在終端輸入命令:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 。 2、解壓: tar -xzvf Python-3.7.1.tgz。

sysbench-1.0原始碼安裝

文章目錄 sysbench-1.0原始碼安裝 一、下載原始碼 二、原始碼編譯 sysbench-1.0原始碼安裝 一、下載原始碼 wget https://codeload.github.com/akopyt

hashMap 1.8 原始碼及原理淺析

這裡主要講原始碼流程,原理只做簡單介紹 hashMap原理淺析 hashMap 的結構是由陣列+連結串列構成,陣列為Node[] table,連結串列節點為Node。 map.put(key,value),根據(table.length - 1)

CentOS 6.8 原始碼安裝RabbitMQ

一、安裝依賴環境 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel 二、安裝erlang 1.下載所需原始碼,此

HashMap 1.8 原始碼分析

1.HashMap的底層資料結構---陣列+單向連結串列 2.一個完整的節點存數資料,在java中一切皆物件,所以在HashMap中應該存在一個類 public class Node{      int hash;     String key;     O

ubuntu16.04 + Anaconda3 + tensorflow-gpu1.8安裝總結

需要安裝 CUDA,cuDNN 那麼除了換源,還可以: 設定超時時間 pip --default-timeout=100 install -U Pillow 記得環境下,目前python3.7不能安裝tensorflow,最好降到3.6 官網要求1.8

tensorflow 1.8 測試gpu程式碼

 檢視日誌資訊若包含gpu資訊,就是使用了gpu。  下面的程式碼檢視日誌資訊,如果包含gpu資訊就是使用了gpu import tensorflow as tf sess = tf.Session(config=tf.ConfigProto(log_device_pla

OpenJDK 1.8安裝,build Android N

以ubuntu14.04LTS 64位為例: sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk sudo update-al

win8.1 64位+Anaconda3-5.0.1+cdua9.0+cuDNN v7.0.5+tensorflow 1.8.0 深度學習環境搭建小記

前言: 完全不會深度學習,只是知道有這麼一種數學程式設計技術,和人工智慧有關,很火,上一週在某公眾號灌水的時候, 獲贈送一本<Python 機器學習預測分析核心演算法>,僅此而已。前幾天突然心血來潮,學著安裝深度學習的環境,碰到幾個大坑,安裝和解除安裝An

Windows 下JAVA 1.8安裝以及環境變數的配置

    本文僅用於博主學習記錄,和碼民共享,如有錯誤請在評論中指出,謝謝: 廢話不多說。   1、下載java1.8    URL:    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl

tensorflow 1.8 無法呼叫GPU的問題

1) spyder情況下執行課程以上鍊接中的train.py,錯誤提示:InternalError (see above for traceback): CUB reduce errorinvalid device function。我之前用CPU版本的 tf 是可以執行

Squid3.1.7原始碼安裝和配置筆記

Squid是一個非常優秀的代理伺服器,最近在辦公室自己搭了一個來用,把筆記貼出來方便查詢。(只介紹步驟思路,不做詳細解釋) 1、到squid官方網站http://www.squid-cache.org/ 下載最新版 2、解壓   tar zxvf squid-3

Windows 10安裝JDK 1.8如何安裝及配置環境變數

本人的筆記本是Windows 10家庭版作業系統,在安裝好JDK 1.8版本之後(我的JDK1.8_102包版本,預設安裝在C盤),在此省略安裝說明JDK1.8版本。安裝完成後,在C盤的根目錄下:C:

ConcurrentHashMap 1.8原始碼解析

網上介紹ConcurrentHashMap的文章很多,我就只講我閱讀的部分筆記記錄一下。 public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>