
X86平台边缘端部署(实践)
文章平均质量分 86
针对X86平台边缘端部署
浩瀚之水_csdn
路漫漫其修远兮,吾将上下而求索,立刻行动,坚持,努立
展开
-
【CMake】CMake 编译选项的详细指南
本文详细介绍了CMake中编译选项的配置方法,包括全局选项设置、目标级选项配置、C++标准设置、警告级别控制和优化选项等。原创 2025-05-29 08:04:37 · 8 阅读 · 0 评论 -
【CMake】CMakeLists.txt文件的编写规范指南
本文总结了CMake构建工具的最佳实践规范原创 2025-05-29 08:03:46 · 11 阅读 · 0 评论 -
【CMake】CMake 变量的详细解析
掌握 CMake 变量的工作机制,可以帮助您实现更灵活的项目配置和跨平台构建管理。重点理解作用域规则和缓存变量的持久化特性,这将极大提升大型项目的可维护性。原创 2025-05-28 07:57:32 · 119 阅读 · 0 评论 -
【CMake】CMake 中最核心的命令分类详解
掌握这些核心命令后,您可以高效管理从简单小程序到大型跨平台项目的构建过程。原创 2025-05-28 07:57:16 · 90 阅读 · 0 评论 -
【DLL】C++ DLL开发中内存管理规范
在C++ DLL开发中,内存管理规范是确保跨模块(DLL和调用方)内存操作安全性的关键。原创 2025-05-27 05:23:50 · 16 阅读 · 0 评论 -
【DLL】C++ DLL 开发中数据结构设计规范
在C++ DLL开发中,平坦数据结构(Flat Data Structure)是确保跨语言和跨模块调用兼容性的关键。它通过使用简单的、非嵌套的数据类型(如基本类型、结构体、固定数组等)来保证内存布局的一致性。原创 2025-05-27 05:23:32 · 11 阅读 · 0 评论 -
【DLL】C++动态链接库DLL的创建与使用详解
本文详细介绍了DLL(动态链接库)的创建、使用、调试及最佳实践。原创 2025-05-26 09:54:22 · 103 阅读 · 0 评论 -
【DLL】Linux动态库生成方法
本文详细介绍了Linux动态库的生成、控制、使用及工程化实践。首先,通过编写源代码并编译生成动态库,展示了基础生成流程。接着,探讨了如何通过显式控制符号可见性和版本脚本来管理动态库的符号。原创 2025-05-26 09:54:09 · 85 阅读 · 0 评论 -
【DLL】DLL 的导出表详解
理解DLL导出表需要结合PE文件格式与编译器行为,掌握其数据结构、工具分析方法及开发注意事项,才能构建高效、兼容的动态链接库。通过合理设计导出策略(如接口抽象、序号管理),可显著提升DLL的健壮性和可维护性。原创 2025-05-25 05:38:17 · 118 阅读 · 0 评论 -
【DLL】C++ DLL的封装技术详解
在C++中封装DLL(动态链接库)是构建模块化、可复用代码的关键技术。核心原则包括接口与实现分离、内存安全边界管理,以及高效导出技术。通过抽象接口和统一内存管理,确保DLL的可靠性和跨平台兼容性。实践技巧涉及函数和类的导出、跨语言兼容设计、防御性编程和版本控制。工程化实践包括使用CMake进行跨平台构建和符号可见性控制。调试与验证工具如dumpbin和ldd帮助检查依赖和符号导出。常见陷阱如运行时符号找不到、内存访问冲突和虚函数调用崩溃,可通过统一接口、工厂模式和动态加载解决。原创 2025-05-25 05:38:01 · 84 阅读 · 0 评论 -
【DLL】DLL头文件中 xx_EXPORTS和xx_API宏的详解
在C++的DLL开发中,xx_EXPORTS 和 xx_API 是两个核心宏,用于管理符号的导出和导入。xx_EXPORTS 宏仅在编译DLL项目时定义,用于标记当前正在生成DLL,而 xx_API 宏则根据 xx_EXPORTS 的存在与否,动态展开为 __declspec(dllexport) 或 __declspec(dllimport),分别用于导出和导入符号。这种机制使得同一份头文件既能用于DLL的编译,也能被客户端项目调用。原创 2025-05-25 05:37:46 · 17 阅读 · 0 评论 -
【DLL】Linux动态库核心技术和关键字的详细指南
在Linux平台下,生成动态链接库(.so文件)主要依赖GCC/Clang编译工具链和符号可见性控制。原创 2025-05-24 05:20:40 · 21 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 开发中编译指令关键字详解
中添加。原创 2025-05-24 05:20:09 · 21 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 开发中线程局部存储关键字详解
在Windows平台的C++ DLL开发中,线程局部存储(TLS)是实现线程独立全局变量的关键技术。TLS的两种主要实现方式包括使用__declspec(thread)关键字和Windows TLS API。__declspec(thread)适用于静态加载的DLL,但无法在动态加载的DLL中使用,且初始化值仅对主线程有效。原创 2025-05-24 05:19:43 · 19 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 开发中跨语言兼容性关键字详解
在Windows平台C++ DLL开发中,实现跨语言兼容性(如C#、Python、Delphi等)需要严格管理接口设计。关键技术和关键字包括:使用extern “C”;禁用C++名称修饰,确保导出函数名称在二进制层面保持原始形式;原创 2025-05-24 05:19:17 · 20 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 开发中调用约定关键字详解
在 Windows 平台 C++ DLL 开发中,调用约定(Calling Convention)定义了函数参数的传递顺序、堆栈清理责任和名称修饰规则,直接影响 DLL 接口的跨语言调用和二进制兼容性。原创 2025-05-24 05:18:27 · 12 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 开发中管理符号可见性的核心关键字
在 Windows 平台 C++ DLL 开发中,管理符号可见性的核心关键字是 **__declspec(dllexport) 和 __declspec(dllimport)**。它们用于控制 DLL 接口的导出与导入行为,直接影响动态链接库的可用性、性能和兼容性。原创 2025-05-24 05:18:13 · 14 阅读 · 0 评论 -
【DLL】Windows 平台 C++ DLL 核心关键字
在 Windows 平台 C++ DLL 开发中,以下是与动态链接库密切相关的核心关键字和编译指令,它们直接影响符号可见性、内存布局和跨模块调用的可靠性原创 2025-05-24 05:17:39 · 120 阅读 · 0 评论 -
【TensorRT】PyTorch模型转TensorRT引擎的两种方法对比与实现
通过合理选择转换方法,可高效将PyTorch模型部署至TensorRT,充分发挥GPU推理性能。原创 2025-04-17 11:53:11 · 74 阅读 · 0 评论 -
深入浅出之engine文件生成方式
首先,将PT模型转换为WTS文件。WTS文件是权重文件,它包含神经网络的所有参数,但不包括网络结构。然后,使用特定的工具或库(如TensorRT)将WTS文件进一步转换为Engine文件。Engine文件是TensorRT的序列化模型,它包含神经网络的结构和权重,并针对特定的硬件和推理需求进行了优化。原创 2024-10-12 08:09:55 · 1220 阅读 · 0 评论 -
【TensorRT】TensorRT 引擎文件(Engine File)学习笔记
Engine 文件是 TensorRT 对原始模型(如 ONNX)进行优化的最终产物,包含层融合、内核自动调优、内存优化后的执行计划。其核心目标是减少 GPU 计算冗余,提升推理速度。原创 2025-03-12 18:33:28 · 384 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之IHostMemory类
是TensorRT中的一个接口类,它主要用于管理由TensorRT库分配的主机内存。该类提供了对分配内存的访问,包括数据的首地址、大小和数据类型等信息。通过类,用户可以安全地管理这些内存,并在适当的时候释放它们。原创 2024-10-16 21:37:29 · 480 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之IRuntime类
是TensorRT中的一个关键接口,它表示一个已经过优化并准备好在CUDA环境中执行的深度学习模型。该类包含了执行推理所需的所有操作和参数,可以视为一个准备好的、优化过的模型。原创 2024-10-16 21:33:35 · 1425 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之IBuilderConfig类
IBuilderConfig 用于配置TensorRT引擎构建过程的优化参数,包括精度模式、内存限制、动态形状配置等。原创 2025-04-17 11:19:55 · 125 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之ICudaEngine类
ICudaEngine 是TensorRT优化后的推理引擎,包含经过层融合、内存优化和精度调整的模型,可直接在GPU上执行推理。原创 2025-04-17 11:16:44 · 52 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之IBuilder类
TensorRT中的IBuilder类是一个核心接口,它提供了一系列方法用于配置和优化深度学习推理引擎的构建过程。以下是对IBuilder。原创 2024-10-16 21:12:01 · 882 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之ITensor类
ITensor类是TensorRT库中用于表示张量的核心类。在神经网络中,张量是一个多维数组,用于存储输入数据、网络参数、中间结果和输出数据等。ITensor类提供了丰富的成员函数和变量来操作和管理张量,如设置和获取张量的名称、维度、数据类型等。原创 2024-10-16 20:37:25 · 1087 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之INetworkDefinition类
INetworkDefinition类在TensorRT中扮演着至关重要的角色,它负责创建和定义神经网络的结构。通过INetworkDefinition类,用户可以添加输入层、输出层以及中间的隐藏层,定义各层之间的连接关系,并设置网络的输入和输出张量。原创 2024-10-16 20:31:18 · 817 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之常用算子类说明
通过合理使用上述算子类,可高效实现复杂模型的部署与优化。原创 2024-10-16 20:42:25 · 484 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之网络定义与构建
网络定义接口为应用程序提供了指定网络定义的方法。可以指定输入和输出张量,可以添加层,并且有一个用于配置每种支持的层类型的界面。创建网络:使用TensorRT的API创建网络定义对象。这通常是通过调用类似于的函数来完成的,该函数接受一个标志参数来指定网络的创建方式,如显式批量(EXPLICIT_BATCH)或隐式批量。添加层:向网络中添加各种类型的层,如卷积层、池化层、全连接层、激活层等。这些层可以通过调用网络定义对象上的相应函数来添加,如addPooling等。标记输入输出:指定网络的输入和输出张量。原创 2024-10-16 20:05:19 · 801 阅读 · 0 评论 -
【TensorRT】TensorRT学习笔记之nvinfer1 API 函数
TensorRT 的 nvinfer1 命名空间提供了构建、优化和部署深度学习推理引擎的核心 C++ API 接口原创 2024-10-16 15:44:57 · 904 阅读 · 0 评论 -
【TensorRT】TensorRT 核心类解析
掌握这些核心类及其交互关系,可以更高效地实现模型优化部署,并针对特定需求进行深度定制。原创 2025-03-12 18:23:57 · 625 阅读 · 0 评论 -
【TensorRT】 TensorRT API函数分类解析
TensorRT API 是用于构建、优化和部署深度学习推理引擎的核心工具链,其函数库涵盖模型解析、网络构建、优化配置、插件开发等多个环节。原创 2025-04-16 19:18:21 · 39 阅读 · 0 评论 -
【TensorRT】深入浅出之TensorRT编程
TensorRT 是 NVIDIA 开发的高性能深度学习推理(Inference)引擎,专为生产环境设计。它提供了一套 API,用于在 NVIDIA GPU 上进行低延迟和高吞吐量的推理。TensorRT 通过优化神经网络模型,减少内存占用,提高计算效率,从而加速推理过程。原创 2024-10-13 10:31:12 · 1204 阅读 · 0 评论 -
【TensorRT】TensorRT环境安装
本文操作均在Win10系统上完成,需要用到的软件与依赖包有:cuda 10.2 , cudnn 8.6.5 , VS2017 , OpenCV 4.0.0 , Anaconda3 , CMake 3.10.1 , TensorRT 8,pytorch通过英伟达官网来确认显卡驱动与CUDA版本对应关系,,基本上所有的版本cuda都能支持通过pytorch官网来确认也可以通过pytorch官网查询选择cudnn版本时要优先考虑tensorrt版本。原创 2024-10-11 10:58:10 · 4416 阅读 · 0 评论