深度学习部署:FastDeploy部署教程(CSharp版本)

FastDeploy部署教程(CSharp版本)

1. FastDeploy介绍

FastDeploy是一款全场景易用灵活极致高效的AI推理部署工具, 支持云边端部署。提供超过 🔥160+ TextVisionSpeech跨模态模型📦开箱即用的部署体验,并实现🔚端到端的推理性能优化。包括 物体检测、字符识别(OCR)、人脸、人像扣图、多目标跟踪系统、NLP、Stable Diffusion文图生成、TTS 等几十种任务场景,满足开发者多场景、多硬件、多平台的产业部署需求。

在这里插入图片描述

2. FastDeploy 部署(C++)

参考:

FastDeploy 安装教程

3. FastDeploy 部署(CSharp)

FastDeploy C# SDK的接口实现,为用户需要C# API的场景提供解决方案。

3.1 FastDeploy 源码编译

  1. CMAKE_CONFIGURATION_TYPES 属性设置为Release

  2. 请不要勾选WITH_GPUENABLE_TRT_BACKEND

  3. 开启

    ENABLE_ORT_BACKEND=ON
    ENABLE_PADDLE_BACKEND=ON 
    ENABLE_OPENVINO_BACKEND=ON 
    ENABLE_VISION=ON 
    ENABLE_TEXT=ON 
    WITH_CAPI=ON 
    WITH_CSHARPAPI=ON 
    
  4. 指定CMAKE_INSTALL_PREFIX 安装路径

  5. 生成fastdeploy.sln解决方案文件选择Release版本,生成编译,点击"INSTALL"->右键点击"生成"将编译好的SDK安装到先前指定的目录步骤⑤。

    在这里插入图片描述

3.2 创建CSharp项目

  1. 在项目引用中添加–>fastdeploy_csharp;

  2. nuget 包添加OpenCvSharp、OpenCvSharp.Extensions等包

  3. 在debug\relese项目文件夹中添加Fastdeploy的动态链接库;

fastdeploy_init.bat install %cd% D:\workSpace\Paddle\deploy\FastDeplyCsharp\FastDeplyCsharp\bin\x64\Debug
  1. 结果预览

在这里插入图片描述

在这里插入图片描述

3.3 源代码

