关于Theano和Tensorflow多GPU使用问题


Posted in Python onJune 19, 2020

我使用的是tensorflow-gpu (1.2.1)和Theano (0.9.0),2个4G显存Nvidia Quadro M2000 GPU。

1. theano: ValueError: Could not infer context from inputs

THEANO_FLAGS="contexts=dev0->cuda0;dev1->cuda1,gpuarray.preallocate=0.95,mode=FAST_RUN,floatX=float32,on_unused_input=warn" python config.py

ERROR (theano.gof.opt): SeqOptimizer apply <theano.gpuarray.opt.GraphToGPU object at 0xdfe69210>
ERROR: SeqOptimizer apply <theano.gpuarray.opt.GraphToGPU object at 0xdfe69210>
ERROR (theano.gof.opt): Traceback:
ERROR: Traceback:
ERROR (theano.gof.opt): Traceback (most recent call last):
 File "/usr/lib/python2.7/site-packages/theano/gof/opt.py", line 235, in apply
  sub_prof = optimizer.optimize(fgraph)
 File "/usr/lib/python2.7/site-packages/theano/gof/opt.py", line 87, in optimize
  ret = self.apply(fgraph, *args, **kwargs)
 File "/usr/lib/python2.7/site-packages/theano/gpuarray/opt.py", line 322, in apply
  target = infer_context_name(*fgraph.inputs)
 File "/usr/lib/python2.7/site-packages/theano/gpuarray/basic_ops.py", line 122, in infer_context_name
  raise ValueError("Could not infer context from inputs")
ValueError: Could not infer context from inputs

theano不能自动支持多GPU,需要自己指定一个,只能在一个上面跑, 需要指定一个设备device=cuda0。

支持多GPU, 需要自己编程,参考http://deeplearning.net/software/theano/tutorial/using_multi_gpu.html#

2. tensorflow: ResourceExhaustedError: OOM when allocating tensor with

theano: MemoryError: Error allocating 1440000000 bytes of device memory (out of memory).

说明GPU内存不够,要调小输入或网络单元。

3. theano切换成新的GPU backend

WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10)

theano 0.9.0从cuda backend切换gpuarray backend,需要安装python2-Cython-0.25+和libgpuarray-0.6.3+, 然后通过gpuarray.preallocate来指定。

补充知识:pytorch网络输入图片通道在前在后(channel_first和channel_last)的问题

刚开始学习pytorch卷积神经网络的时候,网络输入要求是(batch,3,32,32),我们如果想要测试自己电脑上的图片格式为(32,32,3)。即网络要求channel_first,本地图片是channel_last,此时我们只需要使用numpy中的np.transpose()函数调整下通道的顺序即可。

代码如下:

import numpy as np
import cv2
path = r"C:\Users\X_man\Desktop\image\cat.jpg"
image = cv2.imread(path,0)
image = cv2.resize(image,(32,32))
image = cv2.cvtColor(image,cv2.COLOR_GRAY2BGR)
print(image.shape)

(32,32,3)

image = np.transpose(image,(2,0,1))
print(image.shape)

(3,32,32)

以上这篇关于Theano和Tensorflow多GPU使用问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
Linux环境下MySQL-python安装过程分享
Feb 02 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python基础之函数的定义与使用示例
Mar 23 Python
Python Django框架模板渲染功能示例
Nov 08 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
python对指定字符串逆序的6种方法(小结)
Apr 02 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
一起来学习Python的元组和列表
Mar 13 Python
Python如何让字典保持有序排列
Apr 29 Python
如何对python的字典进行排序
Jun 19 #Python
浅谈Python中的继承
Jun 19 #Python
python程序需要编译吗
Jun 19 #Python
python中round函数如何使用
Jun 19 #Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 #Python
Keras 切换后端方式(Theano和TensorFlow)
Jun 19 #Python
python中怎么表示空值
Jun 19 #Python
You might like
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
JS解密入门 最终变量劫持
2008/06/25 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
python如何实现DES加密
2020/09/21 Python
python 进程池pool使用详解
2020/10/15 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
优秀党员获奖感言
2014/02/18 职场文书
继承公证书样本
2014/04/04 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL