深度学习之卷积神经网络0基础入门学习教程——浅层深度学习(全网最详细,不详细你打我)(看不懂你打我)(对小白没用你打我)

news2024/11/17 21:44:41

       作为一个双非学校的人工智能硕士研究生,我在深度学习入门之初,学校里没人带,只能靠自己一点一点的摸索,走了很多弯路,因为自己并不懂得从哪里入手,从吴恩达的课到李沐的课等等无数种课,无数种书看了很多,买了很多,然后并没有学到什么有用的知识,反而越学越迷茫,在自己探索的过程中发现一个问题,网上大多数教程都是针对有一点深度学习基础的人准备的,类比Pytorch、Keras、TensorFlow的区别我之前都迷茫,不知道这究竟是啥,区别是啥,对于一个没有深度学习积累的课题组,全靠自己摸索的课题组,我想会让你学的很迷茫,什么是神经网络、什么是深度学习、什么又是目标检测、亦或者什么又是实例分割什么又是语义分割等等,我们不得不承认深度学习是一门非常非常非常大的学科,如何在这门大学科里找到自己需要的东西则是我们这期博客需要研究的东西。

       

        出这期博客的原因,我想在如此多的大学中本科生,亦或是研究生中存在一批跟我一样的人,大家并不想深入的研究深度学习或者卷积神经网络的具体概念,数学含义,更不想研究它的数学公式推导这么复杂的东西,我们只想能够首先根据自己课题或者项目的需要,简单的了解深度学习中的具体某个模块的知识,然后跟自己课题相结合,根据开源的代码进行改进,从而达到自己的需求即可,因此在看到网络一些讲解某个神经网络的一大堆公式推导我就头疼,毕竟我就是个小垃圾,并不想深入的了解公式推导的过程,就算是论文需要想要去了解公式推导了也只是具体的针对某个公式去了解,并不是直接这样跟我讲算法,我很难受。

      好了,说了这么多废话,我只是想表达一个意思,我希望看了这期的博客,可以让像我这样的小菜鸡们可以直接知道从那个代码开始学习,如何简单快速的找到自己需要学习的模块,并且得到相应的代码进行学习。

当然深度学习是个很大的学科,本博客只负责针对卷积神经网络、图像处理部分的应用进行学习的规划。

第一步,理论知识学习:

简单了解深度学习的知识,这里我推荐吴恩达老师课程:【斯坦福大学】深度学习(全192讲)吴恩达_哔哩哔哩_bilibili

不用看完,只看到CNN图像处理的部分就行,看P1~P118即可,经典网络这里就行。

       不用担心看不懂,对于小白来说,完全看懂是不可能的,我们只需要对于神经网络整体的概念有个大致的了解就行,不用纠结某个细节看不懂而焦虑,这很正常,刚开始学习一门新知识,我们无法去了解全部的东西,有细节的东西不懂很正常,不用焦虑,只需要对深度学习有整体的概念即可。

等你真正了解了,对于某个知识点需要去深入研究了,你再去深入了解,初期的学习就这样粗一点,有个大概整体的了解就行。

(另外特别提醒,这里有中文字幕,不用担心看不懂哦)

第二步,经典神经网络的了解:

       看完上面我推荐吴恩达老师的课,大家已经对卷积神经网络的图像处理部分有些简单的了解,那么我们现在就要针对具体的卷积神经网络案例,对卷积神经网络进行学习。我根据个人的经历,将深度学习神经网络的学习分为如下顺序:

(请按照先后顺序进行学习)

分类网络:Alexnet、VGG、Googlenet、Resnet、Densnet、Mobilenet、shufflenet、efficientnet系列等

检测网络:RCNN、Fast RCNN、Faster RCNN、YOLO、YOLOv3、YOLOv4、YOLOv5等

        建议对分类网络的前三个网络学过了,再学检测网络,因为检测网络相对比较复杂,要有一定的分类网络的基础在对检测网络进行学习,至少需要把分类网络的Resnet学了,再进行检测网络的学习。

下面给出我个人写的相关的代码和浅层深度学习的讲解博客,帮助大家很快的跑通代码,并且置换成自己的数据集,从而运行自己的课题。(特别提醒,本代码全部基于Pytorch框架进行开发)

