pytorch实现Deep_Residual_network,resnet源码解读

       

pytorch实现Deep_Residual_network,resnet源码解读_第1张图片

pytorch实现Deep_Residual_network,resnet源码解读_第2张图片

        今天带大家学习resnet网络系列,resnet的发展与思考,任何一篇网络的理解不应该单单局限在一篇或几篇博客上,复制别人的代码,不追根溯源是很难有深度的理解。

        所以今天,我整理这篇博客带大家从头到位看resnet为什么有用(理论层面),怎么实现,如何在版本上的迭代(技术层面),pytorch里面关于torchvison.models里面的resnet.py源码已经迭代过几次version了,所以就在这个层面大家也应该知道,一个网络的实现和优化绝不是博客里面几行代码,当个api小子就能搞定的,确实,静下心来去细品也有收获,也需要时间,所以在这儿帮大家整理。

        Talk is cheap,show me the code.来自pytorch官方的resnet.py,代码太长就不给大家贴在这儿了,通过链接去学习。然后这个是借鉴源码改写能够运行的一个例子,作者也值得关注的哦                          pytorch-tutorial/main.py at master · yunjey/pytorch-tutorial · GitHub

        网上已经有大量关于pytorch_resnet.py源码解读的例子了,我就按我认为合适的顺序给大家整理好参考资料:

        Residual block()最简单的理论版实现➡️Basic block()➡️Bottleneck():Bottleneck是BasicBlock的升级版,其功能也是构造子网络,resnet18和resnet34中使用了BasicBlock,而resnet50、resnet101、resnet152使用了Bottlenect构造网络。

Rediual block()里面提到了downsample:

CV脱坑指南(二):ResNet·downsample详解_小德不拿第18个大满贯就不改名的博客-CSDN博客_resnet中的downsample

关于Basicblock与Bottleneck这两个Residual模块的实现与对比:

ResNet残差网络Pytorch实现——BasicBlock残差块_魏宝航-CSDN博客_resnet的basicblock

ResNet残差网络Pytorch实现——Bottleneck残差块_魏宝航-CSDN博客_残差网络bottleneck

ResNet残差网络Pytorch实现——结合各个残差块_魏宝航-CSDN博客_残差块pytorch

残差网络ResNet pytorch源码解读 - 知乎

Pytorch ResNet代码整体解读: 

 PyTorch ResNet 使用与源码解析//很详细

PyTorch ResNet 使用与源码解析 - 知乎

残差网络ResNet代码解读//部分内容非常细节与“PyTorch ResNet 使用与源码解析”互补

残差网络ResNet代码解读 - 知乎

最后这里贴一份Pytorch_cifar10的源码方便实践:

Pytorh_resnet_cifar10理论与实践(待完成)_To be a better man-CSDN博客

其他资料:

深度学习网络篇——ResNet//总体把握,人物介绍

深度学习网络篇——ResNet_PRIS-SCMonkey的博客-CSDN博客_resnet网络

PyTorch中网络里面的inplace=True字段的意思 - 简书

transforms.Compose() ,图像的一些处理操作

你可能感兴趣的:(#,深度学习疑难杂症,pytorch,深度学习,机器学习)