关于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 collections模块实例讲解
Apr 07 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
python实现整数的二进制循环移位
Mar 08 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
Python安装OpenCV的示例代码
Mar 05 Python
python制作抽奖程序代码详解
Jan 15 Python
Python使用openpyxl复制整张sheet
Mar 24 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初学者最感迷茫的问题小结
2010/03/27 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
基于php编程规范(详解)
2017/08/17 PHP
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
JS实现的简单表单验证功能示例
2017/10/13 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python将ansible配置转为json格式实例代码
2017/05/15 Python
解读python如何实现决策树算法
2018/10/11 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
linux安装python修改默认python版本方法
2019/03/31 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
降低python版本的操作方法
2020/09/11 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
教师校本培训方案
2014/02/26 职场文书
保护动物倡议书
2014/04/15 职场文书
钱学森电影观后感
2015/06/04 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
期中考试后的感想
2015/08/07 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android