conv与convn的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了conv与convn的区别相关的知识,希望对你有一定的参考价值。

clear all;

a = [1 2 3];
b = [4 5 6];
resFull1 = conv(a,b,‘full‘);
resSame1 = conv(a,b,‘same‘);
resvalid1 = conv(a,b,‘valid‘);
%full : 就是普通意义下的卷积
% same: 就是 和卷积输入的长度一样
% valid : 就是 卷积反转对齐之后,这里的对齐很特殊,不能有填充0;
% conv :只用于 信号系统里面的两个一维信号的卷积

a =[1:25];
b = zeros(5,5);
b(:)=a(:);
b= b‘

h = [1 1 1;1 1 1; 1 1 1];
resFull = convn(b,h,‘full‘);
resSame = convn(b,h,‘same‘);
resvalid = convn(b,h,‘valid‘); % valid:计算出的时候。h翻转平移之后,必须都在b里面。没有0填充
%convn 用于计算二维信号卷积;两个图像矩阵的卷积
%full :结果矩阵大小是: 5 + 3-1 :3是h的大小
%valid; 大小是: X - 2*(floor(Y/2)) : X是输入矩阵的大小,Y是h的大小

以上是关于conv与convn的区别的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB卷积运算(convconv2convn)解释

Keras 中的 conv2d 和 Conv2D 有啥区别?

resNet conv1和传统conv2d层的区别

PyTorchnn.ReLU()与F.relu()的区别

PyTorchnn.ReLU()与F.relu()的区别

Keras中Conv2D和Convolution2D的区别