跳到主要內容

Install tensorflow-gpu in Ubuntu 18.04

Ubuntu version:
18.04 LTS
NVidia graphic card:
NVidia 1080
NVidia graphic driver:
410.93
CUDA:
9.0
Cudnn:
7.0.
Tensorflow-gpu:



how to check nvidia driver version:
1.  $ nvidia-smi


check cuda version:
    cat /usr/local/cuda/version.txt
    nvcc --version



Installing Tensorflow GPU on Ubuntu 18.04 LTS for deepfakehttps://medium.com/@taylordenouden/installing-tensorflow-gpu-on-ubuntu-18-04-89a142325138  *****
step1:nvidia driver
    https://www.geforce.com.tw/drivers
    sudo ./NVIDIA-Linux-x86_64-410.93.run

    出現 Would you like to run the nvidia-xconfig utility to automatically update your X configuration file
       so that the NVIDIA X driver will be used when you restart X? 
       Any pre-existing X configuration file will be backed up
       回答:Yes  (注意預設值是No)


OR:
(~) viper1 $ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001BE0sv00001025sd00001146bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP104M [GeForce GTX 1080 Mobile]
manual_install: True
driver   : nvidia-driver-410 - third-party free
driver   : nvidia-driver-390 - third-party free
driver   : nvidia-driver-396 - third-party free
driver   : nvidia-driver-415 - third-party free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

$ sudo ubuntu-drivers autoinstall 
or
$ sudo apt install nvidia-415 

step2:cuda V9.0
    sudo chmod +x cuda_9.0.176_384.81_linux.run
    ./cuda_9.0.176_384.81_linux.run --override
    choose no to “Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?”


step3:cudnn V7.1.4
    cudnn
    cuDNN v7.1.4 Library for Linux    <=====pls download this one, not ubuntu XXXX
    cudnn-9.0-linux-x64-v7.tgz
    # Unpack the archive
    tar -zxvf cudnn-9.0-linux-x64-v7.tgz

    # Move the unpacked contents to your CUDA directory
    sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
    sudo cp  cuda/include/cudnn.h /usr/local/cuda-9.0/include/

    # Give read access to all users
    sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

step4:Install libcupti
    sudo apt-get install libcupti-dev

step5:Do the CUDA post-install actions
    So Tensorflow can find your CUDA installation and use it properly, you need to add these lines to the end of you ~/.bashrc or ~/.zshrc.

    export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

step6:Install Tensorflow GPU
    pip install --upgrade tensorflow-gpu


check if tensorflow-gpu works:
    python3
    >>>import tensorflow as tf
    >>>sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

留言

這個網誌中的熱門文章

OCR應用在電子元件上的辨識

 OCR Application Example1: for SMD idenfication : Text detect by CRAFT   OCR文字偵測 原始照片為網路上下載,再套上OCR文字偵測顯示結果,若有侵權請告知移除 彩色區域為偵測到文字的部份 Output 10 coordinates of corresponding text blocks 1.  144,196,286,194,287,259,145,261 2.  298,198,509,196,509,259,298,262 3.  148,262,286,262,286,321,148,321 4.  368,266,513,264,513,321,369,323 5.  145,331,472,333,471,395,145,393 6.  146,404,445,404,445,454,146,454 7.  146,453,512,453,512,502,146,502 8.  147,502,481,499,481,551,148,553 9.  148,550,614,550,614,600,148,600 10.513,600,714,600,714,648,513,648  After image pre-processing:    OCR result1:   After image pre-processing:  OCR result2:     Example2: for datasheet interpretation : Text detect of TI datasheet by CRAFT OCR results: ([[75, 11], [127, 11], [127, 31], [75, 31]], 'TEXAS', 0.999188403930061) ([[474, 4], [928, 4], [928, 32], [474, 32]], 'PACKAGE MATERIALS INFORMATION', 0.6743955072876302) ([[77, 29],...

{}大括弧在PYTHON的2種用法

Ref: https://stackoverflow.com/questions/9197324/what-is-the-meaning-of-curly-braces {}大括弧在PYTHON的2種用法: "Curly Braces" are used in Python to define a dictionary. A dictionary is a data structure that maps one value to another - kind of like how an English dictionary maps a word to its definition. Python: 1. dict = { "a" : "Apple" , "b" : "Banana" , } 2. They are also used to format strings, instead of the old C style using %, like: ds = [ 'a' , 'b' , 'c' , 'd' ] x = [ 'has_{} 1' . format ( d ) for d in ds ] print x [ 'has_a 1' , 'has_b 1' , 'has_c 1' , 'has_d 1' ]

A3C in ATARI Pong-V0

ATARI PONG 對戰模式,左邊為遊戲程式,右邊為訓練中的A3C模型。一局以21分決勝負,對手MISS 一球得一分。從LOG可以看出,A3C模型從最初全敗的輸21分,經過2小時左右的TRAINING,已經逆轉至幾乎每局都勝利,偶爾甚至勝出高達13分。 底下為TRAINING A3C MODEL過程的LOG, (base) frank@viper1:~/a3c$ python main.py --env-name "Pong-v0" --num-processes 8 Time 00h 00m 10s, episode reward -21.0, episode length 1026 Time 00h 01m 18s, episode reward -21.0, episode length 1020 Time 00h 02m 26s, episode reward -21.0, episode length 1029 Time 00h 03m 35s, episode reward -21.0, episode length 1023 Time 00h 04m 42s, episode reward -21.0, episode length 1014 Time 00h 05m 50s, episode reward -21.0, episode length 1087 Time 00h 07m 00s, episode reward -21.0, episode length 1359 Time 00h 08m 14s, episode reward -16.0, episode length 1922 Time 00h 09m 30s, episode reward -14.0, episode length 2220 Time 00h 10m 48s, episode reward -15.0, episode length 2431 Time 00h 12m 04s, episode reward -15.0, episode length 2211 Time 00h 13m 23s, episode reward -8.0, episode length 2600 Time 00h 14m 38s, episod...