计算机视觉入门与调优

news2024/11/28 10:56:33

大家好啊,我是董董灿。

在 CSDN 上写文章写了有一段时间了,期间不少小伙伴私信我,咨询如何自学入门AI,或者咨询一些AI算法。

90%的问题我都回复了,但有时确实因为太忙,没顾得过来。

在这个过程中,我发现很多小伙伴问的问题都类似:比如如何入门计算机视觉,某某算法是做什么的,有什么作用。

图片

之前写的文章由于过于分散,不成体系,很多知识点没有串联起来。

于是我做了个合集,计划系统的从传统计算机视觉,到基于深度学习的计算机视觉走一遍。

然后依托Resnet50这一经典图像分类网络,将涉及到的算法都剖析和实现一遍,最后亲自完成该神经网络的搭建,并带你完成任意图像的识别。

专栏计划更新目录大纲为(高亮部分是已经写完的)

我所理解的计算机视觉

基础背景知识

  1. 图片和像素

  2. 灰度图

  3. 彩色 RGB 以及通道

  4. 彩色YUV

  5. OpenCV 介绍、环境搭建及一个实战完成YUV的分量提取

传统计算机视觉初探

  1. 传统CV之均值滤波

  2. 传统CV之高斯滤波

  3. 传统CV之高斯滤波实战

  4. 传统CV之边缘检测

  5. 传统CV之图像分割(大津算法)

  6. 传统CV之利用大津算法实战完成图像分割

深度学习基础

  1. 机器学习和深度学习的关系

  2. 深度学习之神经网络

  3. 深度学习之训练和推理

  4. 深度学习之正向传播和反向传播

  5. 深度学习之损失函数

  6. 推理的性能,那些框架存在的意义

  7. 深度学习实战——完成一个模型的训练和推理

图片分类模型 - Resnet50

  1. 什么是 Resnet50 神经网络?

  2. Resnet 神经网络为什么这么重要?

  3. Resnet 中共包含哪些算法?

  4. 卷积 - 为什么是卷积?

  5. 卷积 - 什么是卷积的 Feature Map?

  6. 卷积 - 到底什么是感受野?

  7. 卷积 - 矩阵乘法的本质

  8. 卷积 - 实际上是一个特征提取器

  9. 卷积 - 卷积特征的可视化和一个神奇的网站

  10. 卷积 - 卷积的基础公式

  11. 卷积参数 - padding 的作用

  12. 卷积参数 - stride 的作用

  13. 卷积参数 - dilation 的作用以及什么是空洞卷积

  14. 卷积参数 - 长宽方向的公式推导

  15. 变种卷积 - 分组卷积

  16. 实战 - 手写一个基础卷积算法

  17. 卷积 - 算法总结

  18. 池化 - 什么是池化算法

  19. 池化 - 池化与卷积的区别

  20. 池化 - 池化的特征不变性

  21. 池化 - 平均池化和全局平均池化

  22. 实战 - 手写一个最大池化函数

  23. BatchNorm - 什么是批归一化以及它解决了什么问题

  24. BatchNorm - 经典面试题:训练和推理中的批归一化有什么不一样

  25. 实战 - 手写一个BatchNorm 算法

  26. BatchNorm 为什么可以和卷积融合?

  27. 激活函数 - 非线性的重要性

  28. 激活函数 - relu

  29. 激活函数 - sigmoid

  30. 激活函数 - 梯度消失和梯度爆炸

  31. Resnet - 残差结构和它的作用

  32. 实战 - 利用 conv + bn + relu + add 手写一个残差结构

  33. 全连接 - 特征的全局融合

  34. 全连接 - 特征与样本空间的对应关系

  35. 实战 - 手写一个全连接算法

  36. Softmax 分类器以及它的底层原理

  37. 损失函数和softmax

  38. Resnet 中的下采样

模型实战

  1. python 环境搭建

  2. resnet50 模型下载

  3. resnet50 权值和参数保存

  4. resnet50 权值和参数加载

  5. python - 手写卷积、bn、池化、全连接、激活、ResBlock

  6. python - 全手写搭建 resnet50 神经网络

  7. 图片预处理:Resize and Crop

  8. 图片预处理:Normalize

  9. python - 利用手写的网络,成功预测一张图片

  10. python - 代码仓库介绍

  11. AI 模型性能评估指标:吞吐和延时

  12. python - 第一版手写代码性能评估

  13. python - 利用向量内积来优化卷积运算

  14. C++ 环境搭建和一些库的安装

  15. C++ 代码格式规范的一个工具使用

  16. C++ 仓库目录结构介绍

  17. C++ 编译,运行介绍

  18. C++ - 手写卷积、池化、bn、全连接、relu等算法

  19. C++ - 手写 BottleNeck 结构,搭建resnet50 神经网络

  20. C++ - 预测图片数据集介绍

  21. C++ - 图片预处理介绍

  22. C++ - 完成一张图片的推理,top1和 top5 的准确度验证

  23. C++ - 性能评估:Latency 和 FPS 介绍

