博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Keras和TensorFlow设置GPU及其使用率
阅读量:4155 次
发布时间:2019-05-25

本文共 2277 字,大约阅读时间需要 7 分钟。

目录

Keras和TensorFlow设置GPU及其使用率

本文讲一下深度学习框架Keras和Tensorflow如何指定GPU训练,及如何设置训练任务占用的GPU内存。

本文分两部分讲,先讲TensorFlow,再讲Keras。

1、TensorFlow1.X

1.1指定GPU

直接在代码中用以下语句指定并不能实现我们的目的:

tf.device('/gpu:1')

需要在python代码中通过CUDA_VISIBLE_DEVICES来指定:

import osos.environ['CUDA_VISIBLE_DEVICES']='1'

通过以上代码,只使得编号为1的GPU对当前python程序是可见的。

如果要指定多块GPU,则将相应GPU编号用逗号隔开即可:

os.environ['CUDA_VISIBLE_DEVICES']='2,3'

也可以在终端中,来指定想使用的GPU,将指定GPU的代码放在python程序的前面:

CUDA_VISIBLE_DEVICES=1 python test.py

1.2 指定GPU使用量

config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 session = tf.Session(config=config)

设置GPU使用量最小。

config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config)

2、TensorFlow2.X

2.1指定GPU

与TF1.X方法基本一样

2.2 指定GPU使用量

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')for gpu in gpus:    tf.config.experimental.per_process_gpu_memory_fraction = 0.9

设置GPU使用量最小。

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')for gpu in gpus:    tf.config.experimental.set_memory_growth(gpu, True)

3、Keras

3.1 指定GPU

方法与TensorFlow相同。

3.2 指定GPU使用量(TF1.X)

指定占GPU内存比例:

import tensorflow as tffrom keras.backend.tensorflow_backend import set_sessionconfig = tf.ConfigProto()config.gpu_options.allocator_type = 'BFC' #A "Best-fit with coalescing" algorithm, simplified from a version of dlmalloc.config.gpu_options.per_process_gpu_memory_fraction = 0.3set_session(tf.Session(config=config))

根据实际使用情况分配最小内存:

import tensorflow as tffrom keras.backend.tensorflow_backend import set_sessionconfig = tf.ConfigProto()config.gpu_options.allocator_type = 'BFC' #A "Best-fit with coalescing" algorithm, simplified from a version of dlmalloc.config.gpu_options.allow_growth = Trueset_session(tf.Session(config=config))

3.3 指定GPU使用量(TF2.X)

指定占GPU内存比例:

import tensorflow as tffrom keras.backend.tensorflow_backend import set_sessiongpus = tf.config.experimental.list_physical_devices(device_type='GPU')for gpu in gpus:    tf.config.experimental.per_process_gpu_memory_fraction = 0.9

根据实际使用情况分配最小内存:

import tensorflow as tffrom keras.backend.tensorflow_backend import set_sessiongpus = tf.config.experimental.list_physical_devices(device_type='GPU')for gpu in gpus:    tf.config.experimental.set_memory_growth(gpu, True)

转载地址:http://zvrti.baihongyu.com/

你可能感兴趣的文章
HTML5学习之——HTML 5 音频
查看>>
HTML5学习之——HTML 5 拖放
查看>>
HTML5学习之——HTML 5 Canvas vs. SVG
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 Web Workers
查看>>
HTML5学习之——HTML 5 Canvas
查看>>
HTML5学习之——HTML5 内联 SVG
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG 矩形<rect>
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>