Repvgg理解过程出现的问题

根据博主太阳花的小绿豆的文章学习:RepVGG网络简介_太阳花的小绿豆的博客-CSDN博客_repvgg网络是干嘛的?

简单来说repvgg就是改变了网络结构,做了模型重参数化,啥叫模型重参数化?就是将resnet的shortcut给去掉的同时不改变推理的效果。

Repvgg理解过程出现的问题_第1张图片

Repvgg理解过程出现的问题_第2张图片

 至于重参数化过程的推理,可以直接点击上边的连接,此处只记录小白的个人困惑。

Repvgg理解过程出现的问题_第3张图片

 文中博主给出了上图,以我的理解,input channel=2,那么卷积核的个数不就应该为2吗?但是博主的意思是此处的kernel weight仅表示一个卷积核,做卷积后只得到了output channel 1。对此又找出了b站up主刘二大人的视频(pytorch第十讲30多分)仔细看了一遍,其实卷积核的通道数是可以自己设定的,最后的输出的通道数与此卷积核的通道数是无关的,输出的通道数是与卷积核的个数相关的,如下图

Repvgg理解过程出现的问题_第4张图片

 注意!这是一个卷积层的计算的大致过程。如果自己跟着刘二大人写了卷积层的程序的话,一定会有类似下边的程序:

self.conv1 = torch.nn.Conv2d(1, 10, kernel_size=5)
self.conv2 = torch.nn.Conv2d(10, 20, kernel_size=5)

 其中1就是输入通道的数量(input channel,也就是卷积核的通道数),10就是输出通道的数量(output,也就是卷积核的个数)。

你可能感兴趣的:(深度学习,人工智能)