开发功能

本章将详细介绍 DWSDK 的使用方法及其相关功能。

DWSDK 提供了多种形式的 SDK 供开发者选择,根据实际需求可以灵活使用以下几种类型:

  1. 本地 SDK

    本地 SDK 提供了 C++C#Python 等多种语言接口,直接运行在本地环境中。它利用 DWSDK 提供的核心库,允许开发者将推理功能与本地项目深度集成。

    优点:
    • 性能优势:依赖本地硬件执行推理,能够充分利用 CPU 或 GPU,适合需要实时响应的应用场景。

    • 低延迟:推理过程完全在本地完成,无需网络传输。

    • 数据隐私性:数据不需要上传到云端或服务器,适用于对隐私性要求较高的应用。

    使用场景:
    • 实时性强的场景:例如生产线上, 需要快速响应的环境。

    • 离线场景:没有网络支持的场景,如工业设备、嵌入式设备中的边缘计算任务。

    • 自主可控性:对硬件、操作系统和依赖库有严格控制要求的项目,如高安全性工业应用。

  2. C++ 本地推理服务

    C++ 本地推理服务 是在本地环境中运行的一种特殊实现,利用 HTTP API 与 DWSDK 进行交互完成推理。

    优点:
    • 解耦第三方依赖:本地推理服务通过 HTTP API 调用 DWSDK,可以避免项目与 DWSDK 的直接第三方依赖(如 OpenCV)冲突。开发者可以自由配置项目的依赖项而不影响其他模块的功能。

    • 轻量化部署:实现项目的独立性,仅需运行服务即可实现推理功能。

    • 更高的可维护性:HTTP API 调用模式使得服务的升级和维护更加简单,便于开发者快速适配不同版本的 SDK。

    适用场景:
    • 项目对依赖项的兼容性要求较高,或需要最大化减少与 DWSDK 的依赖冲突时。

    • 在需要对 DWSDK 进行隔离、独立部署和管理的场景中尤为适用。

  3. C++ 服务器推理服务

    C++ 服务器推理服务 通过调用 HTTP API 访问 DaoAI World 云服务器,实现推理功能。通过上传图片至云端,利用服务器上部署的模型进行推理。

    优点:
    • 零本地硬件需求:推理完全依赖云端资源,本地设备无需高性能硬件支持。

    • 快速部署:无需配置复杂的本地环境,提供即用即用的推理能力。

    • 动态模型更新:云端模型可以随时更新,本地无需重新部署即可使用最新版本的模型。

    • 扩展性强:适用于多用户并发场景,通过服务器资源的动态扩展支持更大规模的应用。

    适用场景:
    • 需要轻量化客户端或资源受限的设备(如嵌入式系统)。

    • 大规模推理任务,需要利用云计算资源进行分布式推理。

通过以上三种 SDK 和服务的组合,开发者可以根据需求选择最适合的工具和方式来实现高效、灵活的推理应用开发。