配置GPU版本的tensorflow

配置GPU加速的tensorflow

说明1:Tensorflow本身的安装是很容易的,但是深度学习训练的实际数据都是非常大的,GPU速度是CPU的几十倍,仅使用CPU版本的tensorflow训练模型难以达到效果,这就需要利用GPU多核的优势来加速计算。

说明2:使用GPU加速的前提条件是当前系统可以使用显卡,并且显卡支持CUDA并行计算,虚拟机下不支持使用独立显卡,所以虚拟机下不能安装GPU版本的tensorflow。双系统支持独立显卡。

前提条件:

1.操作系统:centos

7或ubuntu16.4

2.硬件条件:Nvidia显卡(查询当前系统是否支持独立显卡,显卡是否支持CUDA)

准备工作:(ubuntu系统省略这一步)

yum更新下,安装Development

Tools软件包

1.sudo

yum update

2.sudo

yum group install ‘Development Tools’

安装Nvidia驱动

说明:下面的方法只适合centos系统,若是ubuntu,一般自带独立显卡驱动,可输入nvidia-smi查看,否则需要另外安装。安装完以后输入nvidia-smi,若查看到信息说明已经安装好驱动。

Nvidia官网上有显卡驱动的软件包下载,但安装前需要繁琐的配置,这里我们选择更简单的方式,通过软件源安装:

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版本的,然后就可以进行安装:

sudo shcuda_8.0.44_linux.run

这里会询问是否要安装驱动,因为前面我们已经安装好了驱动,所以这里别选

记住CUDA的根目录是在/usr/local/cuda-8.0和/usr/local/cuda,后者是前者的一个链接

安装完后,配置环境变量,在~/.bash_profile中添加:(如果找不到./.bash_profile文件,请需要在每一次启动tensorflow时配置环境变量,参考快速启动部分)

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官网下载,我下的版本是v5.1下载完后解压并复制到相应的文件夹。

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计算环境

激活环境,使用conda安装TensorFlow

安装成功后,每次使用TensorFlow的时候需要激活conda环境

建立conda环境-tensorflow

#python2.7

$ conda create -n tensorflow-gpu python=2.7

# Python 3.5

$ conda create -n tensorflow python=3.5

激活conda环境-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


设置快速启动

编辑可执行文件_GPU_TF_(先创建文件,然后sudo chmod 777 filename),输入以下内容(若发现文本文件无法切换到insert模式,进入root权限,修改/etc/vim/vimrc.tiny文件,将set compatible设置成set nocompatible .保存退出即可。这是因为有时候系统会默认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,并且到达tensorflow指定目录。

使用TF-SLIM

tf-slim是基于tensoflow开发的轻量级库,提供了原始的许多模型和写好的网络,以及一些处理脚本,可直接使用或者根据需要修改。

下载tf-slim库,直接解压,然后将里面的内容拷贝到./anaconda2/envs/tensorflow-gpu/lib/python2.7/site-packages/tensorflow/models/下面即可,拷贝之后里面有一个slim文件夹,就是我们需要的内容。

测试tensorflow

启动tensorflow,在slim目录下面输入命令:

sh ./scripts/finetune_inception_v1_on_flowers.sh

先后出现一下两部分内容即表示使用了GPU加速(图1),并且开始训练(图2)。

按安装CPU版本:

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

建立一个conda计算环境

激活环境,使用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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容