20210128 -

引言

之前搜索过设置GPU和显存大小的方式,但是升级了新的版本的keras以及tensorflow,导致之前的代码失效了,这里记录一下。

本质上,就是版本更换的原因,很多api可能被取消,或者改了别的。

原始代码

import os
import tensorflow as tf
from keras.backend.tensorflow_backend import set_sessiondef set_up_gpu_environment(gpu_devices_num = 2, memory_fraction = 1.0):available_gpu_num = ['0','1','2']if str(gpu_devices_num) not in available_gpu_num:print("The gpu deveices is not right")#设置GPU环境变量os.environ[ 'CUDA_VISIBLE_DEVICES'] = str(gpu_devices_num)#调整显存占用比例config = tf.ConfigProto()config.gpu_options.per_process_gpu_memory_fraction = memory_fractionset_session(tf.Session(config=config))

这部分代码我已经不知道是什么版本的tensorflow和keras了,上述代码主要由两部分,一部分通过设置环境变量来选择显卡,其中我使用的机器上有3个显卡,使用的时候,如果是全部,那么keras会占用所有的显卡,虽然在其他两块不工作的显卡上占用的显存不多,但还是通过环境变量来控制一下;另一部分工作是调整显存大小。

新版代码

新版的GPU环境按照之前的文章《Centos8安装英伟达显卡驱动并通过docker部署深度学习环境》,版本信息如下:

Keras 2.4.3
tensorflow-gpu 2.3.1

使用上述代码的时候会各种报错,例如第一条

ModuleNotFoundError: No module named 'keras.backend.tensorflow_backend'; 'keras.backend' is not a package

这条命令通过查询[1],修改如下:

from tensorflow.python.keras.backend import set_session

但是这里通过之后,由于tensorflow的问题也会出错,之前的时候这部分问题也遇到过,所以就比较轻松的解决了,这次参考了文章[2],那么整体上修改之后的代码如下:

import os
import tensorflow as tf
from tensorflow.python.keras.backend import set_sessiondef set_up_gpu_environment(gpu_devices_num = 2, memory_fraction = 1.0):available_gpu_num = ['0','1','2']if str(gpu_devices_num) not in available_gpu_num:print("The gpu deveices is not right")#设置GPU环境变量os.environ[ 'CUDA_VISIBLE_DEVICES'] = str(gpu_devices_num)#调整显存占用比例config = tf.compat.v1.ConfigProto()config.gpu_options.per_process_gpu_memory_fraction = memory_fractionset_session(tf.compat.v1.Session(config=config))

参考

[1]Import error: keras.backend.tensorflow_backend #197
[2]AttributeError: module ‘tensorflow’ has no attribute ‘ConfigProto’

设置GPU及显存大小相关推荐

  1. tensorflow 显存 训练_tensorflow手动指定GPU以及显存大小

    以前我们组就一块显卡,不存在指定设备的问题.近期刚插了一块新的gtx 1080ti,几人公用两块卡来做训练.测试.预测等等,网上找了个方式可以指定使用的设备,并且限定使用的显存大小,还是很有用的,亲测 ...

  2. pytorch如何计算显存大小

    参考连接 pytorch 减小显存消耗,优化显存使用避免 outofmemory https://blog.csdn.net/qq_28660035/article/details/80688427 ...

  3. 深度学习中GPU和显存分析

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自:机器学习AI算法工程 深度学习最吃机器,耗资源,在本文,我将 ...

  4. 科普帖:深度学习中GPU和显存分析

    深度学习最吃机器,耗资源,在本文,我将来科普一下在深度学习中: 何为"资源" 不同操作都耗费什么资源 如何充分的利用有限的资源 如何合理选择显卡 并纠正几个误区: 显存和GPU等价 ...

  5. win8 查看 linux硬盘大小,如何查看显存大小_win8如何查看显存大小

    2017-01-04 13:57:08 你好哦.同时按下电脑键盘的win键(窗口键)和R键,跳出运行窗口,在运行窗口输入dxdiag,然后点击确定,在弹出的窗口点击上方的显示选项卡!注意调出这个对话窗 ...

  6. 怎么看计算机内存和独显,电脑独立显卡或集成显卡的显存大小怎么查看?

    我们有时候想要查看自己电脑显卡的显存大小,当然现在的显卡通常有两种,独立显卡和集成显卡,集成显卡是集成到电脑主板上的,怎么查看电脑显卡显存的大小呢?我们可以用很多方法来进行查看,当然通常的集成显卡本身 ...

  7. 深度学习中GPU和显存

    GPU状态的监控 nvidia-smi: 是Nvidia显卡命令行管理套件,基于NVML库,旨在管理和监控Nvidia GPU设备.nvidia-smi命令的输出中最重要的两个指标:显存占用和GPU利 ...

  8. GPU显存 - 深度学习中 GPU 和显存分析

    深度学习中 GPU 和显存分析 原文作者陈云. 本文原载于知乎专栏--人工智障的深度瞎学之路 深度学习最吃机器,耗资源,在本文,我将来科普一下在深度学习中: 何为"资源" 不同操作 ...

  9. 黑苹果手动修改intel hd3000核显显存大小.2022-11-29

    intel hd3000核显显存大小是由 AppleIntelSNBGraphicsFB.kext 进行分配的,在系统已经正确匹配驱动文件的情况下,可以通过修改AppleIntelSNBGraphic ...

最新文章

  1. 1024程序员节,你是我们要找的那条锦鲤吗?
  2. js按钮触发网页提醒_jquery,js页面加载时自动点击触发jq按钮-Go语言中文社区
  3. 第十一周学习总结--助教
  4. Pytorch模型迁移和迁移学习,导入部分模型参数
  5. 4.IDA-导航(跳转到地址、导航按钮、栈帧、调用约定、局部变量布局、IDA的栈视图)
  6. 1047 行 MySQL 详细学习笔记(值得学习与收藏)
  7. 最新光子计算处理器面世:单个光子芯片集成超万个光子器件,频率达1GHz
  8. scala的stream流
  9. 网页中竖的目录怎么改成横的_一点基础也没有,想快速练漂亮硬笔字,先练什么?怎么练进步明显?...
  10. 项目计划与控制-若干题目
  11. 史上最简单安装摄像头的方法
  12. Android模拟器环境下SD卡内容的管理
  13. 利用SQL Server 2008 R2创建自动备份计划
  14. bgp属性分析--ORIGIN
  15. 安防CVR存储系统设计解决方案
  16. 好用的自媒体爆文素材采集技巧,提高爆文创作几率
  17. 【springmvc】SpringMVC启动流程及源码分析
  18. 【华人学者风采】忻获麟 加州大学欧文分校
  19. vux以插件方式调用
  20. # [cs231n (五)神经网络part 1 构建架构 ][1]

热门文章

  1. 云队友丨40岁之前,希望你懂得这5条定律
  2. 数据结构之单源最短路径(迪杰斯特拉算法)-(九)
  3. 送你一份迷你书,全面了解如何做好大促技术备战
  4. 【labview】限幅子vi +源程序
  5. linux系统运行flash3d,在Linux上运行STM32,快来试试!
  6. json.dumps、json.loads()、json.dump()、json.load()学习笔记
  7. 由DBeaver与PL/SQL引发的数据库吐槽
  8. Java中IO(三、转换流与打印流)
  9. 安全无污染的激活win7(官方)
  10. 最优传输论文(一)Sliced Wasserstein Discrepancy for Unsupervised Domain Adaptation