基于NVIDIA-Docker的Tensorflow-GPU環(huán)境搭建

本文部分內(nèi)容摘錄:http://www.cnblogs.com/xuxinkun/p/5983633.html


Docker安裝

Docker安裝過(guò)程需要使用root權(quán)限春寿, 主要有兩種安裝方式:

1、apt,yum方式安裝逝变,需要配置apt或yum的倉(cāng)庫(kù)

2、腳本安裝:curl安裝

阿里云加速器設(shè)置

針對(duì)1.10以上版本必逆,您可以通過(guò)修改daemon配置文件/etc/docker/daemon.json來(lái)使用加速器:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-‘EOF’

{

“registry-mirrors”: [“https://fird1mfg.mirror.aliyuncs.com“]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

其中[“https://fird1mfg.mirror.aliyuncs.com“]為阿里云申請(qǐng)的加速鏡像地址

NVIDIA-Docker安裝

Prerequisties:

? ? GNU/Linuxx86_64 with kernel version > 3.10

? ? Docker >= 1.9 (officialdocker-engine,docker-ceordocker-eeonly)

? ? NVIDIA GPU with Architecture > Fermi (2.1)

? ? NVIDIA drivers >= 340.29 with binarynvidia-modprobe(驅(qū)動(dòng)版本與CUDA計(jì)算能力相關(guān))

CUDA與NVIDIA driver安裝:

? ? 處理NVIDIA-Docker依賴項(xiàng)NVIDIA drivers >= 340.29 with binarynvidia-modprobe要求.

? ? 根據(jù)顯卡萍嬉,下載對(duì)應(yīng)版本的CUDA并進(jìn)行安裝.

NVIDIA-Docker安裝:

? ? #Install nvidia-docker and nvidia-docker-plugin

? ?#Test nvidia-smi

? ?先運(yùn)行插件 ?

? ?nohup nvidia-docker-plugin &

? ?再在容器里啟動(dòng)nvidia-smi

? ?nvidia-docker run –rm nvidia/cuda nvidia-smi

? ?備注:可能由于selinux原因,上述命令出現(xiàn)找不到路徑問題腰池,改成下面命令:

? ? nvidia-docker run -ti --rm --privileged=true nvidia/cuda nvidia-smi

? ? 或:

? ? ?docker run -ti `curl -s http://localhost:3476/v1.0/docker/cli` --rm --privileged=true nvidia/cuda nvidia-smi


Tensorflow鏡像使用

tensorflow gpu支持

tensorflow gpu in docker

docker可以通過(guò)提供gpu設(shè)備到容器中尾组。nvidia官方提供了nvidia-docker的一種方式,其用nvidia-docker的命令行代替了docker的命令行來(lái)使用GPU示弓。

nvidia-docker run -it -p8888:8888 gcr.io/tensorflow/tensorflow:latest-gpu

這種方式對(duì)于docker侵入較多讳侨,因此nvidia還提供了一種nvidia-docker-plugin的方式。其使用流程如下:

首先在宿主機(jī)啟動(dòng)nvidia-docker-plugin:

[root@A01-R06-I184-22nvidia-docker]# ./nvidia-docker-plugin

./nvidia-docker-plugin |2016/10/1000:01:12Loading NVIDIA unified memory

./nvidia-docker-plugin |2016/10/1000:01:12Loading NVIDIA management library

./nvidia-docker-plugin |2016/10/1000:01:17Discovering GPU devices

./nvidia-docker-plugin |2016/10/1000:01:18Provisioning volumes at/var/lib/nvidia-docker/volumes

./nvidia-docker-plugin |2016/10/1000:01:18Serving plugin API at/run/docker/plugins

./nvidia-docker-plugin |2016/10/1000:01:18Serving remote API at localhost:3476

可以看到nvidia-docker-plugin監(jiān)聽了3486端口奏属。然后在宿主機(jī)上運(yùn)行docker run -ti curl -s http://localhost:3476/v1.0/docker/cli-p 8890:8888 gcr.io/tensorflow/tensorflow:latest-gpu /bin/bash命令以創(chuàng)建tensorflow的GPU容器跨跨。并可以在容器中驗(yàn)證是否能正常import tensorflow。

[root@A01-R06-I184-22~]# docker run -ti `curl -s http://localhost:3476/v1.0/docker/cli` -p 8890:8888 gcr.io/tensorflow/tensorflow:latest-gpu?

/bin/bashroot@7087e1f99062:/notebooks# python

Python2.7.6(default, Jun222015,17:58:13) [GCC4.8.2] on linux2

Type"help","copyright","credits"or"license"formore information.>>> import tensorflow

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcudnn.so locally

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcuda.so.1locally

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcurand.so locally>>>

nvidia-docker-plugin工作原理

是其提供了一個(gè)API

curl -s http://localhost:3476/v1.0/docker/cli

--volume-driver=nvidia-docker --volume=nvidia_driver_352.39:/usr/local/nvidia:ro--device=/dev/nvidiactl--device=/dev/nvidia-uvm --device=/dev/nvidia0--device=/dev/nvidia1 --device=/dev/nvidia2 --device=/dev/nvidia3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末囱皿,一起剝皮案震驚了整個(gè)濱河市勇婴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘱腥,老刑警劉巖耕渴,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異齿兔,居然都是意外死亡橱脸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門分苇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)添诉,“玉大人,你說(shuō)我怎么就攤上這事医寿±父埃” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵靖秩,是天一觀的道長(zhǎng)艾帐。 經(jīng)常有香客問我,道長(zhǎng)盆偿,這世上最難降的妖魔是什么柒爸? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮事扭,結(jié)果婚禮上捎稚,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好今野,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布葡公。 她就那樣靜靜地躺著,像睡著了一般条霜。 火紅的嫁衣襯著肌膚如雪催什。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天宰睡,我揣著相機(jī)與錄音蒲凶,去河邊找鬼。 笑死拆内,一個(gè)胖子當(dāng)著我的面吹牛旋圆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播麸恍,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼灵巧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了抹沪?” 一聲冷哼從身側(cè)響起刻肄,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎融欧,沒想到半個(gè)月后敏弃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹬癌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虹茶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逝薪。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝴罪,靈堂內(nèi)的尸體忽然破棺而出董济,到底是詐尸還是另有隱情,我是刑警寧澤要门,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布虏肾,位于F島的核電站,受9級(jí)特大地震影響欢搜,放射性物質(zhì)發(fā)生泄漏封豪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一炒瘟、第九天 我趴在偏房一處隱蔽的房頂上張望吹埠。 院中可真熱鬧,春花似錦、人聲如沸缘琅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)刷袍。三九已至翩隧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呻纹,已是汗流浹背堆生。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留居暖,地道東北人顽频。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像太闺,于是被迫代替她去往敵國(guó)和親糯景。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容