关于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如何使用AIML搭建聊天机器人
Jan 27 Python
python中正则的使用指南
Dec 04 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Python subprocess库的使用详解
Oct 26 Python
使用python画社交网络图实例代码
Jul 10 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
利用Python脚本实现自动刷网课
Feb 03 Python
Python常用模块函数代码汇总解析
Aug 31 Python
Python字符串及文本模式方法详解
Sep 10 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
python生成器generator用法实例分析
2015/06/04 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python 多维List创建的问题小结
2019/01/18 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
历史系自荐信范文
2013/12/24 职场文书
《草原》教学反思
2014/02/15 职场文书
秋季运动会广播稿
2014/02/22 职场文书
内衣营销方案
2014/03/15 职场文书
保密工作承诺书
2014/08/29 职场文书
运动会广播稿100字
2014/09/14 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python