开发功能 ============= 本章将详细介绍 DWSDK 的使用方法及其相关功能。 DWSDK 提供了多种形式的 SDK 供开发者选择,根据实际需求可以灵活使用以下几种类型: 1. 本地 SDK 本地 SDK 提供了 `C++ <./cppsetup.html>`_ 、 `C# <./cssetup.html>`_ 和 `Python <./pysetup.html>`_ 等多种语言接口,直接运行在本地环境中。它利用 DWSDK 提供的核心库,允许开发者将推理功能与本地项目深度集成。 优点: - **性能优势**:依赖本地硬件执行推理,能够充分利用 CPU 或 GPU,适合需要实时响应的应用场景。 - **低延迟**:推理过程完全在本地完成,无需网络传输。 - **数据隐私性**:数据不需要上传到云端或服务器,适用于对隐私性要求较高的应用。 使用场景: - **实时性强的场景**:例如生产线上, 需要快速响应的环境。 - **离线场景**:没有网络支持的场景,如工业设备、嵌入式设备中的边缘计算任务。 - **自主可控性**:对硬件、操作系统和依赖库有严格控制要求的项目,如高安全性工业应用。 2. C++ 本地推理服务 `C++ 本地推理服务 <./inference_service.html>`_ 是在本地环境中运行的一种特殊实现,利用 HTTP API 与 DWSDK 进行交互完成推理。 优点: - **解耦第三方依赖**:本地推理服务通过 HTTP API 调用 DWSDK,可以避免项目与 DWSDK 的直接第三方依赖(如 OpenCV)冲突。开发者可以自由配置项目的依赖项而不影响其他模块的功能。 - **轻量化部署**:实现项目的独立性,仅需运行服务即可实现推理功能。 - **更高的可维护性**:HTTP API 调用模式使得服务的升级和维护更加简单,便于开发者快速适配不同版本的 SDK。 适用场景: - 项目对依赖项的兼容性要求较高,或需要最大化减少与 DWSDK 的依赖冲突时。 - 在需要对 DWSDK 进行隔离、独立部署和管理的场景中尤为适用。 3. C++ 服务器推理服务 `C++ 服务器推理服务 <./dw_http_inference_client.html>`_ 通过调用 HTTP API 访问 DaoAI World 云服务器,实现推理功能。通过上传图片至云端,利用服务器上部署的模型进行推理。 优点: - **零本地硬件需求**:推理完全依赖云端资源,本地设备无需高性能硬件支持。 - **快速部署**:无需配置复杂的本地环境,提供即用即用的推理能力。 - **动态模型更新**:云端模型可以随时更新,本地无需重新部署即可使用最新版本的模型。 - **扩展性强**:适用于多用户并发场景,通过服务器资源的动态扩展支持更大规模的应用。 适用场景: - 需要轻量化客户端或资源受限的设备(如嵌入式系统)。 - 大规模推理任务,需要利用云计算资源进行分布式推理。 通过以上三种 SDK 和服务的组合,开发者可以根据需求选择最适合的工具和方式来实现高效、灵活的推理应用开发。 .. toctree:: :maxdepth: 1 :hidden: install license cppsetup cssetup pysetup inference_service dw_http_inference_client appendix faq