pytorch尝试入门VGG,实现猫狗分类的baseline

博客作者通过实践VGG模型进行Kaggle猫狗图片分类,遇到模型报错。问题在于模型的输出通道数不匹配,原因是VGG11网络结构缺失了一个block。修复后,作者探讨了为何输入图像要resize到224x224,Xavier初始化的作用,以及VGG网络中通道数翻倍的原理。同时,作者还提及了特征图的概念。
摘要由CSDN通过智能技术生成

照着教程【实战 VGG实现kaggle猫狗图片分类】完整流程 | 提供VGG11,VGG13,VGG16,VGG19 Pytorch 代码写了一下午。做一下学习笔记。

模型如下

关于报错

 第一反应去看评论区,没人提到这个问题,应该是我手残打错了。再看看报错信息,提示两个矩阵不能相乘。按照我浅薄的理解,因为模型的输入需要一个固定的大小,我们应该是在初始化MyDataset的时候就已经把输入图片的矩阵resize成(224, 224)的形状了。

前面这个32应该是我设置的batch_size没错。但是问题来了,224*224=50176,这和上面的四个数字都没有直接关系,正好是100352的一半。再看看后面这个数字,25088=512*7*7,512是最后一个卷积层的输出维度,这没有问题。

突然在注意到VGG 11的定义。

再一看我的网络,怎么只有13层,果然少了一个block,加上后正好输出的通道数再翻一番。这样就是100352了。

现在的模型是这样的:

为什么要用Xavier做初始化

为什么要resize成(224*224)?是怎么resize的?

为什么每经过一个block,通道数都要(会)翻倍?

5.7. 使用重复元素的网络(VGG) — 《动手学深度学习》 文档

Why VGG-16 takes input size 512 * 7 * 7?

neural network - Why VGG-16 takes input size 512 * 7 * 7? - Stack Overflow

为什么使用2个3x3卷积核可以来代替5*5卷积核?

feature map指的是什么?

理解卷积神经网络CNN中的特征图 feature map_dengheCSDN的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值