首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么theano conv2d要添加空维度?

为什么theano conv2d要添加空维度?
EN

Stack Overflow用户
提问于 2014-06-01 01:50:55
回答 1查看 645关注 0票数 1

我在玩一些简单的Theano代码,我遇到了以下情况:

代码语言:javascript
运行
AI代码解释
复制
import numpy
import theano
from theano import tensor
from theano.tensor.signal.conv import conv2d

m = tensor.fmatrix()
w = numpy.ones([10,1], dtype=numpy.float32)
c = conv2d(m,w)
f = theano.function([m], c)
print f(numpy.ones([100,100], dtype=numpy.float32)).shape

结果:(1,91,100)

2d输入的二维卷积的结果是2d,但实际上是3d的。为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-01 02:14:47

conv2d的docstring表示,signal.conv.conv2d使用给定的滤波器__对输入执行基本的2D卷积。(注复数)

您可以传递给它几个过滤器,它将返回所有这些卷积。试一试。

代码语言:javascript
运行
AI代码解释
复制
c = conv2d(m,np.array([w, w, w]))
f = theano.function([m], c)
print f(numpy.ones([100,100], dtype=numpy.float32)).shape  # outputs (3, 91, 100)

因此,在默认情况下,如果您只传递一个过滤器,它将添加一个退化轴(可能是因为它在内部添加了这个轴到您的过滤器中,如果您自己没有这样传递它的话)。换句话说,它不跟踪输入形状以返回对应的内容。看起来比任何事情都更像是设计上的选择。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23978598

