开发功能 ============= 本章将详细介绍 DaoAI World 软件开发包 (SDK) 的配置和使用。DaoAI World SDK 提供了一套全面的工具,用于调用深度学习模型、处理输出及执行各种通用功能,以满足软件开发的需求。 **培训内容大纲**: `培训ppt `_ .. raw:: html
| 首先需要下载 `DaoAI World SDK `_ - **C++** 和 **C#** : DaoAI_World_C++_C#_SDK_2.24.5.0_28.zip - **Python Windows** : DaoAI_World_Python_SDK_Windows_2.24.5.0 / dlsdk-1.0.1-cp310-cp310-win_amd64.whl - **Python Linux/Jetson** : DaoAI_World_Python_SDK_Linux_Jetson_2.24.5.0/ **C++** 和 **C#** 的SDK解压后在解压目录下包含有SDK以及SDK的示例项目。 .. image:: images/install_folder.png :scale: 100% 使用Visual Studio打开DLSDK Example.sln项目。 .. image:: images/example_path.png :scale: 100% .. image:: images/vs.png :scale: 60% 项目分为C++项目,和C#项目,右键点击properties, 然后选择启动项目,来选择运行C++或者C#项目。 .. image:: images/start_up.png :scale: 70% 然后选择启动设置为release x64, 然后点击Local Windows Debugger 就可以运行项目了。 .. image:: images/run_0.png :scale: 60% .. image:: images/run_1.png :scale: 60% 使用DLSDK需要将有效的许可证管理器移动至项目路径,详情请见 :ref:`DLSDK显示 licensemanger_cli.exe is not rcognized as an internal or external command` 使用DLSDK需要有效的使用许可证,详情请见 :ref:`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++ 环境配置 ------------ 首先需要将 DLSDK 解压目录下的bin目录和3rdparty目录添加到系统环境变量path下面。 如下图,解压目录为 C:\\Users\\daoai\\Downloads\\DLSDK, 那么就需要将一下两个目录添加到path系统变量中。 C:\\Users\\daoai\\Downloads\\DLSDK\\3rdparty, \\3rdparty C:\\Users\\daoai\\Downloads\\DLSDK\\bin, \\bin .. image:: images/path_icon.png :scale: 70% .. image:: images/path_step.png :scale: 100% C++的示例项目中以下的步骤已经配置好了,如果您需要创建一个自定义项目,则需要进行以下的配置。 打开项目后,右键点击c++的项目,然后打开属性。 .. image:: images/cpp_env1.png :scale: 70% 打开C++, 在General菜单里的Additional Include Directories中添加 DLSDK 根目录下的 include 文件夹路径。 .. image:: images/cpp_env2.png :scale: 80% 打开Linker, 在General菜单里的Additional Library Directories中添加 DLSDK 根目录下的 bin 文件夹路径。 .. image:: images/cpp_env3.png :scale: 80% Linker的Input菜单里的Additional Dependencies中添加daoai_dl_sdk.lib。 .. image:: images/cpp_env4.png :scale: 80% C# 环境配置 ------------ 首先需要将 DLSDK 解压目录下的bin目录和3rdparty目录添加到系统环境变量path下面。 如下图,解压目录为 C:\\Users\\daoai\\Downloads\\DLSDK, 那么就需要将一下两个目录添加到path系统变量中。 C:\\Users\\daoai\\Downloads\\DLSDK\\3rdparty, \\3rdparty C:\\Users\\daoai\\Downloads\\DLSDK\\bin, \\bin .. image:: images/path_icon.png :scale: 70% .. image:: images/path_step.png :scale: 100% 第一步,点击C#项目中的添加reference .. image:: images/add_ref.png :scale: 100% 点击浏览,然后浏览解压目录下的bin文件夹内的 ``dl_sdk_net.dll`` 文件,勾选后,点击OK。 .. image:: images/browse_dll.png :scale: 100% 点击assembly,然后搜索 ``system.drawing`` 勾选后,点击OK。 .. image:: images/browse_assembly.png :scale: 100% Python Windows 环境配置 --------------------------------- Python Windows SDK wheel 只支持Windows环境 需要首先安装 **Python 3.10** 如果您已经安装了Python, 您可以使用以下命令来确认您的版本 .. code-block:: python3 --version 根据您的Python版本 从 `下载中心 `_ 下载 **Python Windows** : DaoAI_World_Python_SDK_Windows_2.24.5.0 目录下的.whl文件 使用以下命令安装wheel文件 .. code-block:: pip install dlsdk-1.0.1-cp310-cp310-win_amd64.whl 然后您的DaoAI Python Windows SDK 模组就安装完毕了 您可以使用以下命令来导入模组。 .. code-block:: python import dlsdk.dlsdk as dlsdk 您需要有有效的DaoAI 许可证才可以正常使用,如果您没有许可证,请参考 :ref:`DLSDK显示License Check Fail` Python Linux/Jetson 环境配置 --------------------------------- Python Linux/Jetson API 只支持在linux系统中使用,并分为 linux 机器,和Jetson 机器两种。 如果您想在Windows环境中使用, 那么请参考 :ref:`1. 使用Docker Image` 配置Docker 虚拟环境。 如果您使用的是linux环境,可以跳过 1. 并参考 :ref:`2. 安装DaoAI Python Linux/Jetson API Wheel` 来直接使用 1. 使用Docker Image ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 需要先安装Docker。 安装完成后, 运行Docker 然后打开命令栏, 输入并运行以下命令 来下载Docker Container。注意 这一步需要预留约60G的磁盘空间。 Linux 机器的Docker环境映像 可以使用以下命令 .. code-block:: docker pull daoairobotics/daoai_vision 或者,如果您是Jetson 机器,可以使用以下命令来下载 Jetson机器的 Docker环境映像 .. code-block:: docker pull daoairobotics/daoai_vision:jetson .. image:: images/pull_docker.png :scale: 100% 下载完毕后,运行以下命令运行Docker Image 并进入虚拟映像的linux环境 .. code-block:: docker run -it --gpus=all -v <本地路径>:/home/appuser/workdir daoairobotics/daoai_vision 其中 1. <本地路径> 是您本地的路径,请替换为您实际的路径。 2. /home/appuser/workdir 是Docker容器内的虚拟路径,该路径会包含第一步中指定路径的文件和文件夹。 3. daoairobotics/daoai_vision 是Docker镜像的名称。 输入命令后,如下图,您将以appuser登入Docker虚拟映像 .. image:: images/pscmd.png :scale: 100% 接下来请参考 :ref:`3. 激活您的Linux/Jetson SDK` 2. 安装DaoAI Python Linux/Jetson SDK Wheel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 根据您的机器从 `下载中心 `_ 下载 - 如果您使用的是 **Linux 机器**: 请下载 ``Linux_wheels`` 目录下的所有.whl文件, 或 - 如果您使用的是 **Jetson 机器**: 请下载 ``Jetson_wheels`` 目录下的所有.whl文件 Python Linux/Jetson SDK wheel 只支持linux环境,如果您使用的是Windows系统,那么请使用linux虚拟机,或者Docker Image。 Python Linux/Jetson SDK 支持的模型有: .. list-table:: :header-rows: 1 * - 模型类型 - 快速模式 - 准确模式 - 旋转准确模式 * - 实例分割检测 - √ - √ - x * - 关键点检测 - √ - √ - x * - 异常检测 - x - x - * - 分类检测 - √ - √ - * - 目标检测 - √ - √ - * - 语义分割 - √ - - * - OCR - x - - 2.a Linux 安装 ^^^^^^^^^^^^^^^^^^^ Linux 需要首先安装 **Python 3.10** 并且安装 **Nvidia Cuda Toolkit** 如果您已经安装了Python, 您可以使用以下命令来确认您的版本 .. code-block:: python3 --version 使用以下命令安装wheel文件,使用时确保terminal的当前路径下包含whl文件 .. code-block:: pip install *.whl pip install tritonclient-2.35.0-py3-none-any.whl[http] 然后您的DaoAI Python Linux/Jetson SDK 模组就安装完毕了 接下来请参考 :ref:`3. 激活您的Linux/Jetson SDK` 2.b Jetson 安装 ^^^^^^^^^^^^^^^^^^^ Linux 需要首先安装 **Python 3.8** 并且使用 venv 虚拟环境来运行 如果您已经安装了Python, 您可以使用以下命令来确认您的版本 .. code-block:: python3 --version 在工作路径下,使用以下命令来创建一个 venv 虚拟环境 .. code-block:: python3 -m venv <虚拟环境名称> source <虚拟环境名称>/bin/activate 然后使用以下命令安装wheel文件,使用时确保terminal的当前路径下包含whl文件。 .. code-block:: pip install *.whl pip install tritonclient-2.35.0-py3-none-any.whl[http] 请注意您需要遵循官方的网址下载正确版本的 torchvision https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048 也可以参考以下命令,以下命令安装的是 torchvision 0.16.1 .. code-block:: 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 模组就安装完毕了 接下来请参考 :ref:`3. 激活您的Linux/Jetson SDK` 3. 激活您的Linux/Jetson SDK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接下来您需要在终端中运行以下命令来激活您的许可证,如果您没有激活码 和机器许可证文件,请参考 :ref:`DLSDK显示License Check Fail` .. code-block:: daoai_vision activate --license ABCDEF-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XX --machine 该命令会验证您的许可证文件,并缓存30天,之后需要重新运行命令。 .. note:: 重新运行时,需要添加 -r flag 来清除之前的许可证缓存,如果您使用了无效的许可证,再次尝试激活时 也需要使用 -r flag .. code-block:: daoai_vision activate -r --license ABCDEF-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XX --machine 激活成功后您就可以正常使用Python SDK了, 您可以使用import daoai_vision 语句来导入模组。 .. code-block:: python import daoai_vision as dv SDK ------ 更详细的SDK,函数接口,数据结构等,请查阅SDK文档: `C++ SDK 文档 <../_static/doc_C++/index.html>`_ `C# SDK 文档 <../_static/doc_Cs/index.html>`_ 代码示例 ------------- 代码示例有C++和C#两个示例项目: .. toctree:: :maxdepth: 1 cpp_eg cs_eg python_win_eg python_eg 桌面应用程序 ------------- 桌面应用程序使用C++,基于DaoAI World SDK开发,主要功能是实现深度学习的推理,并输出推理结果及可视化,供客户参考。 .. toctree:: :maxdepth: 1 cpp_demo