- 博客(123)
- 资源 (2)
- 收藏
- 关注
原创 机器学习模型:逻辑回归、决策树、随机森林和 XGBoost
摘要:本文探讨了四种机器学习模型(逻辑回归、决策树、随机森林、XGBoost)在学校足球队员选拔中的应用。逻辑回归适合线性可分数据,决策树直观但易过拟合,随机森林通过多树集成提高稳定性,XGBoost则通过顺序构建优化精度。文章详细比较了这些模型的原理、结构和实现过程,并指出随机森林与XGBoost的关键差异在于训练方式(并行vs顺序)和过拟合控制方法(随机性vs正则化)。模型选择需综合考虑数据特征、精度需求和计算资源,为体育人才选拔提供智能化解决方案。
2025-05-30 10:15:00
412
原创 程序调试实战:正向追踪与逆向回溯的巧妙应用
摘要:在图像与点云处理项目中遇到测量数据不准确的问题时,采用正向追踪和逆向回溯相结合的调试策略。正向追踪从输入数据到目标检测、映射过程逐步验证;逆向回溯则从测量结果反推问题根源。最终发现目标检测参数设置不当和边缘映射精度不足是主因,通过优化参数和算法改进解决了问题。调试需要洞察力、逻辑思维和多角度分析的能力,是提升开发技能的重要实践。(149字)
2025-05-29 11:00:00
316
原创 C++ 异步编程与网络编程:工具、协议的层次与协同
本文深入探讨了C++异步编程和网络编程两大核心技术。在异步编程方面,分析了std::thread、std::async等线程管理工具,以及std::future/std::promise等任务结果传递机制,并介绍了C++20新增的std::jthread安全线程管理。在网络编程方面,详细解析了Socket、TCP/IP协议、HTTP GET/POST方法等基础概念,并通过代码示例展示了网络通信的实现方式。文章展现了异步编程与网络编程的层次关系与协同工作机制,为开发者构建高性能网络应用提供了技术指导。
2025-05-28 10:22:58
767
原创 深度学习面试八股简略速览
本文为深度学习面试提供全面指南,涵盖基础理论到实际应用。第一部分讲解神经网络核心概念,包括激活函数和常见网络架构(CNN、RNN、Transformer)。第二部分介绍优化算法(SGD、Adam)和数据处理技巧(数据增强、预处理)。第三部分讨论模型训练与评估,包括过拟合解决方法及评价指标。第四部分对比主流框架TensorFlow和PyTorch。第五部分涉及模型优化方法和部署方案。第六部分详解损失函数类型及适用场景,并介绍卷积操作的多种实现方式。最后补充批量归一化、Dropout等关键概念
2025-05-25 17:11:18
812
原创 Python 中的多线程与多进程:真假并行的直观对比
本文探讨了 Python 中多线程和多进程的并发编程方式,重点分析了它们的优缺点及适用场景。由于 Python 的全局解释器锁(GIL),多线程在 CPU 密集型任务中无法实现真正的并行计算,但在 I/O 密集型任务中表现良好。多进程则通过创建独立进程绕过 GIL,适合 CPU 密集型任务,但内存占用较高。文章通过示例代码展示了多线程和多进程在不同任务中的性能差异,并提供了选择并发模型的建议:I/O 密集型任务优先使用多线程,CPU 密集型任务优先使用多进程,复杂任务可结合两者。合理选择并发模型有助于提高程
2025-05-23 10:00:00
616
原创 解决 Python 项目中多个不同位置不同版本 `ultralytics` 模块冲突的实用技巧
在开发大型Python项目时,模块命名冲突是常见问题,尤其是当根目录和子文件夹中存在同名模块时。本文介绍了一种通过动态调整sys.path来解决模块冲突的方法。sys.path是Python解释器搜索模块的路径列表,默认优先加载根目录下的模块。通过在子文件夹的脚本中调整sys.path,将子文件夹路径插入到列表最前面,可以确保优先加载子文件夹中的模块。具体步骤包括获取当前脚本目录、构建子文件夹模块路径、调整sys.path并验证导入的模块。此方法简单有效,但需注意路径拼接的灵活性、避免全局影响以及与其他解决
2025-05-22 10:36:36
555
原创 数据集划分与格式转换:从原始数据到模型训练的关键步骤
本文介绍了在计算机视觉项目中如何合理划分数据集并进行格式转换。首先,通过Python代码将图片和标注数据按比例切分为训练集和测试集,代码中定义了路径、划分比例,并实现了目录的清理与创建、随机抽样以及文件复制等功能。其次,文章还介绍了如何将JSON格式的标注数据转换为YOLO格式,包括读取JSON文件、获取图像尺寸、映射类别标签,并将转换后的数据保存为TXT文件。这些步骤为高效模型训练提供了基础支持。
2025-05-20 16:29:47
433
原创 树形结构全解析:从平衡二叉树到多维空间数据结构
本文详细介绍了多种常见的数据结构,包括平衡二叉树(如红黑树、AVL树)、B树、B+树以及多维空间数据结构(如KD树、R树、四叉树、八叉树、球树),并比较了它们的特点、优点和应用场景。平衡二叉树和B树主要用于一维数据的高效查询和动态操作,而多维空间数据结构则通过空间划分来加速多维数据的查询。文章通过表格和示例代码直观展示了这些数据结构的差异,帮助读者更好地理解它们之间的关系和区别,从而选择合适的数据结构以提高数据处理的效率和性能。
2025-05-11 09:00:00
1018
原创 KD树:解锁多维空间数据的高效检索
KD树(K-Dimensional Tree)是一种高效的多维空间数据结构,广泛应用于空间数据的查询和操作。其核心原理是通过递归划分空间,选择中位数作为节点,构建平衡的树结构,从而加速最近邻查询和范围查询等操作。KD树在处理大规模点云数据、图像处理和机器学习等领域表现出色,显著降低了计算复杂度。通过实际代码示例,本文展示了KD树在点云配准中的应用,进一步说明了其在实际场景中的强大功能。KD树的高效性和灵活性使其成为处理多维空间数据的理想选择。
2025-05-10 09:00:00
947
原创 深入解析磁盘 I/O 与零拷贝技术:从传统读取到高效传输
本文深入探讨了磁盘 I/O 的传统实现方式及其性能瓶颈,并介绍了零拷贝技术如何通过减少数据拷贝来优化 I/O 操作。传统的 read() 和 write() 系统调用涉及多次数据拷贝,导致性能开销。零拷贝技术如内存映射、sendfile、DMA 和用户态文件系统,通过直接共享数据或减少拷贝次数,显著提升了 I/O 效率。文章还通过代码示例对比了传统读取方式和内存映射方式的性能差异,指出零拷贝技术在大文件传输、高吞吐量网络应用和高性能计算中的优势。尽管零拷贝技术提高了性能,但其实现复杂性和兼容性等问题也需谨慎
2025-05-09 13:12:17
624
原创 C++ 中的 `it->second` 和 `it.second`:迭代器与对象访问的微妙区别
在 C++ 中,迭代器和对象访问的语法取决于it如果it是一个指针类型的迭代器(例如),那么可以使用it->second。如果it是一个对象(例如pair的引用),那么必须使用it.second。在实际编程中,我们通常使用auto关键字来推导it的类型。如果你不确定it的类型,可以通过查看编译器的错误信息或使用typeid来确认。希望这篇文章能帮助你更好地理解 C++ 中的迭代器和对象访问机制。如果你还有其他问题,欢迎在评论区留言讨论!
2025-05-07 19:10:35
993
原创 yolo训练集中有多个种类的的标签但训练时只有一类标签,修改single_cls没有用的解决方法
但是仍然没有解决问题,出现了其他标签,但是其他的数量还是为0,最后排查发现single_cls= true的时候把train和val的标签加载到内存中了cache,没有删除掉。在修改single_cls= False仍然使用的的train.cache和val.cache,导致标签仍然只剩下0,其他标签没有。明明数据集中有三类标签,但训练时发现总是变为一类标签,检查了好几遍数据集没发现问题,后来发现yolo中有一个超参数。解决方法:删除掉train.cache和val.cache,就可以了。
2025-05-05 12:55:55
239
原创 多线程环境下的资源共享与线程安全问题
在多线程环境中,资源共享和线程安全是一个重要的问题。我们尝试了多种方法,包括每个线程创建独立实例、使用锁保护共享资源和使用线程局部存储。最终,我们选择了使用锁的方法,因为它在性能和线程安全之间取得了较好的平衡。希望这些经验能对你有所帮助!
2025-04-24 19:10:35
484
原创 深入解析 C++ STL 中的插入操作:`push_back`、`emplace_back`、`insert`、`push_front` 和 `std::move`
通过合理使用这些插入操作,可以提高代码的效率和可读性。push_back:在容器末尾插入一个元素,适用于和std::deque。:在容器末尾原地构造一个元素,适用于和std::deque,避免不必要的拷贝或移动。insert:在指定位置插入一个或多个元素,适用于std::dequestd::list和std::map。push_front:在容器头部插入一个元素,适用于std::list和std::deque。push:在容器顶部或尾部插入一个元素,适用于std::stack和std::queue。
2025-04-02 09:00:00
947
原创 解决 LRU 缓存中的“堆使用后释放”问题
通过这次经历,我深刻认识到在使用list和时,必须确保迭代器的有效性。在修改list的内容后,要及时更新中的迭代器,避免访问已释放的内存。同时,我也学会了如何使用 AddressSanitizer 来检测内存问题,这对我今后的开发工作非常有帮助。希望这篇文章能帮助到遇到类似问题的开发者。
2025-03-31 15:48:11
577
原创 C++中引用绑定到临时对象的问题及解决方案
在C++中,引用绑定到临时对象是一个常见的问题,但通过合理使用const引用、值传递或右值引用,我们可以轻松解决这个问题。如果函数不需要修改参数,使用const引用是最高效的方式。如果函数需要修改参数,或者我们不希望使用const修饰,值传递是一个安全的选择。如果函数需要明确处理临时对象,右值引用是最佳选择。总之,理解引用和临时对象的生命周期是编写安全、高效C++代码的关键。希望这篇文章对你有所帮助!如果你对C++的引用、临时对象或其他特性有更多问题,欢迎继续探讨。
2025-03-06 15:37:24
759
原创 不同路径的数目(一)
一个机器人在m×n大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?
2025-03-06 13:47:34
226
原创 Visual Studio提示‘缺少MSVXXXX.dll文件’和‘应用程序无法正常启动0xc000007b’的解决办法
下载之后放入本地C:\Windows\System32文件夹里面,缺失MSVCR120D.dll的错误信息消失。
2024-09-03 19:39:43
1374
原创 【调试记录】:windows查看一个文件夹下(多个子文件夹)每个子文件夹中文件的数量分别是多少
【代码】【调试记录】:windows查看一个文件夹下(多个子文件夹)每个子文件夹中文件的数量分别是多少。
2024-06-19 13:55:23
739
1
原创 mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’
mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’
2024-05-13 12:04:39
1247
5
原创 数据预处理:删除文件夹(包括子文件夹)里面所有非RGB的图像
在做ai项目的时候,比如图像分类和目标检测,数据里面可能有rgb图和灰度图,但是灰度图的通道数只有1,而rgb图的通道数有3。因此要进行数据预处理,下面代码就可以删除文件夹(包括子文件夹)里面所有非RGB的图像,来使得我们的训练和推理正常进行。
2024-04-14 09:50:25
328
原创 cmake中报错undefined reference to `pthread_create‘的解决方法
一般网上会建议在终端指令g++/gcc后面增加参数-pthread,但是我们没有用到g++/gcc指令.cmake的解决方法是在CMakeLists.txt文件里面增加一行.
2024-04-05 15:55:05
1293
原创 学习记录:bazel和cmake运行终端指令
虽然Bazel和CMake都可以用于构建C++项目,但它们在设计理念、构建方式和功能特性上有所不同。选择使用哪种工具取决于项目的规模、复杂性和团队的偏好,以及所需的特定功能和性能要求。
2024-04-05 14:10:16
1185
原创 贝叶斯定理的理解与举例
目标:基于邮件中的词汇判断该邮件是垃圾邮件的概率。数据:我们有一个标记过的数据集,其中包含垃圾邮件和非垃圾邮件,以及它们各自的词频。条件概率的定义是基于概率论中的基本概念来的,其目的是描述在给定一个事件发生的条件下,另一个事件发生的概率。这个定义是概率论中解释和理解事件之间关系的关键工具之一。让我们逐步了解它的形成和定义。数学上,条件概率被定义为两个事件A和B发生的联合概率除以给定条件(即事件B)的概率。用公式表示就是:(P(A|B)) 表示在事件B发生的条件下,事件A发生的概率(条件概率)。
2024-03-25 12:03:23
1204
原创 Markdown使用方法
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML(或其他格式)。Markdown 文件的后缀通常是.md或.markdown。下面是一些基本的Markdown语法和如何使用它们来写一篇简单的博客。Markdown 是一种非常实用的标记语言,它可以用于多种场景和目的。以下是一些Markdown的常见用途,以及可以利用它的工具和平台。
2024-03-24 09:30:00
1034
原创 深入了解LaTeX数学公式编辑:博客指南
掌握在LaTeX中对公式进行编号和引用的方法对于撰写数学、科学或工程文档是极其重要的。这不仅提升了文档的可读性,也使得管理和更新文档变得更加高效。随着你在LaTeX的使用上变得更加熟练,这些技巧将成为你宝贵的工具。
2024-03-23 16:22:59
1695
原创 LaTeX论文汇报ppt模板
在 LaTeX 的 beamer 类中,您可以使用不同的主题和模板来创建适合论文汇报的演示文稿。以下是一个使用了比较正式的 Madrid 主题的模板,您可以基于这个模板进行定制和扩展,以满足您论文汇报的需求。当需要在ppt输入中文的时候需要将第一行中的beamer替换为ctexbeamer。
2024-03-23 12:48:09
2914
原创 点云配准:从二维到三维的艺术
在计算机视觉和机器学习的领域中,配准是一个至关重要的步骤,它涉及到将不同视角或时间点捕获的数据集对齐到同一个坐标系统中。这一过程不仅对二维图像至关重要,而且在三维世界的理解中也发挥着关键作用。本文将带您深入了解配准技术,探索它从二维图像扩展到三维点云的精妙之处。
2024-03-20 12:59:29
2362
原创 深入理解LoRA:让大模型更聪明地学习
LoRA技术旨在通过引入少量可训练参数来适应特定任务,同时保持预训练模型的大部分参数不变。这通过在模型的关键部分插入低秩矩阵来实现,这些矩阵在下游任务中进行训练,而其他参数则保持固定。这种方法既节约了计算资源,又允许模型快速适应新任务,同时避免了因过多自由参数而导致的过拟合问题。随着大型预训练模型在人工智能领域的应用越来越广泛,如何高效地对这些模型进行微调以适应特定任务变得尤为重要。LoRA技术通过在模型中引入少量可训练参数,提供了一种既高效又灵活的解决方案。
2024-03-20 12:39:43
4412
1
现代机器人YS080L机械臂SolidWorks模型
2023-08-30
中文译文:工业混合喷涂机器人的精确动态建模与控制参数设计
2023-08-30
毕业设计之文献综述开题报告毕业论文写作模板.zip
2023-04-26
YOLOv7论文:可训练的免费包为实时物体检测器设置了新的最先进的技术
2023-04-23
英文文献基于遗传算法的工业机器人最优时间轨迹规划的译文
2023-04-23
城市轨道交通结课论文-《轨道交通上5G与车-车通信技术的研究》
2023-03-16
人工智能与自动驾驶结课论文+自动驾驶的传感器及数据融合
2023-03-16
卫星通信总复习题考试期末突击必备
2023-01-09
卫星通信总复习提纲,包含所有基本知识点
2023-01-09
微信小程序——停车位预约、可导航、可选位
2022-08-09
ROS数据集判断相机类型
2023-03-06
YOLOv7识别的MAP
2023-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人