另外,基于我之前在网上找开源代码都没有绘制训练集和测试集的损失和准确率的图像的问题,小白又不会自己修改代码的情况,我的分类代码中都会自动绘制训练集和测试集的loss和accuracy。并且给出常用的模型指标计算代码,便于写论文!

首先需要配置自己的深度学习环境,如下给出全网最详细的深度学习环境配置教程,便于你很快的入门深度学习。

深度学习环境配置教程:

史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境_深度学习peizhihuanjing_小馨馨的小翟的博客-CSDN博客

分类网络讲解和代码:

1、Alexnet:

手撕Alexnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。_手撕经典卷积神经网络代码_小馨馨的小翟的博客-CSDN博客

2、VGG:

手撕VGG卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。_vgg 自己的数据集 pytorch_小馨馨的小翟的博客-CSDN博客

3、Googlenet:

手撕Googlenet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。_小馨馨的小翟的博客-CSDN博客

4、Resnet:

手撕Resnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。_pytorch 替换自己数据集_小馨馨的小翟的博客-CSDN博客

 5、Densnet:

手撕Desenet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。_小馨馨的小翟的博客-CSDN博客

 6、mobilenet系列:

简单有趣的轻量级网络MobileNets v1 、MobileNets v2、MobileNets v3(网络结构详解+详细注释代码+核心思想讲解)——pytorch实现_小馨馨的小翟的博客-CSDN博客

7、 shufflenet系列:

正在更新

8、efficientnet系列:

正在更新

9、Regnet:

RegNet——颠覆常规神经网络认知的卷积神经网络(网络结构详解+详细注释代码+核心思想讲解)——pytorch实现_regnet代码_小馨馨的小翟的博客-CSDN博客

开源数据集: 

常见的猫狗数据集开源代码:

可以用来作为分类网络练手的网络。

kaggle猫狗数据集开源——用于经典CNN分类实战_小馨馨的小翟的博客-CSDN博客

分类网络之迁移学习讲解和代码:

常见的 Alexnet、VGG、Googlenet、Resnet迁移学习代码:

迁移学习篇之如何迁移经典CNN网络-附迁移学习Alexnet,VGG,Googlenet,Resnet详细代码注释和方法-pytorch_迁移学习代码_小馨馨的小翟的博客-CSDN博客

机器学习和深度学习结合之模型融合代码: 

集成学习-模型融合(Lenet,Alexnet,Vgg)三个模型进行融合-附源代码-宇宙的尽头一定是融合模型而不是单个模型。_集成学习源代码_小馨馨的小翟的博客-CSDN博客

分类网络常见指标计算讲解和代码:

数据集划分之训练集测试集代码:

【Pytorch代码学习】——数据集划分_pytorch划分数据集_"HelloWorld!"的博客-CSDN博客

论文写作常用指标计算代码(混淆矩阵、精确率、召回率等):

深度学习之卷积神经网络中常用模型评估指标(混淆矩阵,精确率,召回率,特异度计算方法)——python代码_卷积神经网络准确度一般看哪个_小馨馨的小翟的博客-CSDN博客

论文写作常用Grad-CAM激活热力图绘制代码:深度学习之如何使用Grad-CAM绘制自己的特征提取图-(Pytorch代码,详细注释)神经网络可视化-绘制自己的热力图_grad_cam 特征挖掘_小馨馨的小翟的博客-CSDN博客

数据集扩充代码: 

深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量_深度学习数据怎么扩充_小馨馨的小翟的博客-CSDN博客

好看的神经网络结构图绘制PPT:

ML Visuals-逆天神经网络绘制神器还有暗黑模式-出于开源精神看到某些人非得积分才愿意提供下载的我在翻墙搞到之后决定免费开源出来_ml visuals下载_小馨馨的小翟的博客-CSDN博客

目标检测类讲解和代码:

代码正在更新

RCNN:

RCNN算法思想简单讲解概述————(究极简单的讲述和理解)_小馨馨的小翟 rcnn_小馨馨的小翟的博客-CSDN博客RCNN目标检测算法内容详解(依托论文讲解)_rcnn论文下载_小馨馨的小翟的博客-CSDN博客

YOLOv1、v2:

Yolo算法检测之Anchor Boxes原理详解_yolo anchor box_小馨馨的小翟的博客-CSDN博客

 YOLOv3:

目标检测系列讲解(三)之yolov3原理论文讲解_yolo3目标检测原理_小馨馨的小翟的博客-CSDN博客

常用的labelimg标注软件下载使用方法:

目标检测之——labelImg标注工具使用方法_labelimg可以实现自动标注吗_小馨馨的小翟的博客-CSDN博客

图片批量命名代码:

目标检测需要大量的数据集,存在命名冲突的情况,这个方法可以针对文件夹的名字对图片进行重新命名,便于构建数据标签。

深度学习之python给图片批量命名_python创建图像名称_小馨馨的小翟的博客-CSDN博客

数据增强算法讲解:

目标检测常见数据增强算法汇总讲解(Mixup,Cutout,CutMix,Mosaic)_mixup数据增强_小馨馨的小翟的博客-CSDN博客

YOLO中非极大值抑制方法讲解:

Yolo算法检测之NMS(非极大值抑制)原理详解_yolo非极大值抑制_小馨馨的小翟的博客-CSDN博客

目标检测类mAP等衡量指标的含义和计算方法:

 目标检测类mAP等衡量指标的含义和计算方法_map指数_小馨馨的小翟的博客-CSDN博客

 

对于小白来说,按照上述进行学习即可,有问题欢迎随时给我留言评论,或者私信我,看到都会回复。

感谢支持!您的点赞是我前进的动力,终于肝完毕业论文了,后续目标检测类的代码和分类网络缺少的代码都会补上!冲

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microsoft project 2013安装教程(含激活方法)

目录 一、介绍 二、安装教程 三、激活 一、介绍 Microsoft project 2013中文版是由微软推出的一款项目管理软件,软件将可用性、功能和灵活性等完美地融合在一起,可以有效提升办公人员的效率,利用project 2013用户可以制作出…

SecureCRT8.5的下载、安装和注册(详细图解)

SecureCRT8.5的下载、安装和注册请先关闭杀毒软件和防火墙。 关闭防火墙 先打开电脑的设置,在弹出的界面里找到并点击更新和安全。 找到并点击Windows 安全中心,再在右侧找到并点击防火墙和网络保护选项。 将域网络、专用网络、公用网络这三个选项设…

数据结构入门-11-红黑树

史上最负盛名的平衡二叉树–红黑树,但其实就是2-3树的一种实现 文章目录一、红黑树性质二、红黑树性质推导过程2-3树2.3.1 如何维护绝对平衡2-3树2.3.2 红黑树&2-3树2.3.3 再来看红黑树的性质1.每个节点为 Black or Red2.根节点是Black3.每一个叶子节点(最后的空…

2023年郑州重点建设项目名单公布,中创“算力数据中心”项目入选!

4月7日,郑州市人民政府网站公布2023年郑州市重点建设项目名单,名单共列项目680个,总投资1.08万亿元,年度计划投资2691亿元。 在创新驱动能力提升项目名单里,中创算力与人民网人民数据(国家大数据灾备中心&a…

小程序实现消息订阅及发送

在我们的家政服务小程序中,用户可以新增预约。一般的场景是新增预约的时候提醒用户接收通知,在状态变更的时候我们来发送订阅消息。本篇我们来讲解一下小程序订阅消息功能的开发。 1 开通订阅消息模板 要想发送订阅消息,首先需要选用一个消…

【ES】数据同步集群

【ES】数据同步&集群3.数据同步3.1.思路分析3.1.1.同步调用3.1.2.异步通知3.1.3.监听binlog3.1.4.选择3.2.实现数据同步3.2.1.思路3.2.2.导入demo3.2.3.声明交换机、队列1)引入依赖2)声明队列交换机名称3)声明队列交换机3.2.4.发送MQ消息…

解决macOS IntelliJ IDEA 卡顿问题

写在前面的话1:我在撰写这篇博客时候,所用的IntelliJ IDEA版本是IntelliJ IDEA 2022.3.3 (Ultimate Edition),你需要知道可能对于不同的IntelliJ IDEA版本会有一定的差异 写在前面的话2:如果我这篇博客可以帮助到你,请…

国内可用的 ChatGPT

国内可用的 ChatGPT 替代列表功能和使用顺便推荐列表 https://chatgpt.qdymys.cn/ :三小时只能用10次 https://alllinkai.com/ :体验完,要登录,不推荐 https://gpttalk.live/ :每天限制使用次数 https://chatgpt-c…