模型性能优化1 - AVX2 向量指令集

  1. 什么是计算向量化

  2. avx2 向量指令集介绍

  3. avx2 向量寄存器介绍

  4. avx2 数据 load/store 向量化操作介绍

  5. avx2 向量实现乘累加

  6. 利用 avx2 向量指令集优化卷积运算

  7. 评估优化前后的性能差距

模型性能优化2 - 权值预加载

  1. 计算机基础 - 计算数据流加载(IO)

  2. 为什么要做权值预加载

  3. 手写的模型如何模拟权值预加载

  4. 权值预加载实现,评估优化前后的性能差距

模型性能优化3 - 内存操作的移除

  1. 操作系统:内存的申请机制介绍

  2. 系统负载:频繁申请内存的影响

  3. 如何移除推理 routie 上的内存操作

  4. 移除内存操作前后的性能评估

模型性能优化4 - 代码生成

  1. 什么是代码生成

  2. 代码生成一般都是怎么做的

  3. 代码生成有什么好处,为什么性能会更好

  4. 手写的模型如何模拟代码生成

  5. 将所有算子替换成代码生成逻辑

  6. JIT 编译介绍

  7. 如何在代码中加载动态库

  8. 如何从动态库中获取到函数符号

  9. 利用代码生成的逻辑优化手写的神经网络性能

  10. 优化前后性能评估

我自从转行来做AI,有不少启发,可以查看:我是如何转行 AI 并且实现薪资翻倍的。

上面的内容适合想入门计算机视觉同学,或者已经有一些基础但是想提高自己的同学,还有就是想学习神经网络性能优化的同学。

上面的知识点我都全程答疑,并且可深度链接作者,咨询算法问题。

所有代码我会亲自编写,确保可以完全实操起来,并且理解为什么可以这么做。

做这个文章和代码实战合集,其实也是对我的一种锻炼和知识积累,如果你想入门学习AI视觉,想提高自己的同学,欢迎一起学习,我们一起冲吧。

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

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

相关文章

金和OA jc6 ntko-upload 任意文件上传漏洞

产品简介 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统升开发平台,电子政务一体化平台智慧电商平合等服务 漏洞概述 金和OA jc6系统ntkoUpload接口处存在任意文件上传漏洞&#xf…

day06、SQL语言之概述

SQl 语言之概述 6.1 SQL语言概述6.2 SQL语言之DDL定义数据库6.3 SQL语言之DML操纵数据库 6.1 SQL语言概述 6.2 SQL语言之DDL定义数据库 6.3 SQL语言之DML操纵数据库

python学完之后可以做什么,python学完可以做什么

大家好,小编来为大家解答以下问题,python学完可以做哪些工作,python学完之后可以做什么,今天让我们一起来看看吧! Python是一种全栈的开发语言,你如果能学好Python,前端,后端&#x…

第十四章 14.2案例:使用KVM命令集管理虚拟机

查看命令帮助 [rootLinux01 ~]# virsh -h—————————————————————————————————————————— 查看KVM的配置文件存放目录〈test01 , xml是虚拟机系统实例的配置文件) [rootLinux01 ~]# ls /etc/libvirt/qemu —————————————…

[一文详解]Base64编码,Url Base64编码,UrlEncode编码,你还傻傻分不清吗?

base64编码 由来 Base64算法最早应用于解决电子邮件传输问题,在早期,电子邮件只支持ASCII码字符。 而ASCII码其长度为1个字节,是7位编码,最高位是0,是有符号字符型数。 如果要传输一封带有非ASCII码字符的电子邮件&#xff0c…

干洗机,将对相关行业带来巨大的发展机遇

干洗机是一种高效、节能、环保的清洗设备,广泛应用于干洗店、酒店、医疗机构、工厂等领域。全球市场 全球市场上,干洗机的市场规模和应用范围不断扩大。根据市场研究机构的数据,2019年全球干洗机市场规模约为80亿美元左右,年复合增…

2023年终总结,被裁员

在一个睡意朦胧的早上,我被闹钟惊醒,原来今天已经是2024年1月1日了,2023年平平无奇的结束了,唯一让我感触波深的事情是我在二月份的裁员名单里面。2024加油!!! 工作上的总结 回顾2023&#xf…

LLM Agent之再谈RAG的召回信息密度和质量

