关于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中的With语句
Feb 02 Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
对pandas中to_dict的用法详解
Jun 05 Python
python 把列表转化为字符串的方法
Oct 23 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
Python如何对XML 解析
Jun 28 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 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
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
php实现三级级联下拉框
2016/04/17 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
javascript常用对话框小集
2013/09/13 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
Python的动态重新封装的教程
2015/04/11 Python
Python中List.index()方法的使用教程
2015/05/20 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
详解python中的Turtle函数库
2018/11/19 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
详解python程序中的多任务
2020/09/16 Python
python如何实现word批量转HTML
2020/09/30 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
大二学习计划书范文
2014/04/27 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
恰同学少年观后感
2015/06/08 职场文书
基于python实现银行管理系统
2021/04/20 Python