前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用C#实战深度学习项目:PaddleSeg分割模型在C#下部署

用C#实战深度学习项目:PaddleSeg分割模型在C#下部署

原创
作者头像
AI小怪兽
修改2024-01-18 09:53:44
6791
修改2024-01-18 09:53:44
举报
文章被收录于专栏:YOLO大作战

⚡️⚡️⚡️摘要:教会你PaddleSeg分割模型如何在C#下部署

1.C#下部署方式介绍

1.FastDeploy介绍

源码链接:https://github.com/PaddlePaddle/FastDeploy

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

1.2 FastDeploy 推理后端及能力

使用FastDeploy可以简单高效的在X86 CPU、NVIDIA GPU、飞腾CPU、ARM CPU、Intel GPU、昆仑、昇腾、瑞芯微、晶晨、算能等10+款硬件上对PaddleSeg语义分割模型进行快速部署,并且支持Paddle Inference、Paddle Lite、TensorRT、OpenVINO、ONNXRuntime、RKNPU2、SOPHGO等多种推理后端。

1.3 FastDeploy应用场景

FastDeploy满足多个部署场景,例如城市管理、智慧交通、智慧工业、智能制造、文体娱乐以及智慧金融等。

2.项目实战

2.1 通过FastDeploy C#(csharp) 部署PaddleSeg模型

主工程如下图所示:需要引用fastdeploy_csharp.dll和OpenCvSharp4

2.1源代码如下

代码语言:csharp
复制

using System;
using System.IO;
using System.Runtime.InteropServices;
using OpenCvSharp;
using fastdeploy;

namespace inferdemo
{
	class Program
	{
		static void Main(string[] args)
		{
            string model_dir="model\\PP_LiteSeg_B_STDC2_cityscapes_without_argmax_infer";
            string image_path = "model\\cityscapes_demo.png";
            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.UseGpu();
         

            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);
            Cv2.ImShow("result.png", res_img);
            Cv2.WaitKey(10000);
        }
	}
}

2.2 结果可视化

可视化结果图:

by AI小怪兽

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.C#下部署方式介绍
    • 1.FastDeploy介绍
      • 1.2 FastDeploy 推理后端及能力
        • 1.3 FastDeploy应用场景
        • 2.项目实战
          • 2.1 通过FastDeploy C#(csharp) 部署PaddleSeg模型
            • 2.1源代码如下
              • 2.2 结果可视化
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档