关于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的迭代器与生成器实例详解
Jul 16 Python
Python中内建函数的简单用法说明
May 05 Python
Python中enumerate()函数编写更Pythonic的循环
Mar 06 Python
我喜欢你 抖音表白程序python版
Apr 07 Python
微信小程序python用户认证的实现
Jul 29 Python
Pyqt5自适应布局实例
Dec 13 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
python 实现Harris角点检测算法
Dec 11 Python
python 自动识别并连接串口的实现
Jan 19 Python
python利用文件时间批量重命名照片和视频
Feb 09 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 01 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 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
Views rows style模板重写代码
2011/05/16 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
详解React 元素渲染
2020/07/07 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
卫生安全检查制度
2014/02/04 职场文书
爱我中华教学反思
2014/04/28 职场文书
门面房租房协议书
2014/12/01 职场文书
爱心募捐感谢信
2015/01/22 职场文书
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