关于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脚本内运行linux命令的方法
Jul 02 Python
常用python编程模板汇总
Feb 12 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
Nov 14 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 Python
python实现吃苹果小游戏
Mar 21 Python
Django实现图片上传功能步骤解析
Apr 22 Python
python文件编写好后如何实践
Jul 07 Python
python中如何设置代码自动提示
Jul 15 Python
学python爬虫能做什么
Jul 29 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
python实现Nao机器人的单目测距
Sep 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
使用Apache的rewrite技术
2006/06/22 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
asm.js使用示例代码
2013/11/28 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
西班牙在线光学:Visual-Click
2020/06/22 全球购物
销售实习自我鉴定
2013/12/07 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
经费申请报告范文
2015/05/18 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
使用python绘制横竖条形图
2022/04/21 Python
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS