关于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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
简单介绍Python的Django框架加载模版的方式
Jul 20 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
PyQt5每天必学之组合框
Apr 20 Python
python+mysql实现学生信息查询系统
Feb 21 Python
python 字符串常用方法汇总详解
Sep 16 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
Django Model中字段(field)的各种选项说明
May 19 Python
快速一键生成Python爬虫请求头
Mar 04 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 面向对象 PHP5 中的常量
2010/05/05 PHP
openPNE常用方法分享
2011/11/29 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
layui导航栏实现代码
2017/05/19 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python抓取网页图片并放到指定文件夹
2014/04/24 Python
wxpython学习笔记(推荐查看)
2014/06/09 Python
Django之模板层的实现代码
2019/09/09 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
python绘制高斯曲线
2021/02/19 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
小学教师岗位职责
2013/11/25 职场文书
安全环保演讲稿
2014/08/28 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
文艺晚会开场白
2015/05/29 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js