本文介绍了基于DeploySharp开发的深度学习模型部署测试平台的使用方法。该平台支持YOLO系列模型(v5-v13)及多种应用场景,提供OpenVINO和ONNX Runtime两种推理引擎,支持CPU/GPU/NPU等多种设备。文章详细说明了程序下载方式、模型选择、推理引擎配置以及设备匹配关系... ...
DeploySharp:面向C#开发者的跨平台模型部署框架 DeploySharp是一款专为C#开发者设计的深度学习模型部署框架,支持OpenVINO和ONNX Runtime推理引擎,兼容YOLOv5-v12全系列模型以及Anomalib等主流模型。该框架采用模块化设计,通过核心命名空间Deplo... ...
U8 API接口集成主要用于第三方系统与用友U8ERP系统进行数据交互,实现业务系统对接 文档中接口集成了用友U8各个版本的数据对接功能,支持U8.9到 U818.0版本要求,摒弃了eai、openapi、api、暴力插库等接口的方式,全部采用co进行集成,通过几十个大大小小项目的对接、迭代验证,展 ...
在编写UI的过程中,我们通常使用ObservableCollection来监听列表的变化。然而,ObservableCollection只能在添加/移动/移除元素时通知界面,这意味着元素内部更改时,ObservableCollection是无法通知的 如果需要监听列表元素内部的更改,可以使用Syst ...
基础概念 CsWin32 是微软开发的一个 C# 的源生成器,可以按需生成 C# PInvoke 代码,也支持生成系统的 COM 接口定义。 ComWrappers 是 dotnet 5 引入的新的和 COM api 互操作的组件。 生成支持 AOT 的 COM 接口 使用 CsWin32 生成 C ...
一、前言 上节课程我们实现了连接形状不同的连接点,但在实际使用中会发现很繁琐,需要分别指定开始形状和结束形状的连接点,这明显不符合操作经验逻辑。我们本节课程就来实现鼠标拖动完成连线,拖到哪个连接点就对哪个连接点完成连线,所见即所得,而且在拖动连线过程中,还会实时显示虚线箭头用于提示。 相信看完的你, ...
使用Inno Setup制作WPF开发的桌面应用程序流程 1.项目框架布局 项目目录:D:\Project\XenD101H\Tools,这个目录我将下载innosetup-6.2.2.exe 安装的程序放置这里,以及有几个脚本执行文件,最后输出RadarSensorConfigTool.exe,放 ...
同步代码和异步代码 一般而言,代码可分为同步与异步两类。两者同样需要等待操作完成:同步会阻塞当前线程,直至操作结束后再继续执行后续逻辑;异步则不阻塞当前线程,而是在发起操作时预先注册完成后的处理逻辑,待操作完成时由操作本身或外部机制触发该逻辑。 于是这就带来一个问题,那就是同步代码和异步代码的写法是 ...
一:背景 1. 讲故事 分享了几篇崩溃,这一篇跟大家分享一例内存暴涨,训练营里有位学员朋友找到我,说他们的软件存在内存暴涨,让我帮忙看下怎么回事,dump也抓到了。 二:内存暴涨分析 1. 内存真的暴涨吗 一直都给训练营里的学员灌输一个思想,就是不要相信任何人说的话,而应该是以数据说话,由于是 li ...
CSV(逗号分隔值)作为轻量级数据交换格式,广泛应用于财务报表、用户数据、分析结果等场景。在.NET 开发中,高效处理和解析 CSV 文件是一项基础且重要的技能。本文将介绍如何借助Spire.XLS for .NET 通过 C# 读取 CSV 文件,包括直接读取和将 CSV 转换为 DataTabl... ...
一:背景 1. 讲故事 前段时间有位训练营的学员找到我,说他们的软件在客户那边崩溃了,没找到是什么原因,比较着急,让我帮忙看下是怎么回事?毕竟我的学员是永久的免费dump分析,必须给他上一卦。 二:崩溃分析 1. 为什么会崩溃 关于怎么分析崩溃dump,这个在训练营里面早已整出来了套路,先用 !an ...
一:背景 1. 讲故事 上一篇跟大家聊到了 CancellationTokenSource,今天跟大家聊到的是另一个话题叫组合变更令牌 CompositeChangeToken,当前我所有的研究都是基于dump分析之用,所以偏重的点自然就不一样,如果纯纯的研究源码那可能就是入门到放弃。。。接下来说下 ...
GEMM(General Matrix Multiply,通用矩阵乘法)是科学计算与深度学习等领域的核心算法。 以前用 C# 开发的GEMM程序的性能,比MKL、OpenBLAS差得远,这是因为那时的 .NET 不支持SIMD硬件加速技术。从2014年开始, .NET 对SIMD硬件加速技术的支持越... ...
一:背景 1. 讲故事 最近在分析一个崩溃dump时,发现祸首和AssemblyLoadContext有关,说实话这东西我也比较陌生,后来查了下大模型,它主要奔着替代 .NetFrameWork 时代的 AppDomain 的,都是用来做晚期加卸载,实现对宿主程序的可插拔,AppDomain.Cre ...
PocoEmit使用比较简单对于大部分转化是不需要手动配置 可以替代AutoMapper的大部分工作,实现精简代码,提高性能 一、获取Mapper实例 1. 获取Mapper默认实例 Default是一个静态延迟初始化的默认实例 IMapper mapper = PocoEmit.Mapper.De ...
一:背景 1. 讲故事 前段时间微信上有位非调试训练营学员找到我,说他们的医疗软件有点问题,有时候卡了一会就好了,有时候卡了很久,让我帮忙看下怎么回事,我让这位朋友在卡的时候抓一个dump给我,我分析看看。 二:卡死分析 1. 为什么会卡死 对于窗体程序的卡死,主要就是看主线程此时正在做什么,使用 ...
现在的情况是: Windows 宿主机 IP:192.168.1.101 VMnet8 虚拟网卡 IP:192.168.1.111 CentOS7 上安装了 GitLab,external_url 配置成 http://192.168.1.111:8000 你希望在“本地电脑”(应该是同一局域网的另 ...
AutoMapper是让人又爱又恨的项目 爱它是因为它解决了一些问题,很多项目都有用,下载量很大,受众很广。 恨它是因为它诸多反人类的设计。 为此本人开源项目PocoEmit对标AutoMapper。 1. AutoMapper反人类设计 1.1 AutoMapper注册代码 services.Ad ...
一:背景 1. 讲故事 今年年初有位朋友在微信上找到我,说他们的系统在客户这边崩掉了,在代码中也加了全局异常处理但还是崩,不知道咋回事,让朋友在客户那边拿程序dump,拿到dump之后开始分析。 二:崩溃分析 1. 为什么会崩溃 既然是崩溃,那就用 !analyze -v 命令观察下windbg给我 ...
在上文构建源生成器的过程中,我们使用字符串直接插入代码。这样做固然方便快捷,但字符串需要手动格式化,且无法检测拼写错误,这对需要生成复杂结构的源生成器项目很不友好。 本文将介绍生成代码的另一种方式:使用Roslyn API构建语法树。 什么是语法树 (Syntax Tree)? 语法树是编译器用于理 ...