nn.Conv2d(3,64,7,stride=2,padding=3), nn.BatchNorm2d(64), # 这个64为卷积后输出的通道数(channel),所以,里面的参数为前面卷积的输出通道数 # referen pytorch nn.BatchNorm2d() 参数解释_Tchunren的博客-CSDN博客_batchnorm2d参数 nn.LeakyReLU(0.1,inplace=True), nn.MaxPool2d(2), #这里面没有写stride,在官网中,如果stride不写,其stride就等于kernel_size,这是我问的一个日本友人
https://github.com/motokimura/yolo_v1_pytorch/issues/7
BN加速训练收敛:个人理解是把前一个卷积结果输出进行Batch Norm(把结果拉到正态分布),进行BN后的结果不会分布不均匀,不会让训练的损失函数处于过大的振荡,这样就会较快收敛。
GN与BN的差别,个人感觉在batch size用的较小时GN比BN好,batch size大的时候,两者差不多。
nn.BatchNorm2d()
首先这个方法就是进行归一化,默认第一个参数就是传入的数据的通道数,老是记不住,这样理解就好了,因为是归一化,那肯定要对每一个channel都要进行归一化,那传入的第一个参数就是通道数。至于后面有些传入小数,可以参考下面链接。
https://blog.csdn.net/t20134297/article/details/104960101