利用GPU训练的配置方法(Keras)

  • GPU的使用配置
  • 配置GPU内存的占用率

本文主要针对Keras(Tensorflow2.0版本以后)深度学习框架如何对GPU进行配置,以及如何设置训练任务对GPU的占有率。

GPU的使用配置

首先,为了明确使用的GPU型号,ubuntu系统下可以利用终端指令查看系统GPU的使用、型号情况。

sudo nvidia-smi

输出的结果如下:


也可以在代码中通过tensorflow_backend获取到可用的GPU信息。

from keras import backend as K
print(K.tensorflow_backend._get_available_gpus())

输出结果如下:

接下来,在代码中通过CUDA_VISIBLE_DEVICES来选定GPU:

import tensorflow as tf
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

将编号选择成对应的GPU编号即可选定该GPU训练模型。

若要选定多块GPU,将相应的GPU编号用逗号隔开,即可。

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

配置GPU内存的占用率

在上述已经选定完成GPU的使用配置后,可以选择训练模型时对GPU内存的占有率,防止为了训练模型而影响服务器的其他任务正常使用。

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:tf.config.experimental.per_process_gpu_memory_fraction = 0.7   #可调整GPU内存的占有率

通过上述两个配置,即可实现在GPU训练环境已配置(cuda、cudnn等)的情况下,实现GPU训练Keras2.x的深度学习模型。

本文仅作为学习笔记交流分享用。由于本人水平有限,文章可能出现纰漏,欢迎大家进行交流指正。谢谢阅读!

利用GPU训练的配置方法(Keras)相关推荐

  1. 利用GPU训练网络模型

    文章 方式一 方式二 本文章中使用的网络模型架构图: GPU训练有两种方式: 方式一 使用gpu训练只要找到:网络模型.数据(输入和标注).损失函数再调用.cuda()即可. CPU训练代码: imp ...

  2. 【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①

    import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...

  3. 【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②

    import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...

  4. windows10下 tensorflow gpu版本安装配置方法

    最近要用到tensorflow,之前安装了cpu版本的,但训练模型速度实在是慢,打算安装一个GPU版本的tensorflow: 安装环境为:wiindows 10, anaconda python36 ...

  5. 利用GPU训练网络时遇到的一些问题

    1. OSError: [Error 12] Cannot allocate memory 解决办法: 出现这个错误时我是绝望的...因为我看了别人的解决办法,要加内存条才能解决...但是我不甘心,想 ...

  6. TensorFlow2.4可以在MacBook Pro/Mac Pro上利用GPU做机器学习训练了

    田海立@CSDN 2020-11-21 之前MacBook上TensorFlow只能利用CPU做训练,TF2.4开始可以利用GPU做训练了,并且不管是M1的MacBook Pro,还是Intel架构的 ...

  7. CPU和GPU训练耗时比较

    网络训练耗时 为什么要用GPU训练网络 CPU 训练是在载入图片并进行处理后再开始训练网络,而利用GPU 训练是在CPU 载入图片处理后利用GPU 进行网络训练,GPU 训练速度更快且后面的图片加载不 ...

  8. 深度学习入门(三十八)计算性能——多GPU训练

    深度学习入门(三十八)计算性能--多GPU训练 前言 计算性能--多GPU训练 课件 多GPU并行 数据并行VS模型并行 数据并行 总结 教材 1 问题拆分 2 数据并行性 3 简单网络 4 数据同步 ...

  9. 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练

    文 / Zalando Research 研究科学家 Kashif Rasul 来源 | TensorFlow 公众号 与大多数 AI 研究部门一样,Zalando Research 也意识到了对创意 ...

最新文章

  1. docker 连接容器
  2. java telephony jar,android – 修改framework.jar中的java代码
  3. win7+centos7.2双系统安装
  4. 4、ShardingSphere 之 Sharding-JDBC 实现垂直分库
  5. boost::hana::count_if用法的测试程序
  6. 为什么有些美国人名字仅仅只是两个英文字母(并不是缩写)?
  7. 利用JTDS连接数据库并操作示例
  8. Spark源码剖析(一):如何将spark源码导入到IDEA中
  9. 全球开源正当时,第 19 届中日韩三国 IT 局长 OSS 会议暨东北亚开源软件推进论坛圆满落幕
  10. 51nod 1022 石子归并 V2(四边形不等式)
  11. 树莓派——实时时钟模块(RTC)
  12. subli快速度创建html,Shortcut to comment out a block of code with subli
  13. python表白程序exe_表白小姐姐的Python程序
  14. 1 0.99999的悖论_物理学四大神兽:你能追上乌龟吗?无穷大到底是多大?(1)...
  15. springboot+elasticsearch 中测试查询语句报错failed to map source
  16. FLUENT进行组分反应模拟
  17. STM8S103调试PWM的踩坑过程
  18. 深度学习在语音分离的应用
  19. springboot手写JDBC面对2000并发量毫无压力
  20. RMAN-20005: target database name is ambiguous

热门文章

  1. 到底是 Activity 被回收了还是进程被杀死了?
  2. 学习转载:PID和PPID
  3. 云米科技财报预测:财务业绩有望恢复,销售额和市场份额将下降
  4. 在义乌想月入过万,不是没有办法
  5. Web自动化测试的理解
  6. 有人把微信 跳一跳 玩到10000分,高分秘籍是
  7. fofa网络资产检索
  8. 验证服务器端口telnet,telnet命令测试服务器端口是否通的办法
  9. folly SpinLock源码分析
  10. 一个三十岁男人的婚姻思考-很感人的故事 (转载)