当前位置: 首页 > wzjs >正文

做网站的专业网站建设行业swot分析

做网站的专业,网站建设行业swot分析,flash网站模版,网站维护费用明细GitHub:https://github.com/nndeploy/nndeploy 更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI nndeploy是一个简单易用、高性能、支持多端的AI推理部署框架。 主要解决以下模型部署中的痛点: 推理框架的碎片化…

GitHub:https://github.com/nndeploy/nndeploy

更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI

nndeploy是一个简单易用、高性能、支持多端的AI推理部署框架。

主要解决以下模型部署中的痛点:

  1. 推理框架的碎片化:现在业界尚不存在各方面都远超其同类产品的推理框架,不同推理框架在不同平台、硬件下分别具有各自的优势。例如,在NVidia显卡上TensorRT性能最佳,在x86 CPU上OpenVINO最优,在苹果生态下CoreML最佳,在ARM Android有ncnn、MNN等多种选择。
  2. 多个推理框架的学习成本、开发成本、维护成本:不同的推理框架有不一样的推理接口、超参数配置、Tensor等等,假如一个模型需要多端部署,针对不同推理框架都需要写一套代码,这对模型部署工程师而言,将带来较大学习成本、开发成本、维护成本。
  3. 模型的多样性:从模型部署的角度出发,可以分为单输入、多输入、单输出、多输出、静态形状输入、动态形状输入、静态形状输出、动态形状输出一系列不同。当这些差异点与内存零拷贝优化结合时,通常只有具备丰富模型部署经验的工程师才能快速找到最优解。
  4. 模型高性能的前后处理:模型部署不仅仅只有模型推理,还有前处理、后处理,推理框架往往只提供模型推理的功能。通常需要部署工程师基于对原始算法的理解,通过C++开发该算法前后处理,这需要大量重复工作。
  5. 多模型的复杂场景:目前很多场景需要由多个模型组合解决业务问题,没有部署框架的支持,会有大量业务代码、模型耦合度高、灵活性差、代码不适合并行等问题。

主要功能

1. 简单易用
  • 基于有向无环图部署模型: 将AI算法部署抽象为有向无环图,前处理、推理、后处理各为一个节点
  • 推理模板Infer: 模板可处理各种模型差异,包括单/多输入输出和静态/动态形状等等
  • 高效解决多模型组合场景:支持图中嵌入图​功能,将复杂任务拆分为多个独立子图,通过组合方式快速解决多模型场景问题
  • 快速构建demo:支持多种输入输出格式(图片、文件夹、视频等),通过编解码节点化实现高效通用的demo构建
2. 高性能
  • 多种并行模式:支持串行(按拓扑排序依次执行节点)、流水线并行(多帧场景下将不同节点绑定到不同线程和设备)、任务并行(多模型场景下挖掘并行性缩短运行时间)以及上述组合并行模式。
  • 线程池与内存池:通过线程池提高并发性能和资源利用率,支持CPU算子自动并行(parallel_for)提升执行效率;内存池实现高效的内存分配与释放(开发中)
  • 一组高性能的算子:完成后将加速您模型前后处理速度(开发中)
3. 支持多种推理后端
  • 一套代码多种推理后端部署:通过切换推理配置,实现一套代码即可完成模型跨多个平台以及多个推理框架部署,性能与原始框架一致
  • 当前支持的推理框架如下:
Inference/OSLinuxWindowsAndroidMacOSIOSdeveloper
TensorRT----Always
OpenVINO---Always
ONNXRuntime---Always
MNN--Always
TNN--02200059Z
ncnn----Always
coreML----JoDio-zd、jaywlinux
AscendCL----CYYAI
RKNN----100312dog
tvm----youxiudeshouyeren
snpe----yhwang-hub
4. 内置推理子模块

框架内部开发的推理子模块,作为缺省推理框架,当用户环境未编译链接其他推理框架时可使用此框架。在实际应用中,推荐使用芯片厂商提供的对应平台推理框架。

当前支持华为昇腾NPU和纯CPU算子后端。计划扩展至X86、CUDA、ARM、OpenCL等异构计算平台。

已适配主流视觉模型:图像分类(ResNet50等)、目标检测(YOLOv11等)、图像分割(RMBG1.4等)。未来将支持大语言模型(LLM)和文本图像多模态模型(Dit等)。

编译

1. 拉取源代码
git clone https://github.com/nndeploy/nndeploy.git
cd nndeploy
# 拉取子模块
git submodule update --init --recursive
# 如果拉取子模块失败,调用克隆子模块脚本
./clone_submodule.sh
2. 编译宏介绍
  • 参考编译宏文档 的详细介绍

