配置GPU版本的tensorflow

配置GPU加速的tensorflow

說明1:Tensorflow本身的安裝是很容易的,但是深度學(xué)習(xí)訓(xùn)練的實際數(shù)據(jù)都是非常大的,GPU速度是CPU的幾十倍,僅使用CPU版本的tensorflow訓(xùn)練模型難以達(dá)到效果,這就需要利用GPU多核的優(yōu)勢來加速計算。

說明2:使用GPU加速的前提條件是當(dāng)前系統(tǒng)可以使用顯卡,并且顯卡支持CUDA并行計算,虛擬機(jī)下不支持使用獨(dú)立顯卡,所以虛擬機(jī)下不能安裝GPU版本的tensorflow。雙系統(tǒng)支持獨(dú)立顯卡。

前提條件:

1.操作系統(tǒng):centos

7或ubuntu16.4

2.硬件條件:Nvidia顯卡(查詢當(dāng)前系統(tǒng)是否支持獨(dú)立顯卡,顯卡是否支持CUDA)

準(zhǔn)備工作:(ubuntu系統(tǒng)省略這一步)

yum更新下,安裝Development

Tools軟件包

1.sudo

yum update

2.sudo

yum group install ‘Development Tools’

安裝Nvidia驅(qū)動

說明:下面的方法只適合centos系統(tǒng),若是ubuntu,一般自帶獨(dú)立顯卡驅(qū)動,可輸入nvidia-smi查看,否則需要另外安裝。安裝完以后輸入nvidia-smi,若查看到信息說明已經(jīng)安裝好驅(qū)動。

Nvidia官網(wǎng)上有顯卡驅(qū)動的軟件包下載,但安裝前需要繁瑣的配置,這里我們選擇更簡單的方式,通過軟件源安裝:

12345678910

#安裝elrepo源

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgsudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

#探測要安裝的包

sudo yum install nvidia-detectnvidia-detect

#安裝sudo yum install kmod-nvidia

#最后重啟,然后檢查是否安裝成功

ls -la /dev | grep nvidia(或nvidia-smi能查看到顯卡信息)

安裝CUDA(注意tensorflow0.10以上版本需要8.0CUDA)

先去Nvidia上下載CUDA包,我下載的是8.0版本的,然后就可以進(jìn)行安裝:

sudo shcuda_8.0.44_linux.run

這里會詢問是否要安裝驅(qū)動,因為前面我們已經(jīng)安裝好了驅(qū)動,所以這里別選

記住CUDA的根目錄是在/usr/local/cuda-8.0和/usr/local/cuda,后者是前者的一個鏈接

安裝完后,配置環(huán)境變量,在~/.bash_profile中添加:(如果找不到./.bash_profile文件,請需要在每一次啟動tensorflow時配置環(huán)境變量,參考快速啟動部分)

export? LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"

exportCUDA_HOME=/usr/local/cuda

# PATH變量添加/usr/local/cuda/bin


安裝cudnn

Tensorflow還需要cudnn插件,這個可以從Nvidia官網(wǎng)下載,我下的版本是v5.1,下載完后解壓并復(fù)制到相應(yīng)的文件夾。

tar xvzfcudnn-8.0-linux-x64-v5.1.tgz

sudo cp cuda/include/cudnn.h? /usr/local/cuda/includesudo

cp cuda/lib64/libcudnn*? /usr/local/cuda/lib64

sudo chmod a+r? /usr/local/cuda/lib64/libcudnn*


安裝tensorflow(基于Anaconda的安裝)

安裝Anaconda($bash

Anaconda2-4.3.0-Linux-x86_64.sh(最后寫YES$source? ./bashrc)

建立一個conda計算環(huán)境

激活環(huán)境,使用conda安裝TensorFlow

安裝成功后,每次使用TensorFlow的時候需要激活conda環(huán)境

建立conda環(huán)境-tensorflow

#python2.7

$ conda create -n tensorflow-gpu python=2.7

# Python 3.5

$ conda create -n tensorflow python=3.5

激活conda環(huán)境-tensorflow

$ source activate tensorflow

安裝GPU版本Tensorflow(# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7. Requires CUDA toolkit 8.0 and CuDNN v5.)

(tensorflow)$? sudo pip install --ignore-installed --upgradehttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 3.5. Requires CUDA toolkit 8.0 and CuDNN v5.

(tensorflow)$? sudopip3install --ignore-installed --upgradehttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp35-cp35m-linux_x86_64.whl


設(shè)置快速啟動

編輯可執(zhí)行文件_GPU_TF_(先創(chuàng)建文件,然后sudo chmod 777 filename),輸入以下內(nèi)容(若發(fā)現(xiàn)文本文件無法切換到insert模式,進(jìn)入root權(quán)限,修改/etc/vim/vimrc.tiny文件,將set compatible設(shè)置成set nocompatible .保存退出即可。這是因為有時候系統(tǒng)會默認(rèn)vim兼容vi,所以使用vi的命令)

#!/bin/bash

#echo'cuda &cudnn'

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"

export CUDA_HOME=/usr/local/cuda

export PATH=$PATH:/usr/local/cuda/bin

echo 'Tesorflow GPU workspace ~'

SLIM_HOME=./anaconda2/envs/tensorflow-gpu/lib/python2.7/site-packages/tensorflow

cd $SLIM_HOME &&source activate tensorflow-gpu &&pwd

保存退出。

下次啟動時,直接sourceGPU_TF_即可啟動tensorflow,并且到達(dá)tensorflow指定目錄。

使用TF-SLIM

tf-slim是基于tensoflow開發(fā)的輕量級庫,提供了原始的許多模型和寫好的網(wǎng)絡(luò),以及一些處理腳本,可直接使用或者根據(jù)需要修改。

下載tf-slim庫,直接解壓,然后將里面的內(nèi)容拷貝到./anaconda2/envs/tensorflow-gpu/lib/python2.7/site-packages/tensorflow/models/下面即可,拷貝之后里面有一個slim文件夾,就是我們需要的內(nèi)容。

測試tensorflow

啟動tensorflow,在slim目錄下面輸入命令:

sh ./scripts/finetune_inception_v1_on_flowers.sh

先后出現(xiàn)一下兩部分內(nèi)容即表示使用了GPU加速(圖1),并且開始訓(xùn)練(圖2)。

按安裝CPU版本:

安裝Anaconda( bash Anaconda2-4.3.0-Linux-x86_64.sh一路yes)

建立一個conda計算環(huán)境

激活環(huán)境,使用conda安裝TensorFlow

使用下面的鏈接安裝0.11版本的tensorflow:

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

sudo pip install—ignore-installed--upgrade $TF_BINARY_URL

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容