开发功能
本章将详细介绍 DaoAI World 软件开发包 (SDK) 的配置和使用。DaoAI World SDK 提供了一套全面的工具,用于调用深度学习模型、处理输出及执行各种通用功能,以满足软件开发的需求。
培训内容大纲: 培训ppt
首先需要下载 DaoAI World SDK
C++ 和 C# : C++ C# SDK 下的 2.24.6.0版本的SDK
Python Windows : Windows Python SDK 下的 2.24.6.0版本的SDK
Python Linux/Jetson : Linux Jetson Python SDK 下的 2.24.6.0版本的SDK
C++ 和 C# 的SDK安装包在安装后的安装目录下 包含有SDK以及SDK的示例项目。
使用Visual Studio打开DLSDK Example.sln项目。
项目分为C++项目,和C#项目,右键点击properties, 然后选择启动项目,来选择运行C++或者C#项目。
然后选择启动设置为release x64, 然后点击Local Windows Debugger 就可以运行项目了。
使用DLSDK需要将有效的许可证管理器移动至项目路径,详情请见 DLSDK显示 licensemanger_cli.exe is not rcognized as an internal or external command
使用DLSDK需要有效的使用许可证,详情请见 DLSDK显示License Check Fail
硬件需求
DaoAI World SDK 支持CPU模式和GPU模式。尽管您没有GPU 也可以使用DaoAI World 深度学习模型使用CPU进行预测。
当使用GPU模式时,模型的运行时间会显著快于CPU模式。
使用GPU模式的最低需求为:
显卡: Nvidia 1050Ti 显卡, 4GB 显存
显卡驱动: GeForce Game Ready Driver 驱动版本:552.22, 发布于 2024年 4月16日
C++ 环境配置
C++的示例项目中的环节已经配置好了,如果您需要创建一个自定义项目,或者从一个空项目开始,则需要进行以下的配置。
首先需要将 DLSDK 安装目录下的bin目录和3rdparty目录添加到系统环境变量path下面。
如下图,安装目录为 C:\Program Files\DLSDK, 那么就需要将以下两个目录添加到path系统变量中。
安装包会添加一个DWSDK_PATH 到系统环境变量中,需要正确的使用,还需要添加以下两个路径 到 PATH 变量中
%DWSDK_PATH%\3rdparty %DWSDK_PATH%\bin
右键点击c++的项目,然后打开属性。
在属性中选择使用C++17
打开C++, 在General菜单里的Additional Include Directories中添加 DLSDK 根目录下的 include 文件夹路径。
打开Linker, 在General菜单里的Additional Library Directories中添加 DLSDK 根目录下的 bin 文件夹路径。
Linker的Input菜单里的Additional Dependencies中添加daoai_dl_sdk.lib。
C# 环境配置
首先需要将 DLSDK 安装目录下的bin目录和3rdparty目录添加到系统环境变量path下面。
如下图,安装目录为 C:\Program Files\DLSDK, 那么就需要将以下两个目录添加到path系统变量中。
安装包会添加一个DWSDK_PATH 到系统环境变量中,需要正确的使用,还需要添加以下两个路径 到 PATH 变量中
%DWSDK_PATH%\3rdparty %DWSDK_PATH%\bin
点击C#项目中的添加reference
点击浏览,然后浏览解压目录下的bin文件夹内的
dl_sdk_net.dll
文件,勾选后,点击OK。点击assembly,然后搜索
system.drawing
勾选后,点击OK。
Python Windows 环境配置
Python Windows SDK wheel 只支持Windows环境
需要首先安装 Python 3.10
如果您已经安装了Python, 您可以使用以下命令来确认您的版本
python3 --version
根据您的Python版本 从 下载中心 下载 其中的2.24.6.0 版本的 .whl文件
使用以下命令安装wheel文件
pip install dlsdk-1.0.1-cp310-cp310-win_amd64.whl
然后您的DaoAI Python Windows SDK 模组就安装完毕了
您可以使用以下命令来导入模组。
import dlsdk.dlsdk as dlsdk
您需要有有效的DaoAI 许可证才可以正常使用,如果您没有许可证,请参考 DLSDK显示License Check Fail
Python Linux/Jetson 环境配置
Python Linux/Jetson API 只支持在linux系统中使用,并分为 linux 机器,和Jetson 机器两种。
如果您想在Windows环境中使用, 那么请参考 1. 使用Docker Image 配置Docker 虚拟环境。
如果您使用的是linux环境,可以跳过 1. 并参考 2. 安装DaoAI Python Linux/Jetson API Wheel 来直接使用
1. 使用Docker Image
需要先安装Docker。
安装完成后, 运行Docker 然后打开命令栏, 输入并运行以下命令 来下载Docker Container。注意 这一步需要预留约60G的磁盘空间。
Linux 机器的Docker环境映像 可以使用以下命令
docker pull daoairobotics/daoai_vision
或者,如果您是Jetson 机器,可以使用以下命令来下载 Jetson机器的 Docker环境映像
docker pull daoairobotics/daoai_vision:jetson

