- 博客(111)
- 资源 (2)
- 收藏
- 关注

原创 图像分类进阶:从基础到专业 (superior哥AI系列第10期)
哈喽,各位深度学习的探索者们!我是你们的老朋友superior哥 😎经过前面九篇文章的学习,相信大家对深度学习的基础概念、神经网络架构、以及训练部署都有了比较深入的理解。今天,我们要进入一个更加专业和实用的领域——图像分类进阶技术 🎯如果说之前我们学的是"能用",那么今天我们要学的就是"用好"!从解决实际业务问题的角度,深入探讨图像分类中的各种高级技术和实战技巧。图像分类进阶多标签分类细粒度分类类别不平衡处理模型评估优化实战项目多标签损失函数阈值选择策略标签依赖建模注意力机制特征金字塔局部-全局特征重采
2025-06-05 19:40:29
603
2

原创 superior哥AI系列第9期:高效训练与部署:从实验室到生产环境
嘿!小伙伴们!👋 欢迎来到superior哥AI系列第9期!经过前面8期的学习,你已经掌握了深度学习的核心技术。但是,!🎯 今天我们要解决一个关键问题:如何让你的AI模型从实验室走向真实世界?
2025-06-04 22:56:27
368

原创 superior哥深度学习系列(大纲)
🗺️ 完整知识图谱梳理🎯 不同应用场景的技术选型🔄 持续学习方法论📖 推荐学习资源🎊 学习历程回顾🏆 成果展示指南🔮 AI未来发展趋势🎯 个人发展建议。
2025-05-30 18:57:49
1095
1

