keras-gpu的安装与配置

2019-06-15  本文已影响0人  Byte猫

gpu擅长处理计算密集型任务,可并行运作。在深度学习的训练过程中,包含了大量重复性的计算,利用 gpu 的特性可显著提高训练的效率。

一、更新显卡驱动程序

先升级显卡驱动确保后面不会因为显卡驱动版本低这个问题被卡住。

二、安装gpu版本的tensorflow和keras

1、安装CUDA、cuDNN、tensorflow-gpu

NVIDIA CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
NVIDIA cuDNN是用于深度神经网络的gpu加速库,可以集成到更高级别的机器学习框架中,如Tensorflow、caffe。

CUDA与cuDNN的关系
CUDA可以看作是一个工作台,但是这个工作台买来的时候,并没有送工具。那工具在哪呢?工具就是cuDNN,有了它才能在GPU上完成深度学习的计算。所以说,想要在CUDA上运行深度神经网络,就要安装cuDNN。

tensorflow-gpu是tensorflow的gpu版本,但是它必须通过 cuda 和 cudnn 来调用电脑的 gpu。
使用以下方法可以一次性安装CUDA、cuDNN、tensorflow-gpu

conda install tensorflow-gpu

2、安装keras-gpu

conda install keras-gpu

三、指定gpu设备

1、显示所有可用设备

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

2、指定一个不存在的gpu(切换回cpu)

在gpu可用的情况下默认使用的是gpu,通过为CUDA指定一个不存在的gpu可切换回cpu模式

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1" 

3、指定一个可用gpu

设置当前使用的GPU设备仅为0号设备 设备名称为'/gpu:0'

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

4、指定多个可用gpu

设置当前使用的GPU设备为1,0号两个设备,这里的顺序表示优先使用1号设备,然后使用0号设备

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1,0"

四、配置

tf.ConfigProto一般用在创建session的时候,用来对session进行参数配置,而tf.GPUOptions可以作为设置tf.ConfigProto时的一个参数选项,一般用于限制GPU资源的使用。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"  # 使用'/gpu:0'

import tensorflow as tf
import keras.backend.tensorflow_backend as KTF

# GPU资源配置
config = tf.ConfigProto(log_device_placement=False)
config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 每个GPU现存上届控制在50%以内
# session的参数配置
session = tf.Session(config=config)
# 应用session配置
KTF.set_session(session)
上一篇 下一篇

猜你喜欢

热点阅读