本人初学CNN网络,最近在Pytorch上用ResNet18对CIFAR10做迁移学习,仅改变最后Linear层的输出通道数为10的情况下,运行发现即使是训练1个epoch也非常缓;
慢,本以为前面卷积层的参数都设定了requires_grad=False的情况下,只是训练最后全连接层的5000多个参数应该会很快(好吧,我承认买不起GPU,只用了块i5的CPU);
同时,我自己搭建了一个4层的CNN,最后全连接层的参数达到13万个,但加上前面的卷积层训练速度也要比迁移过来的ResNet快很多,不知道什么原因;
图片1是我自己搭建的4层CNN数据结构,图片2是迁移过来的Resnet18的数据结构;
不知道问题出在哪里,本人对影响计算量的主要因素还一知半解,望指教;
图1

图2