下载完毕后,运行以下命令运行Docker Image 并进入虚拟映像的linux环境
docker run -it --gpus=all -v <本地路径>:/home/appuser/workdir daoairobotics/daoai_vision
其中
<本地路径> 是您本地的路径,请替换为您实际的路径。
/home/appuser/workdir 是Docker容器内的虚拟路径,该路径会包含第一步中指定路径的文件和文件夹。
daoairobotics/daoai_vision 是Docker镜像的名称。
输入命令后,如下图,您将以appuser登入Docker虚拟映像
接下来请参考 3. 激活您的Linux/Jetson SDK
2. 安装DaoAI Python Linux/Jetson SDK Wheel
根据您的机器从 下载中心 下载
如果您使用的是 Linux 机器: 请下载 2.24.6.0版本的
Linux_wheels
目录下的.whl文件, 或如果您使用的是 Jetson 机器: 请下载 2.24.6.0版本的
Jetson_wheels
目录下的.whl文件
Python Linux/Jetson SDK wheel 只支持linux环境,如果您使用的是Windows系统,那么请使用linux虚拟机,或者Docker Image。
Python Linux/Jetson SDK 支持的模型有:
模型类型 |
快速模式 |
准确模式 |
旋转准确模式 |
---|---|---|---|
实例分割检测 |
√ |
√ |
x |
关键点检测 |
√ |
√ |
x |
异常检测 |
x |
x |
|
分类检测 |
√ |
√ |
|
目标检测 |
√ |
√ |
|
语义分割 |
√ |
||
OCR |
x |
2.a Linux 安装
Linux 需要首先安装 Python 3.10 并且安装 Nvidia Cuda Toolkit
如果您已经安装了Python, 您可以使用以下命令来确认您的版本
python3 --version
默认安装方式 :daoai_vision 提供了二进制的安装包(.whl 文件),方便用户在自己的环境中进行安装。安装时,.whl 文件会自动安装运行库所需的依赖,但并不会自动安装深度学习框架(如 PyTorch、ONNX、OpenVINO),这样用户可以选择自己需要的版本。
pip install <Wheel-File>.whl
在此安装方式下,所有支持包都会被安装,用户可以直接运行本地推理。如果需要特定版本的重要依赖库,例如 PyTorch 或 ONNX,建议在安装后自行安装这些库。
深度学习库安装 :如果需要使用本地 Python 进行推理,并希望安装所有必要的深度学习库,请使用以下命令:
pip install <Wheel-File>.whl[dl]
该命令会同时安装推理所需的深度学习库。
然后您的DaoAI Python Linux/Jetson SDK 模组就安装完毕了
接下来请参考 3. 激活您的Linux/Jetson SDK
2.b Jetson 安装
Linux 需要首先安装 Python 3.8 并且使用 venv 虚拟环境来运行
如果您已经安装了Python, 您可以使用以下命令来确认您的版本
python3 --version
在工作路径下,使用以下命令来创建一个 venv 虚拟环境
python3 -m venv <虚拟环境名称>
source <虚拟环境名称>/bin/activate
然后使用以下命令安装wheel文件,使用时确保terminal的当前路径下包含whl文件。
默认安装方式 :daoai_vision 提供了二进制的安装包(.whl 文件),方便用户在自己的环境中进行安装。安装时,.whl 文件会自动安装运行库所需的依赖,但并不会自动安装深度学习框架(如 PyTorch、ONNX、OpenVINO),这样用户可以选择自己需要的版本。
pip install <Wheel-File>.whl
在此安装方式下,所有支持包都会被安装,用户可以直接运行本地推理。如果需要特定版本的重要依赖库,例如 PyTorch 或 ONNX,建议在安装后自行安装这些库。
深度学习库安装 :如果需要使用本地 Python 进行推理,并希望安装所有必要的深度学习库,请使用以下命令:
pip install <Wheel-File>.whl[dl]
该命令会同时安装推理所需的深度学习库。
请注意您需要遵循官方的网址下载正确版本的 torchvision https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
也可以参考以下命令,以下命令安装的是 torchvision 0.16.1
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.16.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.16.1
python3 setup.py install
cd ../
然后您的DaoAI Python Linux/Jetson SDK 模组就安装完毕了
接下来请参考 3. 激活您的Linux/Jetson SDK
3. 激活您的Linux/Jetson SDK
接下来您需要在终端中运行以下命令来激活您的许可证,如果您没有激活码 和机器许可证文件,请参考 DLSDK显示License Check Fail
daoai_vision activate --license ABCDEF-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XX --machine <machine-file-path>
该命令会验证您的许可证文件,并缓存30天,之后需要重新运行命令。
Note
重新运行时,需要添加 -r flag 来清除之前的许可证缓存,如果您使用了无效的许可证,再次尝试激活时 也需要使用 -r flag
激活成功后您就可以正常使用Python SDK了, 您可以使用import daoai_vision 语句来导入模组。
import daoai_vision as dv
4. Python Linux/Jetson SDK 的使用
daoai_vision 支持多种推理部署方式,包括本地部署和远程托管部署。根据不同的需求,可以选择适合的部署方式来运行模型推理。主要有三种部署方式:
- 自托管部署
自托管部署是在用户自己的硬件上运行模型推理,主要有两种方式: 原生Python部署 和 Docker 服务器部署 。
原生 Python 部署
使用原生 Python 在本地硬件上运行推理。可以通过以下代码加载模型并进行推理:
import daoai_vision as dv MODEL_ZIP = 'path/to/downloaded/zip' # 模型文件 (.zip / .dwm) DEVICE = 'gpu' # 可选设备: cpu / gpu IMG_PATH = 'path/to/image' # 待推理的图像路径 model = dv.get_model(model_zip=MODEL_ZIP, device=DEVICE) results = model.infer(IMG_PATH)
也可以通过命令行工具运行推理,使用如下命令:
daoai_vision infer -i /path/to/image.png -m /path/to/model.zip --native-python
该命令会在终端打印推理结果的概要,并将结果保存为 JSON 文件,输出到与输入图像相同的目录。
Docker 服务器部署
使用 Docker 运行推理服务器,服务器可以在后台运行,并接受推理请求。
启动服务器:
daoai_vision server enable
运行推理请求:
可以通过命令行工具发送推理请求:
daoai_vision infer -i /path/to/image.png -m /path/to/model.zip
也可以在 Python 中设置 server=True 来发送推理请求:
import daoai_vision as dv model = dv.get_model(model_zip=MODEL_ZIP, server=True) results = model.infer(IMG_PATH)
- 托管部署
托管部署允许将推理请求发送到 DaoAI World 的远程推理服务器。此时,需要指定远程服务器的 URL。
通过命令行发送请求:
daoai_vision infer -i /path/to/image.jpg -m /path/to/model.zip -url http://remote-server.com:PORT
在 Python 中使用托管推理:
import daoai_vision as dv model = dv.get_model(model_zip=MODEL_ZIP, server=True) results = model.infer(IMG_PATH, url='http://remote-server.com:PORT')
SDK
更详细的SDK,函数接口,数据结构等,请查阅SDK文档:
代码示例
代码示例有C++和C#两个示例项目:
桌面应用程序
桌面应用程序使用C++,基于DaoAI World SDK开发,主要功能是实现深度学习的推理,并输出推理结果及可视化,供客户参考。