话接上文的召回多样性优化,多路索引的召回方案可以提供更多的潜在候选内容。但候选越多,如何对这些内容进行筛选和排序就变得更加重要。这一章我们唠唠召回的信息密度和质量。同样参考经典搜索和推荐框架,这一章对应排序重排环节,…

听GPT 讲Rust源代码--compiler(8)

File: rust/compiler/rustc_trait_selection/src/solve/weak_types.rs 在Rust编译器的源代码中,rust/compiler/rustc_trait_selection/src/solve/weak_types.rs文件的作用是处理弱类型化解决方案。 在编译器中,当我们在代码中使用一个未经完全指定的泛型…

javascript 常见工具函数(二)

11.数组等分切片&#xff1a; this.newMapList []; for (var i 0; i < this.mapDataList.length; i 2) {this.newMapList.push(this.mapDataList.slice(i, i 2)); } 12.js做奇偶判断&#xff1a; if (this.mapDataList.length ! 0) {this.mapDataList.length % 2 0 ?…

python包chromadb安装失败总结

1&#xff0c;背景&#xff1a; 最近在学习langchain的课程&#xff0c;里面创建自己的知识库的Retrieval模块中&#xff0c;需要用到向量数据库。 所以按照官方的教程&#xff08;vectorstores&#xff09;&#xff0c;准备使用chroma的向量数据库。图片来源 2&#xff0c;问…

14.两数之和

题目 class Solution {public int[] twoSum(int[] nums, int target) {int[] ret {-1,-1};for(int i0;i<nums.length;i) {for(int ji1;j<nums.length;j) {if(nums[i] nums[j] target) {ret[0] i;ret[1] j;}}}return ret;} }

java实现大文件分片上传

背景&#xff1a; 公司后台管理系统有个需求&#xff0c;需要上传体积比较大的文件&#xff1a;500M&#xff0d;1024M&#xff1b;此时普通的文件上传显然有些吃力了&#xff0c;加上我司服务器配置本就不高&#xff0c;带宽也不大&#xff0c;所以必须考虑多线程异步上传来提…

Flink 维表关联方案

Flink 维表关联方案 1、Flink DataStream 关联维表 1&#xff09;概述 1.分类 实时数据库查找关联&#xff08;Per-Record Reference Data Lookup&#xff09; 预加载维表关联&#xff08;Pre-Loading of Reference Data&#xff09; 维表变更日志关联&#xff08;Refere…

SpringBoot从配置文件中获取属性的方法

方式一&#xff1a;Value 基本类型属性注入&#xff0c;直接在字段上添加Value("\${xxx.xxx}")即可&#xff0e;注意这里用的是$&#xff0c;而不是&#xff03;&#xff0c;Value注入的属性&#xff0c;一般其他属性没有关联关系。 配置文件 user:name: Manaphya…

代码随想录算法训练营day6|242.有效的字母异位词、349.两个数组的交集、202.快乐数

哈希表理论基础 建议&#xff1a;大家要了解哈希表的内部实现原理&#xff0c;哈希函数&#xff0c;哈希碰撞&#xff0c;以及常见哈希表的区别&#xff0c;数组&#xff0c;set 和map。 什么时候想到用哈希法&#xff0c;当我们遇到了要快速判断一个元素是否出现集合里的时…

C#用StringBuilder高效处理字符串

目录 一、背景 二、使用StringBuilder便捷、高效地操作字符串 三、实例 1.源码 2.生成效果 四、实例中知识点 1.StringBuilder类 一、背景 符串是不可改变的对象&#xff0c;字符串在创建以后&#xff0c;就不会被改变&#xff0c;当使用字符串对象的Replace、split或Re…

提供电商Api接口-100种接口,淘宝,1688,抖音商品详情数据安全,稳定,支持高并发

Java是一种高级编程语言&#xff0c;由Sun Microsystems公司于1995年推出&#xff0c;现在属于Oracle公司开发和维护。Java以平台无关性、面向对象、安全性、可移植性和高性能著称&#xff0c;广泛用于桌面应用程序、嵌入式系统、企业级服务、Android移动应用程序等。 接口是Ja…

JS运行机制、Event Loop

1、JS运行机制 JS最大的特点就是单线程&#xff0c;所以他同一时间只能做一件事情。使单线程不阻塞&#xff0c;就是事件循环。 在JS当中分为两种任务&#xff1a; 同步任务&#xff1a;立即执行的任务&#xff0c;一般放在主线程中&#xff08;主执行栈&#xff09;。异步任…

Python消消乐小游戏(PyGame)

文章目录 写在前面喜羊羊与灰太狼PyGame入门消消乐注意事项写在后面 写在前面 本期内容&#xff1a;基于pygame实现喜羊羊与灰太狼版消消乐小游戏 实验环境 python3.11及以上pycharmpygame 安装pygame的命令&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.c…