包含了以下几类配置:

  1. 基础构建选项(建议采用默认配置):如是否构建为共享库、使用的C++标准版本等等

  2. 核心模块选项(建议采用默认配置):更细粒度控制需要编译的文件

  3. 设备后端选项(按需打开,默认全部关闭,不依赖任何设备后端):如CUDA、OpenCL、各种NPU等硬件加速支持

  4. 算子后端选项(按需打开,默认全部关闭,不依赖任何算子后端):如cudnn、onednn、xnnpack、qnnpack

  5. 推理后端选项(按需打开,默认全部关闭,不依赖任何推理后端):如TensorRT、OpenVINO、ONNX Runtime等推理框架支持

  6. 算法插件选项(建议采用默认配置,传统CV类算法打开,语言类和文生图类算法默认关闭):如检测、分割、llm、文生图等算法插件

    • 其中传统CV类算法依赖OpenCV​,例如检测、分割、分类等,需要打开ENABLE_NNDEPLOY_OPENCV​
    • 注意:其中语言类和文生图类模型​依赖C++分词器tokenizer-cpp,所以需要打开ENABLE_NNDEPLOY_PLUGIN_TOKENIZER_CPP​,打开前参考precompile_tokenizer_cpp.md
3. 编译方法

config.cmake是nndeploy的编译配置文件,用于控制项目的编译选项。

相比于原生cmake -D选项,用户配置好的编译选项文件,可保留下来多次使用,在文件上还可以增加注释,方便后续维护。

相比编译脚本,无需为每个平台编写多种类型脚本,也不会遇到脚本环境问题,只需在根目录创建build目录,将config.cmake复制到该目录,然后修改config.cmake文件,即可开始编译。

假设你在根目录下,具体命令行如下:

mkdir build                 # 创建build目录
cp cmake/config.cmake build # 将编译配置模板复制到build目录
cd build                    # 进入build目录
vim config.cmake            # 使用编辑器vscode等工具直接修改config.cmake文件
cmake ..                    # 生成构建文件
make -j                     # 使用8个线程并行编译
4. 主库编译
  • 默认编译产物为:libnndeploy_framework.so
  • 算法插件编译产物为:libnndeploy_plugin_xxx.so
  • 可执行程序编译产物为:nndeploy_demo_xxx

注:xxx代表特定算法插件和特定的可执行程序,例如:nndeploy_plugin_detect.so、nndeploy_demo_detect、nndeploy_demo_dag

5. Windows
  • 环境要求

    • cmake >= 3.12
    • Microsoft Visual Studio >= 2017
  • nndeploy提供的第三方库
    第三方库主版本Windows下载链接备注
    opencv4.8.0下载链接
    OpenVINO2023.0.1下载链接
    ONNXRuntimev1.15.1下载链接
    MNN2.6.2下载链接
    TNNv0.3.0下载链接
    ncnnv0.3.0下载链接

    注:将上述所有库打包为一个压缩包windows_x64.7z,存放在huggingface上,使用前请将压缩包windows_x64.7z解压

  • 具体步骤

    • 在根目录创建build​目录,将cmake/config.cmake​复制到该目录

      mkdir build
      cp cmake/config.cmake build
      cd build
      
    • 开始cmake​

      cmake ..
      
    • 通过visual studio打开build/nndeploy.sln​,开始编译、安装、执行

6. Linux
  • 环境要求

    • cmake >= 3.12
    • gcc >= 5.1
  • nndeploy提供的第三方库
    第三方库主版本Linux下载链接备注
    OpenVINO2023.0.1wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/ubuntu22.04_x64.tar
    ONNXRuntimev1.15.1wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/ubuntu22.04_x64.tar
    MNN2.6.2wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/ubuntu22.04_x64.tar
    TNNv0.3.0wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/ubuntu22.04_x64.tar
    ncnnv0.3.0wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/ubuntu22.04_x64.tar

    注:将上述所有库打包为一个压缩包ubuntu22.04_x64.tar,存放在huggingface上,使用前请将压缩包ubuntu22.04_x64.tar解压

    • 安装opencv

      • ​sudo apt install libopencv-dev​ 参考链接
    • 安装TensorRT cpp sdk 参考链接、cudnn、cuda、GPU driver

  • 具体步骤

    • 在根目录创建build​目录,将cmake/config.cmake​复制到该目录

      mkdir build
      cp cmake/config.cmake build
      cd build
      
    • ​cmake​

      cmake ..
      
    • 编译

      make -j
      
    • 安装, 将nndeploy的库、可执行文件、第三方库安装至build/install/lib

      make install
      
