当你们在用模型加载,tensorflow-gpu预测的时候,有没有出现这样的错误??

经过网上的资料查阅,更多的解释是GPU的显存不足造成的,于是乎,我查看了一下GPU显存:nvidia-smi

不看不知道,一看确实是那么回事:tensorflow-gpu执行默认将GPU显存占满,官网也做了解释说明:https://www.tensorflow.org/guide/using_gpu

刚开始没有看到官网的解释,思路是当程序执行完成之后,能不能自动的执行释放显存的程序,网上这方面的代码不多,后来又看到上面官网的解释,显存不能释放,可能会有更严重的内存碎片,因此程序释放显存的想法就打消了。

在仔细看官网的解释,可能比较好的方法是指定GPU所占的比例,于是乎,我又多次的尝试:一般来说,这些指定的过程都放在代码的开始处,因为我用的框架是python的Flask框架,所以我的想法也是将这个指定GPU显存的代码放在Flask开始处,不执行不知道,一执行整个人都不好了,报了这个错:

could not retrieve CUDA device count: CUDA_ERROR_NOT_INITIALIZED: initialization error

What??这是什么错!在百度,Google,StackOverflow,Github等等网站查找相关问题解释,大多数解释是multiprocessing等等的解释,说实话我确实不是很明白,但我总觉得这个问题没有复杂到这个地步,因为几行代码应该是放在: 使用tensorflow之前!

因为Flask接口用到这个tensorflow之前,我需要初始化一个类实例,在初始化类的时候也用到tensorflow,于是乎,我想把这几行代码放在初始化类实例的地方,心态崩了,还是不行!还是报:

could not retrieve CUDA device count: CUDA_ERROR_NOT_INITIALIZED: initialization error

相同的错误!这可怎么办,如果执行一次默认把显存占满,后面相同的操作就可能没办法执行了,所以必须分配GPU!

想了2天,今天上午,灵感来了,因为我是需要调用接口用到tensorflow,初始化类也是在这个接口里面,意思就是调用这个接口的时候,才会用到tensorflow,于是乎,我这个笨脑子也突然来了想法:直接在调用这个接口的时候,把这几行代码放进去,也就相当于初始化的时候执行了这几行代码,开始操作:

如图,将这几行代码放在这个位置,在本地尝试了一下没有什么问题,于是乎,在服务器代码执行了相同的操作,开启服务,跑,跑,跑,没有报错!

查看nvidia-smi:GPU显存占用率果然只占了40%!!!解决了我心头大患!!

写这篇随笔没有什么其他想法,只是记录一下自己的坑!记录一下自己的知识盲点,如果有朋友遇到这样的问题,可以作为参考,不足的地方望指正批评!

最新文章

  1. Trie树的创建、插入、查询的实现
  2. loadRunner 负载机连接错误分析
  3. bootstrap学习笔记之四(javascript插件)
  4. php加密解密0x数组
  5. allegro si(三)
  6. 遍历指定包名下所有的类(支持jar)(转)
  7. Java基础:Java变量、数据类型、运算符(2)
  8. vue(基础一)_基本指令的使用
  9. tcpdump使用方法总结
  10. AppStore企业账号打包发布APP流程详解
  11. 解决centos7下tomcat启动正常,无法访问项目的问题
  12. uva-639-枚举
  13. lxml etree xpath
  14. wow.js中各种特效对应的类名(滚动效果)
  15. MySQL Proxy 实现MySQLDB 读写分离
  16. swift - UIPickerView 的使用
  17. 【Android 7.1.1】 锁屏界面点击“空白处”响应事件
  18. 01:谁考了第k名 个人博客:doubleq.win
  19. 购买 In-app Billing 商品
  20. 关于485通信不稳定问题解决方案[STM32产品问题]

热门文章

  1. 吴裕雄--天生自然C语言开发:enum(枚举)
  2. springboot shiro ehcache redis 简单使用
  3. @Transactional回滚问题(try catch、嵌套)
  4. python学习笔记(16)hashlib.md5摘要算法(哈希算法)
  5. VisionPro和Halcon的详细对比
  6. 规范化开发和time相关模块
  7. Java 的 LinkedList 的底层数据结构
  8. vue-cli3初始化项目
  9. SVN 常用资源
  10. LeetCode Day 13