//目标检测
public  void fastdeployDetInfer(string image_path)
{string model_dir = "D://workSpace//Paddle//models//ppyoloe_crn_l_300e_coco";string model_file = model_dir + "\\" + "model.pdmodel";string params_file = model_dir + "\\" + "model.pdiparams";string config_file = model_dir + "\\" + "infer_cfg.yml";RuntimeOption runtimeoption = new RuntimeOption();int device_option = 0;if (device_option == 0){runtimeoption.UseCpu();}else{runtimeoption.UseGpu();}fastdeploy.vision.detection.PPYOLOE model = new fastdeploy.vision.detection.PPYOLOE(model_file, params_file, config_file, runtimeoption, ModelFormat.PADDLE);if (!model.Initialized()){Console.WriteLine("Failed to initialize.\n");}Mat image = Cv2.ImRead(image_path);fastdeploy.vision.DetectionResult res = model.Predict(image);//Console.WriteLine(res.ToString());Mat res_img = fastdeploy.vision.Visualize.VisDetection(image, res, 0.5f, 1, 0.5f);InferPictureBox.Image = res_img.ToBitmap();
}
// 语义分割
public void fastdeplySegInfer(string image_path)
{string model_dir = "D://workSpace//Paddle//models//PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer";string model_file = model_dir + "\\" + "model.pdmodel";string params_file = model_dir + "\\" + "model.pdiparams";string config_file = model_dir + "\\" + "deploy.yaml";RuntimeOption runtimeoption = new RuntimeOption();runtimeoption.UseCpu();fastdeploy.vision.segmentation.PaddleSegModel model = new fastdeploy.vision.segmentation.PaddleSegModel(model_file, params_file, config_file, runtimeoption, ModelFormat.PADDLE);if (!model.Initialized()){Console.WriteLine("Failed to initialize.\n");}Mat image = Cv2.ImRead(image_path);fastdeploy.vision.SegmentationResult res = model.Predict(image);Console.WriteLine(res.ToString());Mat res_img = fastdeploy.vision.Visualize.VisSegmentation(image, res, 0.5f);InferPictureBox.Image = res_img.ToBitmap();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苏州OV泛域名RSA加密算法https

RSA加密算法是一种非对称加密算法,它被广泛应用于信息安全领域。与对称加密算法不同,RSA加密算法使用了两个密钥,一个公钥和一个私钥。公钥可以公开,任何人都可以使用它加密信息,但只有私钥的持有者才能解密信息。RSA加…

TZOJ 曹冲养猪 (扩展)中国剩余定理

求解: M a1 (b1) M a2 (b2) M a3 (b3) ........ 对于 上述式子我们可以拆成 : M b1 * p a1 b2 * q a2 左右移项得到: b1 * p - b2 * q a2 - a1 可以发现 这就是一个同余方程: a b1 , b b2 , x p , y q , c …

虹科方案 | 汽车总线协议转换解决方案(二)

上期说到,虹科的PCAN-LIN网关在CAN、LIN总线转换方面有显著的作用,尤其是为BMS电池通信的测试提供了优秀的解决方案。假如您感兴趣,可以点击文末相关链接进行回顾! 而今天,虹科将继续给大家带来Router系列在各个领域的…

单调递增的数字——力扣738

文章目录 题目描述解法题目描述 解法 #include<iostream> #include<string>using namespace std;int monotoneIncreasingDigits

腾讯云服务器CPU大全_处理器主频型号清单

腾讯云服务器CPU采用什么处理器型号&#xff1f;主频睿频多少&#xff1f;腾讯云服务器CPU性能如何&#xff1f;云服务器CVM规格不同CPU型号也不同&#xff0c;轻量应用服务器的CPU处理器性能如何&#xff1f;腾讯云服务器网分享腾讯云服务器CPU处理器大全&#xff1a; 目录 …

竞赛项目 深度学习的口罩佩戴检测 - opencv 卷积神经网络 机器视觉 深度学习

文章目录 0 简介1 课题背景&#x1f6a9; 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现数据集 2.4 实现代码2.5 检测效果 3 口罩佩戴检测算法评价指标3.1 准确率&#xff08;Accuracy&#xff09;3.2 精确率(Precision)和召回率(Recall)3.3 平均精…

Ubuntu18.04搭配无人机仿真环境(ROS,PX4,gazebo,Mavros,QGC安装教程)

Ubuntu18.04搭配无人机仿真环境 ROS环境配置版本安装 gazebo安装Mavrosa安装PX4源码下载和编译运行仿真地面站安装 ROS环境配置 我个人使用了代理环境进行下载。Linux没有代理的可以使用国内源。 清华大学源 sudo sh -c ‘. /etc/lsb-release && echo “deb http://m…

SpringBoot 该如何预防 XSS 攻击

XSS 漏洞到底是什么&#xff0c;说实话我讲不太清楚。但是可以通过遇到的现象了解一下。在前端Form表单的输入框中&#xff0c;用户没有正常输入&#xff0c;而是输入了一段代码&#xff1a;</input><img src1 onerroralert1> 这个正常保存没有问题。问题出在了列表…

SpringSpringBoot常用注解

目录 一、核心注解二、Spring Bean 相关2.1 Autowired2.2 Component, Repository, Service, Controller2.3 RestController 与 Controller2.4 Configuration 与 Component2.5 Scope 三、处理常见的 HTTP 请求类型3.1 GET 请求3.2 POST 请求3.3 PUT 请求3.4 DELETE 请求3.5 PATC…

路由导航守卫中document.title = to.meta.title的作用以及路由跳转修改页面title

目录 &#x1f53d; document.title to.meta.title的作用 &#x1f53d; Vue路由跳转时如何更改页面title &#x1f53d; document.title to.meta.title的作用 路由导航守卫如下&#xff1a; router.beforeEach(async (to, from, next) > {document.title to.meta.ti…

原型模式(C++)

定义 使用原型实例指定创建对象的种类&#xff0c;然后通过拷贝这些原型来创建新的对象。 应用场景 在软件系统中&#xff0c;经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化&#xff0c;这些对象经常面临着剧烈的变化&#xff0c;但是它们却拥有比较稳定一致的…

js 正则表达式

js 正则表达式 http://tool.oschina.net/regex https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions 11 22 333