在这篇博文中,我将分享我在实现“ResNet PyTorch项目可改”过程中的一些经验和教训。从最初的技术痛点出发,通过演进历程的关键决策,逐步到架构设计、性能优化、故障复盘,并探讨扩展应用的可能性。
## 背景定位
在开始之前,我们首先要明确最初我们面临的一些技术痛点。随着深度学习的快速发展,ResNet由于其优秀的性能被广泛应用,但在PyTorch实现时,我们遇到了一些挑战,主要包括效率和            
                
         
            
            
            
            本文使用的数据集为COVID-CT数据集,链接:https://pan.baidu.com/s/1gLtBkxO3_LSWxsziDJGSPQ  提取码:k3xo 项目结构:data文件夹下存放数据集,runner为运行代码,Resnet_0.00001文件夹下保存实验过程曲线图,model文件夹保存模型。resnet模型实现Resnet作者通过构建恒等映射来解决随着网络层数的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-06 22:11:34
                            
                                72阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            pytorch Resnet代码实现网络结构2D ResNet代码3D ResNet代码  本文只介绍resnet的代码实现,需要对resnet有基础的了解。代码参考pytorch官方实现,删除了一些非必要的判断条件,看起来更加简洁。z再次基础上,可以根据需要加入自己需要调整的参数,比如dilation,norm_layer等. 参考SOURCE CODE FOR TORCHVISION.MOD            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-13 19:28:27
                            
                                227阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1.ResNet的创新1)亮点2)原因2.ResNet的结构1)浅层的残差结构2)深层的残差结构3)总结3.Batch Normalization4.参考代码 1.ResNet的创新现在重新稍微系统的介绍一下ResNet网络结构。 ResNet结构首先通过一个卷积层然后有一个池化层,然后通过一系列的残差结构,最后再通过一个平均池化下采样操作,以及一个全连接层的得到了一个输出。ResNet            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-12 17:19:06
                            
                                182阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            导师的课题需要用到图片分类;入门萌新啥也不会,只需要实现这个功能,给出初步效果,不需要花太多时间了解内部逻辑。经过一周的摸索,建好环境、pytorch,终于找到整套的代码和数据集,实现了一个小小的分类。记录一下使用方法,避免后续使用时遗忘。感谢各位大佬的开源代码和注释!一、数据处理项目文件夹为Project2,使用的是五种花朵的数据集,首先有spilt_data的代码将已经分好文件夹的数据集分类成            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-18 20:14:44
                            
                                95阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者 | 沉默王二大家好,我是沉默王二。上周六,总是忍不住想放飞下自己。于是就试玩了一会大西瓜合成的小游戏,结果愣是停不下来,有点上头啊。这小游戏很有特点啊,界面第一次打开的时候只有 loading,竟然没有广告,良心了。说白了,这款小游戏就是俄罗斯方块、2048、水果忍者的结合体,通过控制水果的下落,两个相同的水果碰撞到一块的时候就会合成更大的水果,同时迸发出溅射的效果。第一次合成大西            
                
         
            
            
            
            引言论文下载地址:Deep Residual Learning for Image RecognitionPytorch版源代码下载地址:https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.pyResNetResNet原理及具体细节不过多介绍,网上很多大佬总结的很好,我主要就是记录自己学习ResNet的过程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-18 19:59:59
                            
                                95阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                           今天带大家学习resnet网络系列,resnet的发展与思考,任何一篇网络的理解不应该单单局限在一篇或几篇博客上,复制别人的代码,不追根溯源是很难有深度的理解。        所以今天,我整理这篇博客带大家从头            
                
         
            
            
            
            # PyTorch ResNet: Understanding and Implementing Residual Networks
 have revolutionized the field of computer vision by achieving rema            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-25 17:25:09
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            详细解释在代码注释中 :resnet50.py:用来保存resnet网络结构。import torch
import torch.nn as nn
from torch.nn import functional as F
import torchsummary
class Bottleneck(nn.Module):
    """
    __init__
        in_ch            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-05 21:34:24
                            
                                156阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Kaiming He的深度残差网络(ResNet)在深度学习的发展中起到了很重要的作用,ResNet不仅一举拿下了当年CV下多个比赛项目的冠军,更重要的是这一结构解决了训练极深网络时的梯度消失问题。首先来看看ResNet的网络结构,这里选取的是ResNet的一个变种:ResNet34。ResNet的网络结构如图所示,可见除了最开始的卷积池化和最后的池化全连接之外,网络中有很多结构相似的单元,这些重            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 16:41:22
                            
                                328阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录数据集的加载定义训练函数可视化模型预测使用微调 ConvNet 的方法训练和评估ConvNet 作为固定特征提取器训练和评估  官方文档: https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html  本教程中,您将学会如何使用 迁移学习 来训练卷积神经网络进行图像的分类。 注释: 实际上,很少有人从头开始            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-27 22:59:35
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                   TPU芯片介绍Google定制的打机器学习专用晶片称之为TPU(Tensor Processing Unit),Google在其自家称,由于TPU专为机器学习所运行,得以较传统CPU、 GPU降低精度,在计算所需的电晶体数量上,自然可以减少,也因此,可从电晶体中挤出更多效能,每秒执行更复杂、强大的机器学习模组,并加速模组的运用,使得使用者更快得到答案,Google最早是计划用FPGA            
                
         
            
            
            
            1、前言ResNet(Residual Neural Network)由微软研究院的Kaiming He等四名华人提出,通过使用ResNet Unit成功训练出了152层的神经网络,并在ILSVRC2015比赛中取得冠军,在top5上的错误率为3.57%,同时参数量比VGGNet低,效果非常突出。ResNet的结构可以极快的加速神经网络的训练,模型的准确率也有比较大的提升。同时ResNet的推广性            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-31 21:23:55
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ResNet当大家还在惊叹 GoogLeNet 的 inception 结构的时候,微软亚洲研究院的研究员已经在设计更深但结构更加简单的网络 ResNet,并且凭借这个网络子在 2015 年 ImageNet 比赛上大获全胜。ResNet 有效地解决了深度神经网络难以训练的问题,可以训练高达 1000 层的卷积网络。网络之所以难以训练,是因为存在着梯度消失的问题,离 loss 函数越远的层,在反向            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-26 20:04:56
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ResNet结构解析及pytorch代码标签: pytorchResNet是恺明大神提出来的一种结构,近些年的一些结构变种,很多也是基于ResNet做的一些改进,可以说ResNet开创了更深的网络的先河,并且在很多计算机视觉学习上都取得了不错的效果。ResNet和传统网络结构的核心区别ResNet本质上是为了缓解梯度问题的,随着传统的卷积网络结构越来越深,大家发现效果可能会降低,所以限制了网络层数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 01:38:18
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. ResNet模型2.  左图为18层,34层模型的一个残差块,右图为50层,101层,152层的残差块3.  18层,34层的残差块(虚线部分表示输入要进行一次下采样操作)4. 50,101,152层的残差块5. 34层的模型结构图,下图残差块分为4部分,2,3,4部分的第一个残差块是需要对输入进行下采样操作的:6. 模型代码:(18和34层的残差块是相似的,50/101            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-11 22:16:39
                            
                                275阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、resnet创新点传统的卷积网络在网络很深的时候,会出现梯度消失或者梯度爆炸的现象而resnet就能很好的解决这个问题。resnet最为创新的一点是残差结构,它使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就是“抄近道”的意思。示意图如下。它对每层的输入做一个reference(X), 学习形成残差函数, 而不是学习一些没有reference(X)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-30 23:02:22
                            
                                43阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            引言ResNet 有效地解决了深度神经网络难以训练的问题,可以训练高达 1000 层的卷积网络。网络之所以难以训练,是因为存在着梯度消失的问题,离 loss 函数越远的层,在反向传播的时候,梯度越小,就越难以更新,随着层数的增加,这个现象越严重。之前有两种常见的方案来解决这个问题:1.按层训练,先训练比较浅的层,然后在不断增加层数,但是这种方法效果不是特别好,而且比较麻烦2.使用更宽的层,或者增加            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-03 09:01:19
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、使用PyTorch搭建ResNet18网络并使用CIFAR10数据集训练测试1. ResNet18网络结构所有不同层数的ResNet: 这里给出了我认为比较详细的ResNet18网络具体参数和执行流程图:2. 实现代码这里并未采用BasicBlock和BottleNeck复现ResNet18 具体ResNet原理细节这里不多做描述,直接上代码model.py网络模型部分:import torc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-25 10:55:57
                            
                                1621阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                    