复制
相关文章
配置类为什么要添加@Configuration注解?
我们先来看看如果不在配置类上添加@Configuration注解会有什么问题,代码示例如下:
程序员DMZ
2020/07/09
2.8K0
keras系列︱深度学习五款常用的已训练模型
不得不说,这深度学习框架更新太快了尤其到了Keras2.0版本,快到Keras中文版好多都是错的,快到官方文档也有旧的没更新,前路坑太多。 到发文为止,已经有theano/tensorflow/CNTK支持keras,虽然说tensorflow造势很多,但是笔者认为接下来Keras才是正道。
用户7886150
2021/01/15
1.5K0
keras系列︱深度学习五款常用的已训练模型
不得不说,这深度学习框架更新太快了尤其到了Keras2.0版本,快到Keras中文版好多都是错的,快到官方文档也有旧的没更新,前路坑太多。 到发文为止,已经有theano/tensorflow/CNTK支持keras,虽然说tensorflow造势很多,但是笔者认为接下来Keras才是正道。 笔者先学的caffe,从使用来看,keras比caffe简单超级多,非常好用,特别是重新训练一个模型,但是呢,在fine-tuning的时候,遇到了很多问题,对新手比较棘手。 中文文档:http://keras-
机器学习AI算法工程
2018/03/30
8K0
keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)
根据给定的文章内容,撰写摘要总结。
悟乙己
2018/01/02
9.8K0
基于深度学习的图像目标识别预测 | CV | Tensorflow | Keras
在人工智能研究的大潮中,如何模拟人类对于静态或动态目标的有效识别预测一直是研究热点,通过智能技术实现对于目标特征的学习并对特定目标进行快速识别,预测得出目标识别概率,实现基于深度学习模型在复杂背景、不确定外部干扰下的高精度、实时识别目标,能够保持或者优于有丰富经验人员的识别效果。
用户7623498
2020/08/04
1.5K0
基于深度学习的图像目标识别预测 | CV | Tensorflow | Keras
如何从零开发一个复杂深度学习模型
深度学习框架中涉及很多参数,如果一些基本的参数如果不了解,那么你去看任何一个深度学习框架是都会觉得很困难,下面介绍几个新手常问的几个参数。 batch 深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。 另一种,每看一个数据就算一下损失函数,然后求梯度更新
朱晓霞
2018/04/18
3.3K0
如何从零开发一个复杂深度学习模型
Theano
0.47319827005737614 0.012205626040705037 0.00751665467921436 0.00562511127422009 0.004310605273226868 0.003447855699296902 0.002931589214229289 0.0026120026531145256 0.002402182708309157 0.002271440180430362
裴来凡
2022/05/29
2740
Theano
JavaWeb项目为什么我们要放弃JSP?为什么要前后端解耦?为什么要动静分离?[通俗易懂]
以前的项目大多数都是java程序猿又当爹又当妈,又搞前端(ajax/jquery/js/html/css等等),又搞后端(java/mysql/oracle等等)。
全栈程序员站长
2022/08/11
1.3K0
Theano 中文文档 0.9 - 7.2.3 Theano中的导数
现在让我们使用Theano来完成一个稍微复杂的任务:创建一个函数,该函数计算相对于其参数x的某个表达式y的导数。为此,我们将使用宏T.grad。例如,我们可以计算
ApacheCN_飞龙
2022/12/01
6410
Theano 中文文档 0.9 - 7.2.3 Theano中的导数
Theano 中文文档 0.9 - 6. 更新Theano
如果你用yum/apt-get安装NumPy/SciPy,用pip/easy_install更新NumPy/SciPy并不总是一个好主意。这可能使Theano因BLAS的问题而崩溃。发布中包含的NumPy/SciPy版本有时与更新版本的BLAS相关联。使用yum/apt-get/pip/easy_install安装NumPy/SciPy开发包时不会与新版本重新一起编译。要解决可能的崩溃,你可以按如下方式清除Theano缓存:
ApacheCN_飞龙
2022/12/01
5240
为什么我们要开源
开源的好处很多。 开源除了可以让产品的用户享受其益处外,对于个人和企业来说: 有利于让产品快速传播。 有可能获取其附加价值。 带来更好的名誉。 对于开发者来说,可以自由的使用其中的技术。 我昨天突然意识到了另外一个好处。最近发生了一件事儿,我以前开发过的一个产品被公司的一个合作伙伴收购了,这个产品的部分工程师编了一个视频作为纪念。 我们为什么想要纪念一下?并不是这个产品有多么好,主要是我们付出了人生中的几年时光在这个上面,需要纪念的是我们的记忆。 对于开发者来说,这就是我们的经历,把我们的才能才干、多年
绿巨人
2018/05/16
1.5K0
为什么要定期备份?
我们都知道,天有不测风云,再好的电脑,也有可能突然就坏了,毫无征兆。而我们存在电脑里的重要资料,可能就面临丢失的风险。
简单并不简单
2019/07/05
4.3K0
为什么要放弃 Lombok ?
如果您正在阅读此文,想必您对Project Lombok已经有了一段时间的了解。您是否正准备拥抱Lombok?还是正准备将如此酷炫的项目推荐给你的团队?如果您准备那么做,不妨听听我在使用Lombok一
xcbeyond
2020/06/16
1K0
为什么要放弃 Lombok ?
为什么要学Spring
还有更多你可能听都没听说的Web框架,详细的框架列表请参见这里。我想你已经眼花缭乱了,从这么多框架中,如何才能挑选出你心仪的框架呢?
哲洛不闹
2018/09/19
1.9K0
为什么要学Spring
为什么要学习java?
大家好!这个网站的目标是为了方便大家更好的学习java&android编程。不管你是初学者还是一个经验丰富的程序员,相信这个网站对你都会有很大的帮助。只要大家每天坚持,安装网站的先后顺序进行学习,那么肯定可以成为一名优秀的java和android程序员。网站会坚持每天(工作日)更新。 首先我们简单介绍一下为什么我们要学习的是java&android呢? 一、为什么学习java 1、java非常流行。 java是面向对象的跨平台的高级语言,在世界编程语言排行稳居前二。如果你对此表示怀疑,你可以登录 TIOB
Java学习
2018/04/13
1.1K0
为什么要学习java?
从零开始学keras(六)
【导读】Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。本系列将教你如何从零开始学Keras,从搭建神经网络到项目实战,手把手教你精通Keras。相关内容参考《Python深度学习》这本书。
墨明棋妙27
2022/08/24
5110
从零开始学keras(六)
要查询对象存在,但是属性值都为空
场景:在使用spring与mybatis整合实现简单的登录功能时,发现登陆成功后,user对象存在,但是输出user的id或者name时,却显示0或者null。
Charles-LZ
2019/07/02
1.2K0
为什么要封UDP?
UDP,全称User Data Protocol,中文名为用户数据报协议,是一个简单的面向数据报的非连接运输层协议,意思是UDP在传送数据前不与对方建立连接,而是直接将应用程序发来的数据在收到的那一刻,按照原样发送到网络上的一种机制。大部分内容是不需要udp的,除非必须要使用到udp协议的内容比如开游戏,还有各种靠udp协议来传输的内容,在这里我就不具体说明了,需要udp的你肯定会知道的。
德迅云安全-小娜
2022/05/12
1.8K0
为什么要放弃 JSP ?
随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只负责前端的事情,后端工程师只管后端的事情。正所谓术业有专攻,一个人如果什么都会,那么每一样都很难达到精通。
乔戈里
2019/07/23
1.1K0
为什么要探索宇宙
image.png 推荐语: 如果以“有用还是无用”来判断救助饥荒儿童和探索宇宙这两件事,似乎没有谁能得出“有用”“无用”一边倒的结论。在这个问题的背后,我们想追问的是,有人为什么会提出“有用还是无用”这样的问题? 在这背后隐藏的是“谦卑”和“傲慢”。在人和人性面前,我们确实应该抱有谦卑。但是以这种谦卑去要求别人,则是最大的傲慢。因为谁也不能代替一个人对其所从事的工作做出“有用”还是“没用”的判断。当今社会,将自律的道德用于他律,对他人进行道德说教、道德绑架并不罕见。个体都有特征,行为都有选
腾讯研究院
2018/01/19
9480
为什么要探索宇宙

相似问题

总是添加维度的theano操作。

13

torch.utils.data.DataLoader -为什么要添加维度

1190

为什么Mongoose要添加空数组?

50

创建空数组时为什么要添加()

24

Theano conv2d和max_pool_2d

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档