7. Android
  • 环境要求

    • cmake >= 3.12
    • ndk
  • nndeploy提供的第三方库
    第三方库主版本Android下载链接备注
    opencv4.8.0wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/android.tar
    MNN2.6.2wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/android.tar
    TNNv0.3.0wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/android.tar
    ncnnv0.3.0wget https://huggingface.co/alwaysssss/nndeploy/blob/main/third_party/android.tar

    注:将上述所有库打包为一个压缩包android.tar,存放在huggingface上,使用前请将压缩包android.tar解压

  • 具体步骤

    • 在根目录创建build​目录,将cmake/config.cmake​复制到该目录

      mkdir build
      cp cmake/config.cmake build
      cd build
      
    • 开始cmake​,需要指定ndk

      cmake .. -DCMAKE_TOOLCHAIN_FILE=/snap/android-ndk-r25c/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_STL=c++_static -DANDROID_NATIVE_API_LEVEL=android-14 -DANDROID_TOOLCHAIN=clang -DBUILD_FOR_ANDROID_COMMAND=true
      
    • 开始编译

      make -j8
      
    • 开始安装, 将nndeploy相关库可执行文件、第三方库安装至build/install/lib

      make install
      


文章转载自:

http://5IR1xvzf.nzzws.cn
http://POIxo4He.nzzws.cn
http://SVZDMKu4.nzzws.cn
http://ct6JDEzA.nzzws.cn
http://3wvJogUE.nzzws.cn
http://KwNkRF3O.nzzws.cn
http://tc5tI2Y6.nzzws.cn
http://zxaJ6l7y.nzzws.cn
http://P7AtVN6S.nzzws.cn
http://jUkesz2H.nzzws.cn
http://GWjTGEWl.nzzws.cn
http://jOqJURla.nzzws.cn
http://yqTBenSf.nzzws.cn
http://qCC9bTJy.nzzws.cn
http://Dg2uPYT5.nzzws.cn
http://LSiVRFxe.nzzws.cn
http://uHggU6rR.nzzws.cn
http://wWCgi2O8.nzzws.cn
http://fVkge0hO.nzzws.cn
http://TfjBBIQ1.nzzws.cn
http://kKuwNoP5.nzzws.cn
http://BfbmZezX.nzzws.cn
http://I3k1xkeo.nzzws.cn
http://km5NfgUF.nzzws.cn
http://SQJXcFYa.nzzws.cn
http://HxWaoSJm.nzzws.cn
http://u656zOXf.nzzws.cn
http://MkXN5clA.nzzws.cn
http://JYCVqNP2.nzzws.cn
http://sxNSnZCR.nzzws.cn
http://www.dtcms.com/wzjs/646889.html

相关文章:

  • 家电网站建设费用杭州经济技术开发区建设局网站
  • 建筑材料价格查询网站代理网络app
  • 企业所得税税率表2022年狼雨seo培训
  • 响应式布局网站模板国家再就业免费培训网
  • php做网站界面代码佛山营销网站建设联系方式
  • 公司想建个网站怎么弄网站建设365
  • 给网站添加后台包工头如何找工程项目
  • 网站logo上传小程序开发平台好牌子推荐
  • 苏州吴中区专业做网站南京做企业号微网站营销
  • 成都 做网站wordpress付费插件网站
  • 滕州市住房城乡建设局网站网站建设公司文案
  • 新乡网站建设专业熊掌网络上海网站建设工作室
  • 实木餐桌椅网站建设欧美风的网站设计
  • 服务器搭建网站步骤视频上海国际人才网
  • 网站建设服务公司哪家好常州免费企业网站建设
  • 成都品牌网站建设360广告联盟平台
  • 哪些网站可以做任务挣钱深圳企业信用网
  • 佛山智唯网站建设广告软文范例200字
  • 怎么把网站做10万ippython制作网页的基本步骤
  • 如何做财经网站团队拓展总结
  • 打开网上免费网站吗企业网站推广推广阶段
  • 网站图片最大尺寸小程序定制开发多少钱一个
  • 网站 导出链接百度app下载并安装
  • 做网站优化就是发文章吗国内永久免费crm不实名认证
  • 中职网站建设与维护考试题网站建设协议书怎么写
  • 建网站公司公司名称大全青山网站建设
  • 做数学题好的网站什么是网店推广
  • 苏州晶体公司网站建设做微网站要多少钱
  • 公司网站维护价格表2023怎么做网站赚钱的动漫网站
  • 做商城类网站空间怎么买营口网站制作