- 博客(47)
- 收藏
- 关注
原创 三维重建系列之:世界坐标系、相机坐标系和像素坐标系的基本概念和相互转换
本文介绍了计算机视觉中使用的三个主要坐标系:世界坐标系、相机坐标系和像素坐标系。文章详细阐述了这些坐标系的定义、重要性以及它们之间的转换方法。通过结合外参矩阵和内参矩阵,我们展示了如何从一个坐标系准确地转换到另一个坐标系,从而为实际应用中的图像处理和三维空间分析提供数学基础。
2024-08-21 17:38:10
571
原创 逻辑回归解密:原理、公式和优化全解析
本文全面解析了逻辑回归模型,一种广泛应用于二分类问题的机器学习算法。文章首先介绍了逻辑回归中使用的Sigmoid函数,接着详细阐述了最大似然估计法求导过程,并展示了如何通过梯度上升法和梯度下降法更新模型参数。本文的目的是提供一个清晰的数学视角,帮助读者深入理解逻辑回归的工作原理及其在实际问题中的应用,从而增强其在数据科学和人工智能领域的分析能力和实践技能。
2024-08-21 11:41:09
1145
原创 Vision Transformer (ViT) 算法详解
本博客详细探讨了Vision Transformer (ViT),一种革命性的模型,将Transformer架构应用于图像处理。ViT通过将图像切割成序列化的小块,利用自注意力机制直接捕捉全局依赖关系,与传统的卷积神经网络相比,提供了更高效的处理方式和更深入的数据理解。除了介绍ViT的算法原理和数学表达,本文还提供了模型的简单PyTorch实现和源代码链接,帮助读者从理论到实践深入了解并应用这一技术。
2024-08-20 16:07:36
801
原创 泰勒公式:从基础理论到多元扩展
本文详细介绍了泰勒公式的基本定义、数学表达式以及在多元情况下的展开方式。通过阐述泰勒公式如何使用多项式来近似和理解函数的局部行为,文章强调了这一数学工具在理论研究和数学教育中的重要性。特别是多元泰勒公式的部分,展示了其在处理多变量函数时的能力,提供了一个数学上的深入分析。
2024-08-15 10:37:17
654
原创 高斯函数导数推导:一维与二维的完整分析
本文专注于高斯函数的数学推导,详细解析了一维和二维高斯函数的导数计算。我们从基础的一维高斯函数求导开始,逐步展示如何通过链式法则计算其一阶导数。接着,文章深入到二维高斯函数,详细推导了对x和𝑦的一阶导数、二阶导数以及𝑥和y的混合导数。
2024-08-14 15:54:53
922
原创 线性回归的数学推导与最小二乘法
本文详细介绍了线性回归的数学原理及其通过最小二乘法的求解过程。首先定义了线性模型,并假设误差服从正态分布。接着,通过似然函数和最小二乘法,我们推导出模型参数的最优解。
2024-05-20 12:50:22
889
原创 Windows下Boost库源码编译安装及CMake配置实战指南
探索Boost库在Windows上的源码安装与CMake集成技巧,从下载编译到环境配置,再到CMake实战案例,全方位提速C++开发环境设置。
2024-04-29 16:45:58
4313
原创 PCL学习系列二:在Windows系统上安装PCL(Point Cloud Library)
本文详细介绍了在 Windows 系统上安装和配置 Point Cloud Library (PCL) 的步骤,涵盖了从下载、安装到使用 CMake 和 Visual Studio 编译 PCL 项目的全过程。本教程旨在帮助开发者和研究人员在 Windows 平台上快速部署 PCL,有效解决安装和编译中可能遇到的问题。
2024-04-28 12:55:01
1521
原创 ubuntu系统源码安装cmake
本文介绍了在Ubuntu系统上从源代码编译安装CMake的详细步骤。首先,通过wget命令下载最新的源代码,然后使用tar命令解压。重要的一步是安装必要的依赖,包括build-essential,openssl和opengl包,这些都是编译过程中不可或缺的。最后,通过运行配置脚本和make命令完成编译安装。确保系统中安装了所有必要依赖,是成功编译和安装CMake的关键。
2024-04-19 16:38:41
352
原创 ChatGPT引领的AI面试攻略系列:cuda和tensorRT
本系列博客旨在为AI领域的求职者提供全面的面试准备指南。利用ChatGPT的先进技术,我们精选和深入解析了一系列关键的面试题目,从基础知识到最新技术趋势,覆盖了人工智能各个分支。每篇文章都旨在增强读者的理解,提升解题能力,帮助求职者在AI职场中脱颖而出。本次博客为cuda和tensorRT系列,希望对读者有所帮助。
2024-03-04 11:12:56
1438
原创 ChatGPT引领的AI面试攻略系列:AI全栈工程师篇
本系列博客旨在为AI领域的求职者提供全面的面试准备指南。利用ChatGPT的先进技术,我们精选和深入解析了一系列关键的面试题目,从基础知识到最新技术趋势,覆盖了人工智能各个分支。每篇文章都旨在增强读者的理解,提升解题能力,帮助求职者在AI职场中脱颖而出。本文为AI全栈工程师部分,希望对读者有所帮助。
2024-03-04 08:57:18
1094
原创 Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南
本文提供了在Ubuntu 18.04系统上安装NVIDIA cuDNN 8.9.6.50版本的全面指南,包括准备工作、安装步骤、以及验证安装成功的方法。旨在帮助开发者顺利配置cuDNN环境,为深度学习项目提供强大的GPU加速支持。此指南适合所有级别的用户,确保每一步都简明扼要,易于跟随。
2024-02-08 22:57:08
2684
4
原创 深入浅出:mmdetection和mmyolo在ubuntu和windows系统下的安装指南
本文详细介绍了mmdetection和mmyolo的安装步骤。从背景概述到具体的安装方法,包括从源代码安装和使用pip安装,本指南旨在帮助读者快速掌握这两个先进目标检测框架的安装流程,为后续的研究和应用打下坚实基础。
2024-01-16 18:47:43
1251
原创 探索YOLOv5微服务:gRPC Proto设计与优化策略
本文深入探讨了如何利用gRPC为YOLOv5设计高效的微服务。我们从基础的protobuf文件开始,详细解析了图像数据和推理结果的结构,并介绍了YOLOv5服务的定义。重点在于提出了一系列优化建议,包括异步处理、流式传输、批处理接口,以及元数据的扩展,以提升微服务的性能和灵活性。
2024-01-10 12:36:09
1279
原创 掌握 gRPC:从安装到构建第一个C++ 和Python微服务
文章首先介绍了 gRPC 的基本概念和与传统通信方法的对比,然后详细指导如何在不同操作系统上安装 gRPC。通过具体的 C++ 和 Python 项目案例,我们展示了如何编写、编译和运行 gRPC 服务端和客户端,为读者提供了实际的操作步骤和代码示例。
2024-01-06 14:58:48
2566
原创 掌握C++核心:虚函数的原理与高效应用
在C++中,虚函数是实现多态的关键。它们是在基类中使用virtual关键字声明的成员函数,可在派生类中被重写。虚函数允许在程序运行时动态决定要调用的函数,这种机制称为动态绑定或晚期绑定。虚函数在面向对象编程(OOP)中至关重要,它们使得对象能够表现出与其类型不完全相同的行为。这一特性是实现多态的基础,允许程序设计师在设计层次结构的基类时预留空间,用于后续派生类的功能扩展。通过这种方式,虚函数增强了代码的可维护性和扩展性。虚函数的声明通常位于类的公共接口部分。
2024-01-04 10:55:48
1005
原创 掌握C++中的Lambda表达式:简化你的代码
本文全面介绍了C++中Lambda表达式的使用和优势。从基本概念到高级应用,文章详细解释了Lambda表达式的定义、语法结构、类型推导以及捕获机制。特别强调了Lambda在STL算法、事件处理和多线程编程中的实际应用,以及其与函数指针和std::function的关系。此外,文中还探讨了C++11到C++20标准中Lambda表达式的演变,突出其在现代C++编程中的重要性。
2024-01-01 13:35:58
777
原创 掌握numpy.einsum与torch.einsum:提升科学计算与深度学习中的运算效率和代码可读性
本文介绍了numpy.einsum和torch.einsum在科学计算和深度学习中的应用,包括Einstein求和记号的概念及其简化复杂运算的作用。详细阐述了两者的使用方法,如numpy.einsum的基础操作和torch.einsum在复杂运算如注意力机制以及自动微分中的优势。通过对比einsum与手动实现的嵌套循环运算,深入理解其机制。该博客旨在帮助读者熟练掌握这两种工具,提升计算效率和代码可读性,以应对各类科学计算和深度学习任务。
2023-12-26 12:57:04
2042
原创 深入理解PyTorch中的Hook机制:特征可视化的重要工具与实践
本博客探讨了PyTorch中hook函数在特征可视化中的应用。重点介绍了register_forward_hook()、register_backward_hook()和register_hook()的使用。register_forward_hook()用于中间层特征分析和可视化,register_backward_hook()用于梯度监控和梯度爆炸检测,而register_hook()提供细粒度控制,适用于变量级别梯度监控和自定义计算图操作。
2023-12-19 22:41:52
2427
1
原创 TensorRT学习系列一:使用自定义网络构建和运行TensorRT模型
本文介绍了如何使用自定义网络构建和运行TensorRT模型,以及常见问题与解决方案。通过对新旧API的对比说明,帮助读者理解并熟练运用TensorRT优化深度学习模型的推理过程。
2023-12-16 20:42:18
1530
原创 Ubuntu下安装ONNX、ONNX-TensorRT、Protobuf和TensorRT
在这篇博文中,我们详细介绍了如何在Ubuntu环境下安装ONNX、ONNX-TensorRT、Protobuf和TensorRT,并演示了如何将ONNX模型解析到TensorRT。
2023-12-16 15:31:42
2676
原创 Ubuntu下COLMAP的编译与安装全攻略
本文介绍了如何在Ubuntu系统下安装COLMAP,一款功能强大的开源图像重建工具。通过详细的步骤和解决方案,读者将能够快速入门并开始使用COLMAP进行三维建模和场景理解的研究工作。
2023-12-15 16:08:38
2405
3
原创 Ubuntu下OpenCV编译安装全攻略:解决Python imshow与C++读取视频问题
本文旨在指导读者在Ubuntu环境下从源代码编译安装OpenCV,并解决Python imshow报错和C++读取视频不成功的问题。文章分析了使用包管理器安装OpenCV的局限性,推荐了一种更灵活的安装方式:从GitHub下载源代码并进行编译。文中详细展示了每一步骤的操作方法,并给出了Python imshow函数错误和C++读取视频问题的解决方案。阅读本文后,读者将能够熟练地在Ubuntu系统下安装和使用OpenCV,并具备解决相关问题的能力。
2023-12-10 21:29:54
2083
原创 ubuntu系统如何源码安装GCC
本教程详细介绍了如何从源代码编译并安装GCC。整个过程包括了确认系统环境、下载GCC源代码、配置编译选项、编译和安装GCC、验证安装成功以及设置新安装的GCC为默认版本等步骤。通过学习这个过程,你可以获取最新的GCC版本,并深入理解编译器的工作原理。此外,这些经验也可以应用于其他开源软件的源码安装过程中。
2023-12-08 12:28:12
2264
原创 算法学习系列之排序算法:原理、应用场景与C++实现精解
本博客全面探讨了计算机科学中几种关键的排序算法,包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序、希尔排序、计数排序、基数排序和桶排序。每种算法的原理、优缺点、适用场景以及C++代码实现均进行了详细讨论。文章的目的是为读者提供一份全面的指南,无论是为了加深对算法的理解还是为了在实际项目中选择和实现最合适的排序策略。
2023-12-06 17:34:18
997
原创 c++如何自定义比较函数
本文探讨了在 C++ 中创建和使用自定义比较函数的多种方法,包括使用函数对象(Functors)、Lambda 表达式、标准库比较函数、普通函数以及重载 < 运算符。每种方法都适用于不同的场景,使得数据的排序和组织更加高效和直观。理解这些技术对于增强代码灵活性和解决复杂问题至关重要。本文为初学者和有经验的开发者提供了深入了解自定义比较逻辑在 C++ 编程中应用的基础。
2023-12-05 18:45:14
1530
原创 OpenMVG学习系列一:Ubuntu 上的 OpenMVG 安装全指南
我们探讨了在 Ubuntu 系统上安装 OpenMVG(Open Multiple View Geometry)的详细步骤和技巧。从初步的环境配置到复杂的问题解决,本文为读者提供了一个全面的指南,旨在帮助各层次的用户顺利完成 OpenMVG 的安装。
2023-12-04 13:58:33
1461
原创 PCL学习系列一:在Ubuntu上从源码安装PCL(Point Cloud Library)
在这篇博客中,我们提供了一个简明而全面的指南,详细介绍了如何在Ubuntu系统上从源码安装Point Cloud Library(PCL)。从安装必要的依赖项到处理常见的配置错误,我们涵盖了整个安装过程的每个关键步骤。
2023-12-01 18:52:45
1224
1
原创 Open3D学习系列一:轻松安装Open3D
这是我写的Open3D学习系列第一篇,重点是讲Open3D的安装,主要内容就是在安装python版本和c++版本的过程中遇到的问题和解决方法。
2023-12-01 17:05:25
5493
1
原创 streamlit run 遇到OSError: [Errno 28] inotify watch limit reached的解决方案
本文介绍了python库streamlit的简单应用和在streamlit run的时候报错的解决方案。
2023-11-29 10:52:44
2797
2
原创 Python Multiprocessing库常用工具总结
本文深入探讨了Python的multiprocessing库,这是一个关键的多进程编程库,用于提高多核处理器的计算效率。文中详细介绍了Process、Pool、Queue、Pipe、Value、Array和Manager等组件,每个部分均配有定义、功能说明及应用实例。这些组件共同协作,提供了创建和管理进程、实现进程间安全通信以及数据共享的能力。文章通过具体案例展示了如何有效利用这些工具来解决复杂的并行计算问题,使multiprocessing成为Python并行编程的核心工具。
2023-11-27 18:35:19
369
原创 Python进程池multiprocessing.Pool八个函数对比
在本文中,我们探讨了Python multiprocessing.Pool 类中的八个主要函数:apply(), apply_async(), map(), map_async(), starmap(), starmap_async(), imap(), 和 imap_unordered()的特点和案例。
2023-11-27 17:54:18
1413
原创 Python操作数据库案例mysql, redis, mongodb, neo4j
本文旨在为读者提供一个全面的指导,介绍如何使用Python进行MySQL、Redis、MongoDB和Neo4j这四种主流数据库的基础操作。文章从各数据库对应的Python库的安装入手,进而深入探讨了基础的增删改查(CRUD)操作。需要强调的是,本文所展示的代码示例仅作为基础参考,对于更为复杂和高级的操作,建议读者进一步参阅官方文档以获取更全面和深入的了解。无论您是数据科学家、后端开发者或是对数据库有兴趣的技术爱好者,本文都将为您提供实用的操作指导和专业建议。
2023-10-31 14:30:43
177
1
原创 使用docker创建多种数据库容器的方法:mysql, redis, mongodb, neo4j
通过本文,您已经学习了如何使用 Docker 快速部署和管理多种数据库。这些命令和代码示例不仅易于执行,而且具有很高的可复用性。Docker 的灵活性和便捷性意味着您可以将这些知识应用到各种不同的项目和环境中,大大提高您的工作效率。希望这篇文章能帮助您更好地理解 Docker 在数据库管理方面的实用性,并鼓励您在未来的工作中尝试和应用这些方法。
2023-10-30 11:13:43
503
原创 ubuntu系统vscode配置clangd
本文讲述在ubuntu系统下vscode配置clangd进行c/c++代码提示和跳转的具体方法,对于其它平台也是个参考
2023-08-10 11:24:20
2779
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人