原创 C++学习:六个月从基础到就业(导航目录)
这是我的C++学习之旅的开始。我将定期更新这个博客系列,分享我的学习进度和心得。如果你也在学习C++,欢迎一起交流讨论。在接下来的博客中,我将从C++基础语法回顾开始,逐步深入到更高级的主题!本博客系列将持续更新,每完成一个主题,我会在上面的目录中添加相应的链接。如果你有任何建议或问题,欢迎在评论区留言!
2025-03-22 19:51:02
1433
3
原创 目标检测实战:让AI“看见“并定位物体(superior哥AI系列第11期)
嘿,各位AI探索者们!我是你们的老朋友superior哥 😎在第10篇文章中,我们深入学习了图像分类的高级技术,让AI能够准确识别图像中的内容。但是,你有没有想过这样一个问题:AI能不能像人类一样,不仅知道图像里有什么,还能告诉我们这些东西在哪里? 🤔今天,我们就要进入计算机视觉的另一个重要领域——目标检测(Object Detection)!这是一个让AI从"识别"升级到"定位"的关键技术。想象一下这些场景:这些都离不开目标检测技术!今天我们就要从零开始,掌握从YOLO到最新算法的完整技术栈。目标检测
2025-06-05 19:41:28
895
1
原创 superior哥AI系列第8期:性能提升秘籍:从入门到精通
看看这个进阶菜单,保证让你从"调参侠"变成"优化大神":🛠️ 过拟合治疗方案:AI的"药方"📊 数据增强魔法:让少量数据发挥大作用🎨 图像数据增强:AI的"P图"技能📝 文本数据增强:AI的"改写"能力🔧 超参数调优艺术:找到模型的黄金配置🎯 超参数全景图:AI的"调音台"🔬 实践:智能超参数调优🏆 模型集成技巧:三个臭皮匠胜过诸葛亮🤝 集成学习原理🛠️ 实用集成方法🎮 实战案例:打造高性能图像分类器让我们把所有技巧综合起来,创建一个专业级的
2025-06-04 22:55:49
558
原创 superior哥AI系列第7期:模型训练与优化:让AI学得又快又好
看看这个训练大餐,保证让你从"训练小白"变成"优化大师":想象一下,你在教小朋友学数学:损失函数就是AI的"考试评分标准"! 它告诉模型:你的答案离正确答案有多远?当AI要做选择题时,我们用交叉熵损失:📈 回归问题:均方误差损失 (MSE)当AI要预测数值时,我们用均方误差:🎯 损失函数选择指南🚀 优化器大比拼:让AI学习的"引擎"🏃♂️ SGD:最经典的"慢跑者"🧠 Adam:聪明的"自适应跑者"🎯 优化器选择指南🛡️ 正则化技术:防止AI"死记硬背"🎭
2025-06-03 20:29:28
588
4
原创 superior哥AI系列第6期:Transformer注意力机制:AI界的“注意力革命“
把注意力机制想象成一个智能聚光灯# 🎭 舞台上的表演者(输入序列)performers = ["我", "喜欢", "在", "阳光", "明媚", "的", "春天", "踢", "足球"]# 🔦 聚光灯的选择(注意力权重)"我": 0.8, # 🔥 主角,重点关注!"喜欢": 0.7, # 🔥 关键动词"踢": 0.9, # 🔥 核心动作"足球": 0.9, # 🔥 目标对象"在": 0.1, # 💤 介词,不太重要"阳光": 0.3, # 💤 背景信息。
2025-06-03 20:27:13
862
1
原创 RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)
🧠 拥有记忆:能记住之前的信息,理解上下文🔄 处理变长序列:不限制输入长度,灵活应对⏰ 理解时间关系:掌握事件的先后顺序📝 自然语言友好:特别适合文本和语音处理。
2025-06-02 20:57:26
1273
6
原创 CNN卷积网络:让计算机拥有“火眼金睛“(superior哥AI系列第4期)
还记得我们上期学的全连接神经网络吗?它在处理文字、数字还行,但一遇到图片就"傻眼"了!为啥呢?想象一下,一张普通的手机照片(224×224像素,彩色)有多少个数字? 个像素值!如果用传统神经网络,第一层就有1000个神经元的话,需要多少个权重参数? 个参数!!!😱这就像用大炮打蚊子,太笨重了!图片是有"地图"的!眼睛在鼻子上方,嘴巴在鼻子下方,这些位置关系很重要。但传统神经网络要把2D图片拉成1D的长条(像把地图撕成纸条),位置信息就全乱了!传统神经网络有严重的"位置敏感症":这就像一个人,换个位置坐
2025-06-02 20:56:48
2113
6
原创 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)
🧠 模仿大脑:受生物神经元启发,但已经超越生物的局限📚 自动学习:不需要编程每个细节,从数据中自动学习模式🎯 广泛适用:从图像识别到语言翻译,几乎无所不能🚀 持续进化:每天都有新的技术突破。
2025-06-02 20:55:59
507
1
原创 深度学习必备数学基础:没有高数博士也能看懂的解析(superior哥AI系列第2期)
看完这篇文章,是不是发现数学其实挺有趣的?🧩 向量和矩阵:就是装数字的容器,用来存储和处理数据📈 导数和梯度:帮AI知道"往哪个方向调整能变得更好"🎲 概率和分布:让AI能处理不确定性,给出"可能性"而不是绝对答案不需要成为数学家,理解概念就够了重点是直觉理解,不是死记公式实践中学习,边做边理解。
2025-05-30 18:59:10
585
原创 深度学习初探:当机器开始思考(superior哥AI系列第1期)
如果你问一个专家什么是深度学习,他可能会甩给你一大串术语:“深度学习是机器学习的一个子领域,使用多层神经网络从数据中学习表示,通过反向传播算法优化网络参数…”🛑等等等等!这是人话吗?!深度学习就是教计算机像人类一样"看懂"世界,只不过它的学习方式比我们更"暴力"!🎯想象一下你3岁的时候,妈妈教你认识"猫咪"。她不会给你讲什么DNA结构或者生物分类,而是拿着一堆猫猫的照片,指着说:"宝贝,这是猫咪!"看得多了,你就能自己认出各种品种的猫了,哪怕是从没见过的加菲猫!🐱。
2025-05-30 18:58:40
1058
原创 C++学习:六个月从基础到就业——多线程编程:线程池实现
线程的创建和销毁是昂贵的操作,涉及到系统调用、内存分配和上下文切换等开销。频繁地创建和销毁线程会对应用程序性能产生显著影响,尤其在处理大量短期任务时。线程复用:预先创建线程并重复使用,避免频繁创建和销毁的开销控制并发度:限制并发线程数,防止系统资源耗尽任务管理:提供任务队列和调度机制,平衡工作负载异步处理:将任务提交与执行分离,提高响应性// 直接创建线程的方式++i) {// 模拟任务执行});t.join();// 使用线程池结果示意(实际代码稍后实现)
2025-05-22 16:36:21
860
1
原创 C++学习:六个月从基础到就业——多线程编程:并发容器与无锁编程
有时我们需要实现自定义的线程安全容器。node head;public :});} // 禁止复制和赋值 threadsafe_list(threadsafe_list const &) = delete;// 添加元素到链表头部 void push_front(T const & value) {
2025-05-22 16:31:55
976
原创 C++学习:六个月从基础到就业——多线程编程:Futures与异步任务
C++11的futures库为异步编程提供了更高层次的抽象,简化了多线程代码,减少了常见的同步错误。和如何协作传递异步结果std::async如何简化异步任务的创建和结果获取如何包装可调用对象,便于在线程间传递如何支持多个线程等待同一结果如何在异步任务中处理异常和超时实际应用中的最佳实践和常见陷阱C++20通过和停止标记进一步改进了异步编程模型,为任务取消和线程生命周期管理提供了更好的支持。掌握这些异步编程工具对构建高性能、可靠的多线程应用至关重要。
2025-05-21 13:47:03
1034
原创 C++学习:六个月从基础到就业——多线程编程:条件变量
条件变量是C++11中实现线程同步和通信的强大工具。总是与互斥量配合使用,保护共享状态使用谓词函数处理虚假唤醒先修改状态,再发送通知,避免丢失唤醒根据实际需求选择还是条件变量适用于生产者-消费者模式、线程池、屏障同步等多种并发场景。随着C++20引入信号量和锁存器,我们现在有了更丰富的同步工具选择。在下一篇文章中,我们将探讨和,它们为C++并发编程提供了基于任务的异步模型。这是我C++学习之旅系列的第五十六篇技术文章。查看完整系列目录了解更多内容。
2025-05-21 13:46:21
653
原创 C++学习:六个月从基础到就业——多线程编程:互斥量与锁
互斥量和锁是C++多线程同步的基础。合理使用std::mutex等工具,可以有效避免数据竞争和死锁问题。C++17/20引入的等进一步提升了并发性能和代码简洁性。在下一篇文章中,我们将继续学习条件变量(),它是实现线程间通信和同步的关键工具。这是我C++学习之旅系列的第五十五篇技术文章。查看完整系列目录了解更多内容。
2025-05-20 21:17:28
1052
原创 C++学习:六个月从基础到就业——多线程编程:std::thread基础
在这篇文章中,我们介绍了C++11的类及其基本用法,包括线程的创建、参数传递、生命周期管理以及常见问题。多线程编程是现代C++开发中不可或缺的一部分,掌握这些基础知识将为你构建高性能、响应迅速的应用程序奠定基础。线程创建与基本操作:使用创建线程,传递函数、函数对象或lambda表达式作为线程函数。参数传递:使用值传递、std::ref引用传递或移动语义传递参数到线程函数。线程管理:使用join()等待线程完成或detach()允许线程在后台运行。线程本地存储:使用关键字创建线程私有的变量。异常处理。
2025-05-20 16:54:05
2362
2
原创 解决即使安装了pageoffice网页还是无法跳转、点击按钮没有反应等问题
鉴于安全性的考虑,新版浏览器不支持pageoffice插件,因为其会在URL前加上"pageoffice://",不管是edge、360、谷歌都是如此(博主亲自测试)安装了pageoffice网页还是无法跳转、点击按钮没有反应。使用旧版浏览器即可解决此问题,
2025-05-19 18:26:39
375
原创 C++学习:六个月从基础到就业——C++20:模块(Modules)与其他特性
/ 在std命名空间特化formatter模板template<>// 解析格式说明符if (it!// 格式化值// 更复杂的格式化控制template<>if (it!return it;return 0;C++20的模块系统与其他新特性标志着C++语言的重大演进。模块系统彻底改变了代码组织方式,解决了长期困扰C++开发者的头文件问题。
2025-05-19 08:58:38
1439
原创 C++学习:六个月从基础到就业——C++20:范围(Ranges)进阶
视图类:实现范围接口的具体视图视图适配器:创建视图的函数对象适配器工厂:提供用户友好的接口// 步进视图 - 每隔n个元素取一个private:public:// 迭代器类实现// ... 迭代器实现细节 ...// 包含current_、end_指针和stride_步长// 实现operator++, operator*, operator==等// 适配器函数对象// 支持管道语法 range | views::stride(n)
2025-05-19 08:57:44
1669
原创 C++学习:六个月从基础到就业——C++20:范围(Ranges)基础
迭代器对耦合:必须同时提供起始和结束迭代器// 必须提供两个迭代器错误风险:容易传递不匹配的迭代器对// 潜在风险:传递了不匹配的迭代器对// 未定义行为组合算法困难:算法间组合需要中间容器,代码冗长// 筛选});// 转换});返回值不便:许多算法返回迭代器,需要检查合法性if (it!= v.end()) { // 必须检查是否有效// 使用*it} else {// 未找到在C++20中,范围(Range)是一个抽象概念,表示元素序列。
2025-05-18 17:06:04
1043
1
原创 C++学习:六个月从基础到就业——C++20:协程(Coroutines)
协程(Coroutine)是一种特殊的函数,能够在执行过程中暂停并保存当前状态,稍后再从暂停的位置继续执行。这种能力使协程成为处理异步操作的强大工具。可暂停执行:协程可以在指定点暂停执行,并让出控制权状态保存:暂停时,协程的执行状态(包括局部变量和执行位置)被保存可恢复执行:协程可以从上次暂停的位置恢复执行多入口多出口:与传统函数的"单入口单出口"不同,协程可以有多个出口(暂停点)和入口(恢复点)协程 generate_sequence() {yield 1;// 产生值1并暂停。
2025-05-18 11:27:15
835
1
原创 C++学习:六个月从基础到就业——C++20:概念(Concepts)
在C++20中,概念是编译时谓词,用于约束模板参数。template<参数列表>concept 概念名称 = 约束表达式;// 简单概念:检查类型是否是整数// 复合概念:检查类型是否是数值类型// 使用requires表达式的概念:检查类型是否可打印// 要求T可以被输出到流// 参数化概念:检查两个类型是否可进行某种操作{ t + u };// 要求T和U可以相加C++20引入的概念(Concepts)是现代C++最重要的特性之一,它彻底改变了我们编写和使用模板的方式。
2025-05-18 11:15:16
982
原创 C++学习:六个月从基础到就业——C++17:string_view与filesystem
C++17引入的库是基于Boost.Filesystem库的标准化版本,它提供了一套跨平台的文件系统操作接口。在C++17之前,C++标准库并没有提供直接操作文件系统的功能,开发者不得不依赖平台特定的API或第三方库。库定义在头文件中,包含在命名空间内。路径表示和操作:提供了类来表示和操作文件路径文件状态查询:检查文件是否存在、类型、大小等目录遍历:迭代目录内容文件操作:创建、删除、重命名文件等权限管理:查询和修改文件权限符号链接处理:创建和解析符号链接空间查询:检查磁盘空间信息。
2025-05-18 11:08:18
926
原创 C++学习:六个月从基础到就业——C++17:std::optional/variant/any
C++17引入了三个非常有用的工具类型:、和。这些类型为C++程序员提供了更安全、更灵活的数据处理方式,弥补了C++标准库中的一些长期存在的缺陷。这些工具可以帮助我们编写更加健壮和表达力更强的代码,避免许多常见的编程陷阱。提供了一种表示"可能存在或不存在的值"的方法,是处理可选数据的优雅解决方案。实现了类型安全的联合体,可以安全地存储多种可能类型中的一种。则提供了一种完全动态的类型擦除容器,可以存储任意类型的单个值。本文将深入探讨这三种类型的设计理念、用法、性能特性以及实际应用场景,帮助你充分利用这些强大工
2025-05-18 11:07:29
986
原创 C++学习:六个月从基础到就业——C++17:if/switch初始化语句
C++17引入的if和switch语句初始化表达式是一项看似简单但非常实用的语法改进。它解决了变量作用域控制的痛点,使代码更简洁、更安全,并与其他C++17特性(如结构化绑定)协同工作得非常好。精确控制变量作用域,减少变量泄漏和相关错误简化临时变量的管理,使代码更加清晰减少嵌套层次,使代码结构更加扁平与其他C++17特性无缝集成,增强语言的表达能力这个特性适用于许多实际场景,包括资源管理、错误处理、查找操作和临时变量控制等。在现代C++编程中,它已成为提高代码质量的重要工具。
2025-05-18 11:06:24
653
原创 C++学习:六个月从基础到就业——C++17:结构化绑定
设计为聚合类型(具有公有数据成员的类)提供和特化以及get<N>函数提供自定义的get<N>函数和相应的类型特性// 自定义复数类,私有成员private:public:// 友元get函数,用于结构化绑定// 为Complex类提供tuple_size特化template<>// 为Complex类提供tuple_element特化template<>template<>// 使用结构化绑定。
2025-05-18 11:04:56
916
原创 C++学习:六个月从基础到就业——C++11/14:其他语言特性
要使自定义类型支持范围for循环,需要提供begin()和end()private:int start;int end;// 实现迭代器接口...public:// 使用// 输出: 1 2 3 4 5// 距离字面量// 转换为米// 使用// 创建Distance对象// 字符串字面量// std::string,不是C风格字符串// 时间字面量// 复数字面量// 复数(3, 4)nullptr:提供类型安全的空指针字面量constexpr。
2025-05-18 10:59:40
1089
原创 C++学习:六个月从基础到就业——C++11/14:列表初始化
聚合初始化:用于满足聚合条件的类或结构体initializer_list构造函数:用于接受任意数量的同类型值// 简单的JSON值类public:private:Type type;public:// 构造函数// 数组构造函数// 对象构造函数// 访问方法// 转换为字符串break;break;break;break;oss << "[";break;oss << "{";
2025-05-17 21:15:20
1823
13
原创 C++学习:六个月从基础到就业——C++11/14:decltype关键字
decltype关键字是C++11中引入的强大类型推导工具,它允许我们在不实际计算表达式的情况下获取表达式的精确类型。与auto不同,decltype能够保留引用、const和volatile限定符,使其特别适合用于泛型编程和模板元编程。C++14引入的则进一步简化了类型推导,特别是在需要完美转发和保留表达式精确类型的场景下,极大地提高了代码的灵活性和表达力。要有效使用decltype和,需要理解它们的类型推导规则,特别是对标识符、括号表达式和左值表达式的处理。同时,应当避免在过于复杂的表达式上使用。
2025-05-17 21:13:57
1473
14
原创 C++学习:六个月从基础到就业——C++11/14:auto类型推导
auto关键字是现代C++中简化代码、提高可读性和维护性的重要工具。它通过自动类型推导,消除了手动编写复杂类型的需要,适合用于迭代器声明、lambda表达式存储、复杂类型处理等场景。C++14进一步扩展了auto的应用范围,使其可用于函数返回类型推导和lambda参数,让C++代码更加灵活和表达力强。要有效使用auto,需要理解其类型推导规则,包括如何处理引用、const修饰符、数组和函数衰减等特性。同时,应当在代码清晰性和简洁性之间找到平衡,避免过度使用导致代码难以理解。
2025-05-17 21:09:26
862
原创 C++学习:六个月从基础到就业——C++11/14:lambda表达式
/ 简单的整数序列生成器// 斐波那契序列生成器a = b;// 使用整数生成器// 生成1, 3, 5, 7, ...i < 5;++i) {// 使用斐波那契生成器// 生成0, 1, 1, 2, 3, 5, ...i < 10;++i) {// 生成器与STL算法结合// 生成0, 5, 10, 15, ...return 0;
2025-05-17 21:06:56
1047
原创 C++学习:六个月从基础到就业——C++11/14:lambda表达式
/ 简单的整数序列生成器// 斐波那契序列生成器a = b;// 使用整数生成器// 生成1, 3, 5, 7, ...i < 5;++i) {// 使用斐波那契生成器// 生成0, 1, 1, 2, 3, 5, ...i < 10;++i) {// 生成器与STL算法结合// 生成0, 5, 10, 15, ...return 0;
2025-05-04 22:46:02
1152
1
原创 C++学习:六个月从基础到就业——C++11/14:右值引用与移动语义
右值引用和移动语义是现代C++中最重要的优化技术之一,它们通过减少不必要的对象复制,大幅提高了程序的性能,特别是在处理大型数据结构时。提高性能:通过"窃取"资源而不是复制,减少内存分配和数据复制更高效的标准库:标准容器和算法通过移动语义获得显著性能提升表达能力增强:能够明确区分对象的"移动"和"复制"语义为管理资源的类实现移动操作理解并正确使用std::move和遵循移动语义的最佳实践使用智能指针和标准库容器自动受益于移动语义。
2025-05-04 22:45:13
1168
原创 我的创作纪念日
说来惭愧,我自身比较随性,最初写博客纯粹是为了逼自己一把,让自己坚持学习一下当时大火的python,当然现在也很火热。随着学习的深入,特别是接触到C++这门既强大又复杂的语言后,我意识到仅仅为自己记录是远远不够的。这个决定改变了我的创作方向:从简单的学习笔记,转变为系统化、结构化的技术教程。那天,作为一名大学生,我在学习编程的路上迈出了一小步,却也是最关键的第一步。回望这段旅程,我深感技术写作给我带来的改变——它不仅锻炼了我的表达能力,更让我的技术理解达到了新的高度。正如那句古话所说:“教是最好的学”。
2025-04-30 11:30:34
218
1
原创 C++学习:六个月从基础到就业——异常处理:机制与最佳实践
在实际项目中,标准异常可能无法满足所有需求,我们经常需要创建自定义异常类。一个好的做法是从// 自定义异常基类public:// 特定类型的异常private:public:private:public:// 使用异常try {try {// 例如,在特定错误码的情况下重新抛出异常return 0;异常处理是C++中处理错误的强大机制,但需要谨慎使用才能充分发挥其优势。基础机制:理解try-catch-throw语法和栈展开过程。
2025-04-29 13:12:23
809
1
原创 C++学习:六个月从基础到就业——模板编程:模板元编程基础
模板元编程是一种编程范式,它利用C++模板系统在编译期进行计算和类型操作。通过模板实例化和特化机制,我们可以创建在编译时执行的"程序",而不是在运行时执行的传统程序。使用类型作为值使用模板特化作为条件语句使用递归模板实例化作为循环使用模板实例化作为函数调用虽然这种编程方式看起来非常不同,但它可以实现与传统编程相同的计算功能,只不过是在编译时进行的。模板元编程是C++中一种独特而强大的编程范式,它允许我们在编译期进行计算和类型操作,从而实现零运行时开销的抽象和优化。
2025-04-29 12:15:31
1123
原创 C++学习:六个月从基础到就业——模板编程:SFINAE原则
SFINAE是"Substitution Failure Is Not An Error"(替换失败不是错误)的缩写,它是C++模板实例化过程中的一个基本原则。简单来说,当编译器尝试用具体类型替换模板参数时,如果替换导致了无效的代码(例如,使用了不存在的类型成员或无效的运算),编译器不会立即报错,而是简单地将该模板从重载解析的候选集中移除。这一原则允许我们编写基于类型特性的条件模板代码。例如,我们可以为具有特定成员函数的类型提供一个版本的函数,为其他类型提供另一个版本。// 这个版本只对整数类型有效。
2025-04-28 11:50:38
1634
2
YOLOv8基于视频的帧图像识别与目标检测实战:从项目文件结构开始到多场景应用的解析(包括完整代码、识别前和识别完的视频)
2025-03-09
基于python的实验,共有六个,学习的书籍是python程序设计基础
2025-03-13
Esp32 for Arduino2.0.7支持文件 Windows win10 64位
2023-03-16
zotero参考文献格式:GB/T 7714-2015,顺序编码,双语,姓名不大写,无 URL、DOI,引注有页码
2025-03-09
基于51单片机的串口主从机通信,能够在L1602液晶屏幕上实时显示电流并监测电压(包括proteus8仿真keil工程文件)
2023-05-15
基于51单片机的超声波油量距离检测报警系统(附带proteus仿真+keil工程代码)
2023-05-03
基于STM32F103R6的HAL库开发的十字路口交通灯设计(附带proteus仿真+keil工程代码)
2023-05-03
美国King County房价预测训练赛 机器学习 KingCounty房屋销售价格以及房屋的基本信息 模型训练
2022-05-10
torchvision MNIST手写数字图像数据集
2022-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人