多输入多输出通道卷积

发布时间:2024年01月10日

前言

彩色图像具有RGB三通道,因此卷积操作也需要拓展到多通道

多输入通道

当输入包含多个通道时,需要构造一个具有与输入数据相同输入通道数的卷积核,以便与输入数据进行互相关运算。

  • 卷积核通道数与输入通道数相同
  • 对每个通道的输出求和
def corr2d(X,K):
    """互相关运算"""
    h,w=K.shape
    Y=torch.zeros((X.shape[0]-h+1,X.shape[1]-w+1))
    for i in range(Y.shape[0]):
        for j in range(Y.shape[1]):
            Y[i,j]=(X[i:i+h,j:j+w]*K).sum()
    return Y


def corr2d_multi_in(X,K):
    """多通道输入单通道输出"""
    return sum(corr2d(x,k) for x,k in zip(X,K))

多输出通道

相较于单通道输出,多通道输出具有多组多输入通道的卷积核,并将每组的输出结果进行拼接

def corr2d_mult_in_out(X,K):
    """多通道输入多通道输出"""
    return torch.stack([corr2d_multi_in(X,k) for k in K],0)# 在第一维上连接张量
文章来源:https://blog.csdn.net/dingning12469/article/details/135503408
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。