关于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解释器理解Python中的字节码
Apr 01 Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
一看就懂得Python的math模块
Oct 21 Python
python基于SMTP协议发送邮件
May 31 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
Python使用for生成列表实现过程解析
Sep 22 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
Python descriptor(描述符)的实现
Nov 15 Python
Django模型层实现多表关系创建和多表操作
Jul 21 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 cookis创建实现代码
2009/03/16 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
php实现将Session写入数据库
2015/07/26 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python创建数字列表的示例
2019/11/28 Python
Python PIL库图片灰化处理
2020/04/07 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
环保建议书600字
2014/05/14 职场文书
微笑服务标语
2014/06/24 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python