- 博客(29)
- 收藏
- 关注
原创 c++网络编程,信号透传可能是什么意思
在 C++ 网络编程中,**信号透传**(Signal Pass-Through)通常 refers to the concept of allowing signals to propagate through a network protocol stack without being interrupted or modified. 具体来说,信号透传可以涉及到几个方面,尤其在使用网络套接字(socket)时。信号透传在网络编程中是一个复杂而重要的概念,特别是在实时通信和信号处理的场景中。
2025-04-05 13:13:29
90
原创 设计模式111
先找到对象如把大象装进冰箱,如果分三步,就是面向过程如果是让冰箱对象把门打开,大象对象进入到冰箱内部,冰箱对象再把冰箱门关上所以对象其实就是类的实例具有相同特征或者特点的一类事物,抽象成一个类如果想要进行面向对象的编程,在处理一个需求时,需要把对应的属性或者是行为全部摘出来。
2025-04-03 13:46:19
1028
1
原创 C++ 中的 **CRTP
C++ 中的 **CRTP(Curiously Recurring Template Pattern,奇异递归模板模式)** 是一种通过模板继承实现**静态多态**的技术。| **特性** | **CRTP(静态多态)** | **动态多态(虚函数)** || **灵活性** | 编译期绑定,类型固定 | 运行时动态绑定,类型可变 |• **示例**:向量运算中,基类通过 CRTP 调用派生类的运算符重载,实现高效的静态多态。
2025-04-02 22:27:52
546
原创 mutex是什么?什么是原子操作和原子变量?
原子操作 `std::atomic` 是 C++ 中处理多线程并发问题的核心工具之一,它的核心作用是让对变量的操作**不可分割**,避免多个线程同时修改同一变量时出现数据混乱。mutex全称**mutual exclusion(互斥锁)**,可以理解为**公共厕所的门锁**。它的核心作用是**防止数据竞争**。| **特性** | **原子操作** | **互斥锁** |因此**必须成对使用lock/unlock**。
2025-04-02 20:24:26
876
原创 懒汉模式解决多线程线程安全问题
**方法** | **优点** | **缺点** | **适用场景** || **推荐指数** | ★★★☆ | ★★★★ | ★★★★★ |if (instance == nullptr) { // 第二次检查(加锁后确认)
2025-03-31 18:00:30
621
原创 构造函数和操作符的作用
**操作** | **函数形式** | **调用时机** | **核心作用** || 移动构造 | `Car(Car&&)` | `Car obj2 = std::move(obj1)`| 转移资源(高效) |- **形式**:`Car& operator=(const Car& other)`- **创建对象时的初始化**:当你不提供任何参数创建对象时,自动调用。
2025-03-31 10:27:07
284
原创 Qt开发学习路线
窗口类(`QWidget`/`QMainWindow`)、按钮(`QPushButton`)、布局管理器(`QHBoxLayout`/`QVBoxLayout`)。- STL容器(`vector`/`map`)、智能指针(`shared_ptr`/`unique_ptr`)。- 功能:通过串口(`QSerialPort`)与硬件通信,实时显示传感器数据(折线图用`QChart`)。- 多线程:`QThread`与`std::thread`的区别、线程同步(`QMutex`)。
2025-03-11 14:55:24
335
原创 !C++中的位运算
`>>` | 右移 | 右移指定位数,左侧补符号位(有符号数)或0(无符号数) | `a >> 2` || `\|` | 按位或 | 任意一位为1时结果为1 | `a \| b` || `~` | 按位取反 | 所有位翻转(0变1,1变0) | `~a` || `&` | 按位与 | 只有两个位都为1时结果为1 | `a & b` |// 二进制11111000(假设8位)
2025-03-10 21:40:23
343
原创 从c到c++
**阶段** | **核心内容** | **实践项目** || 入门 | 类/继承/多态/STL容器 | 图书管理系统 || 精通 | 元编程/并发编程/C++20特性 | 线程池框架开发 |// C++17折叠表达式。
2025-02-28 09:54:10
369
原创 大学生找实习
数组、链表、栈/队列、哈希表、树(二叉树、AVL、红黑树)、图、堆;:Java(JVM、集合框架、并发编程)、Python(装饰器、生成器)、C++(内存管理、STL)、JavaScript(事件循环、闭包)37。:SQL语法(JOIN、子查询)、索引原理(B+树)、事务ACID特性、隔离级别、锁机制(行锁/表锁)、慢查询优化59。:进程与线程、死锁、内存管理(分页/分段)、文件系统、I/O模型(同步/异步、阻塞/非阻塞)79。版本控制:Git(熟悉Rebase、Cherry-pick等高级操作)10。
2025-02-13 15:33:00
665
原创 Positive-Unlabeled Learning(PU Learning)详解——当数据中只有“已知正类”和“未知标签”时,如何高效分类?
解决了传统分类中负样本缺失的难题。通过**自助采样(Bootstrap)**生成多个训练集:每次从正样本和未标记样本中随机抽取等量样本作为正负类,训练多个基分类器,最终以平均预测概率作为结果。:从正样本中随机选一部分(如15%)作为“间谍样本”混入未标记集,训练分类器后,将预测概率低于间谍样本最小值的未标记样本视为RN413。:通过挖掘未标记样本中的隐藏信息(如可靠负样本),结合正样本训练分类器,兼顾效率与准确性14。:用户点击的条目是正样本,未点击的条目未必是负样本(可能未被曝光)113。
2025-02-13 14:00:25
651
原创 【无标题】TensorFlow、PyTorch、ONNX、TensorRT
在Linux上推理模型的步骤通常取决于您所使用的深度学习框架(如 TensorFlow、PyTorch、ONNX、TensorRT等),以及您所使用的模型类型。outputs = ort_session.run(None, {'input': input_array}) # 'input' 是模型的输入名称。将训练好的模型文件(如 `.pth`、`.h5` 或 `.onnx` 格式)下载到您的Linux系统上。image = image.resize((224, 224)) # 根据模型需求调整尺寸。
2025-01-24 23:40:13
760
原创 “推理”(Inference)在深度学习和机器学习的语境
这通常是通过模型调用的方式实现。1. **加载模型**:首先需要加载一个已经训练好的模型,这个模型通常是在某个训练集上经过多轮迭代优化得来的。- **处理新图像**:获取一张新的待分类图像,将其调整大小、归一化等处理,使其符合输入格式的要求。4. **处理输出结果**:根据模型的输出结果进行后续处理,例如分类标签的确定、数值的解释和使用等。- **进行推理**:将处理后的图像输入到模型中,模型输出对应的类别概率或分类标签。- **训练阶段**:在大量标注好的图像上训练模型,使得模型能够识别不同的图像类别。
2025-01-22 23:25:07
464
原创 maskformer
最核心的组件叫maskattation,提取一些局部特征,在限制cross-attation基础上(减少计算量,减少显存,只关注前景(由query做预测))得到预测的mask regions。先粗略估计一下,哪里不是背景是要关注的。2.标准transformer decoder(mask2former做了替换),去计算从图像当中的特征去看看当前n个工人该怎么去配对。每一个工人都是关注自己要关注的,都是对整个图像做一个二分类任务,判断是不是自己要的。两个损失:一个是mask损失,相当于位置,一个是分类损失。
2024-12-15 15:59:29
217
原创 RT-DETR
不确定性最小化的查询选择策略:传统DETR中目标的查询,初始化是一个难以优化的步骤,之前的做法通常是根据分类的得分来选取最好的特征来作为初始的query,创新提供了一个更加精细化的方式,不仅考虑了分类得分还考虑了对于目标位置预测的置信度。bottleneck是瓶颈的意思,通常指的是网网络输入的数据维度和输出的维度不同,输出的维度比输入的小了许多,就像脖子一样,变细了。经常设置的参数 bottle_num=256,指的是网络输出的数据的维度是256 ,可是输入进来的可能是1024维度的。
2024-12-15 10:43:04
290
原创 论文笔记!
对抗样本攻击是对抗攻击中应用最广泛的方法之一,因其轻量和搞笑的特性。对抗样本攻击的核心思想是在原始图像上生成人工扰动重叠,以获得新的输入。这种扰动大多基于网络的梯度。例如,我们从目标检测网络训练得到的检测器应该对基于梯度的过程具有合理的敏感性。对抗扰动是对抗样本的主要元素,通常由网络的梯度生成。创建该扰动是为了欺骗网络输出错误的预测。白盒攻击是一系列掌握网络细节(包括模型内部参数)的攻击。黑盒攻击不具备网络的信息,并且总是使用其他白盒攻击的梯度估计或可转移性。通常,对于目标检测任务,存在。
2024-09-19 21:32:24
802
1
原创 工业缺陷检测深度学习方法综述
异常:点异常、 上下文异常和集群异常。点异常:又称为离群值 (outliers)[9], 描述数值上偏离正 常样本的独立数据。与异常相近的概念还包括新颖点(novelty)和分布外数据。上下文异常:同样描述数据点,其数值属于正常范围,但不符合局部上下文规律。集群异常:描述一系列相关数据的集合,集合中的每一个实例的数值在单独考察时都处于正常值域,但集 合整体的相关性特征不服从正常模式。一般的图像异常检测往往仅需区分正常与异常样本,而工业缺陷检测更关注于检测 图像中的异常像素.
2024-09-16 15:36:57
1118
原创 面向深度学习的对抗攻击技术介绍
深度学习方法在人脸验证,图像分类等多种赛道上获得了超越人类的优异表现。但该方法简单地假设模型地预测环境和训练环境的样本独立同分布,但在安全敏感领域,存在着巨大的安全性风险。当我们改变测试图像的分布的时候,也就是生成对抗图像的时候,就可以去改变这个模型的分类结果,达到一个攻击的效果。对抗攻击:通过修改输入数据,使得机器学习模型的输出产生误判或误判率增加的行为。这些修改可以是非常微小的,以至于人类无法察觉到,但对机器学习模型的影响却非常大。对抗攻击广泛存在:定位,目标检测,实例分割,自然语言处理等任务中。
2024-09-11 16:14:14
252
原创 Adversarial examples based on object detection tasks: A survey》论文阅读笔记
这是一篇关于目标检测任务中对抗样本攻击的综述论文。文章介绍了深度学习在计算机中的应用,以及对抗样本攻击的相关概念和方法,其中重点讨论了目标检测任务中基于分类和回归的对抗样本攻击,并对其他相关攻击方法进行了总结,最后得出结论并展望未来研究方向。
2024-09-11 10:08:38
1319
1
原创 从0设计并训练一个神经网络
以下使用手写数字识别如何涉及,实现并训练一个标准的前馈神经网络我们涉及并训练一个三层的神经网络,以数字图像作为输入,经过神经网络的计算就会识别图像中的数字是几,从而实现数字图像的分类。
2024-07-21 13:42:53
708
原创 零基础,快速学YOLO目标检查算法(YOLO—v1,2,3快速学习)
1.two-stage(两阶段):Faster-rcnn Mask-Rcnn系列,先有预选,预选完之后再通过预选得到最终结果。速度通常较慢,但效果不错2.one-stage(单阶段):YOLO系列,普通回归任务。最核心的优势,速度非常快,适合做实时检测任务,但效果通常情况不会太好。
2024-07-20 12:50:46
1441
原创 完全小白如何快速开启目标检测学习
博主是一名准大二学生,在大一暑假在学校找到一位导师准备加入他的实验室,在过去的十几天里,博主从完全小白到摸上一点点门路,以下是博主建议的初步学习路径。
2024-07-19 22:57:16
475
原创 卷积神经网络CNN从入门到实战
计算机视觉,简称CV卷积神经网络主要应用于计算机视觉任务中深度学习大大减少了计算机视觉邻域的错误率卷积神经网络应用:一些传统计算机视觉任务或者以后出现的计算机视觉任务,如:图像的检测和追踪,分类和检索,超分辨重构,医学任务,无人驾驶卷积神经网络:特征提取核心点:怎么样进行特征提取传统神经网络问题:权重参数矩阵大,花费训练时间多,而且过拟合风险大卷积神经网络无非就是做卷积,做全连接,做各种运算卷积神经网络与传统网络的区别:传统神经网络先把数据拉成一个向量,而卷积神经网络直接对图像数据进行特征提取输入层卷积层(
2024-07-18 23:18:49
612
原创 机器学习基础知识
机器学习经典定义:利用经验改善系统自身的性能经验以数据的形式存在于计算机系统,机器学习要去利用经验,就必须要对数据进行分析。机器学习现在主要是在研究只能数据分析的理论和方法。大数据经过智能数据分析(机器学习)才有大价值。关于结果的东西叫作类别标记(label,标签)。训练数据经过训练过程得到一个模型。研究的核心是学习算法,而学习算法会直接导致你会获得什么样的模型。算法针对什么样的数据是有效的,这样的数据需要满足什么样的特点,而它产生的模型又是在什么情况下有效,这样的模型本身又具有什么样的特点。
2024-07-17 16:52:30
416
原创 小白入手Pytorch深度学习(b站视频学习笔记)
人工神经网络,简称神经网络,模仿生物神经网络的结构和功能的数学模型,用与对函数进行估计或近似。(应用例如机器视觉和语言识别)每次迭代都需要把所有样本都送入,这样的好处是每次迭代都顾及了全部的样本,做的是全局最优化在torch中提供了数据集的基类torch.utils.data.Dataset,继承这个基类,我们能够非常快速的实现对数据的加载可知,我们需要在自定义的数据集类中继承Dstaset类,同时还需要实现两个方法:1.__len__方法,能够实现通过全局的len()方法获取其中的元素个数。
2024-07-16 15:58:20
1480
原创 Python 类和对象
成功调用了初始化函数,初始化函数也可以加参数。类:对象的模板,再根据模板创造出对象来。对象:一个一个的个体,实实在在的东西。想要对象拥有name属性就得改为。这就简单创建了一个类。2.根据类来创建对象。
2024-07-11 17:41:34
220
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人