深入探讨机器学习中的过拟合现象及其解决方法

1. What❓ 过拟合(Overfitting)是指在机器学习中,模型在训练集上表现较好,但在测试集或实际应用中表现较差的现象。过拟合发生时,模型过于复杂地学习了训练集中的噪声、异常值或特定模式,从而导致对新样本…

限流:计数器、漏桶、令牌桶 三大算法的原理与实战(史上最全)

限流 限流是面试中的常见的面试题(尤其是大厂面试、高P面试) 注:本文以 PDF 持续更新,最新尼恩 架构笔记、面试题 的PDF文件,请到文末《技术自由圈》公号获取 为什么要限流 简单来说: 限流在很多场景中用来…

教程 | 近红外数据的预处理和平均(上)

前言 近红外光谱(NIRS)是一种测量流经传感器所在组织的血液中氧合水平的方法。它基于这样一个事实,即含氧血红蛋白和脱氧血红蛋白具有不同的吸收光谱,因此你会看到它有不同的颜色。大多数近红外系统在每个光源光电二极管发射2个波长的光,通常…

【记录】ORB_SLAM2 例程(README文件里的单双目RDB-D、ROS、AR、外接摄像头、点云)

第一次跑 ORB_SLAM2,记录一下一、普通环境0.build.sh 遇到的问题(1)usleep(2)AlignedBit1.单目、TUM数据集2.双目、KITTI数据集3.RGB-D、TUM数据集二、ROS0.build_ros.sh 遇到的问题(1)rospack …

【C++】结构体应用案例 1

目录 1、缘起 2、案例描述 3、案例分析 4、代码清单 1 5、代码清单 2 6、总结 1、缘起 最近学习完了 C 语言的结构体相关知识点,如 结构体数组,结构体指针,结构体嵌套结构体 和 结构体做函数参数。本篇博客围绕着这些知识点&#xff0c…

【华为机试真题详解JAVA实现】—Sudoku

目录 一、题目描述 二、解题代码 一、题目描述 问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个3X3粗线宫内的数字均含1-9,并且不重复。 例如: 输入 输出

SpringCloud学习-实用篇02

以下内容的代码可见:SpringCloud_learn/day02 1.Nacos配置管理 之前提到的Nacos是作为注册中心,除此之外它还有配置管理功能 统一配置管理 假设有多个微服务之间有关联,此时修改了某个微服务的配置后其他相关的微服务也需要重启,十…

Javaweb | 过滤器、配置、过滤器链、优先级

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 过滤器 概念 过滤器(Filter)是处于客户端与服务器目标资源之间的一道过滤技术 用户的请求和响应都需要经过过滤器 过滤器作用 执行地位在Servl…

C++初阶 -1- C++入门part2

文章目录6.引用什么是引用?引用的使用引用的应用传值、传引用效率比较权限引用和指针的区别⭐7.内联函数8.auto关键字9.基于范围的for循环10.指针空值——nullptr6.引用 什么是引用? “别名” int a 0; int& b 0;👆即 地址为0x00000…

【linux】:模拟文件基本操作以及文件在磁盘中如何存储的学习

文章目录 前言一、模拟C库文件操作二、磁盘文件总结前言 经过我们上一篇对linux系统文件操作的学习想必我们已经会使用系统文件接口了,今天我们就用系统文件接口来封装一个像C语言库那样的文件操作函数的函数来加深我们对文件操作的学习。 一、模拟C库文件操作 首…

通过Milo实现的OPC UA客户端连接并订阅Prosys OPC UA Simulation Server模拟服务器

背景 前面我们搭建了一个本地的 PLC 仿真环境,并通过 KEPServerEX6 读取 PLC 上的数据,最后还使用 UAExpert 作为 OPC 客户端完成从 KEPServerEX6 这个OPC服务器的数据读取与订阅功能:SpringBoot集成Milo库实现OPC UA客户端:连接…

新一代信息技术赋能,安科瑞搭建智慧水务体系的新思路

随着新时期治水方针的逐步落实,水利现代化、智能化建设已开启,物联网、图像识别、数字孪生等新技术的成熟,也为智慧水务体系的搭建提供了技术保障,新时代治水新思路正逐步得到落实。本文对智慧水务的总体架构与包含的建设内容进行…