C# Sdcb.Paddle2Onnx Paddle模型通过C#转换为ONNX模型

news/2024/11/25 13:31:20/

https://github.com/sdcb/PaddleSharp/blob/feature/2.5/docs/paddle2onnx.md

效果

项目

 代码

using Sdcb.Paddle2Onnx;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Paddle模型转ONNX模型
{public partial class Form1 : Form{public Form1(){InitializeComponent();}string pdiparamsfileFilter = "*.pdiparams|*.pdiparams";string pdmodelfileFilter = "*.pdmodel|*.pdmodel";string paramsFile;string modelFile;StringBuilder sb = new StringBuilder();DateTime dt1 = DateTime.Now;DateTime dt2 = DateTime.Now;private void button1_Click(object sender, EventArgs e){sb.Clear();textBox3.Text = "";if (string.IsNullOrEmpty(modelFile) || string.IsNullOrEmpty(paramsFile)){return;}dt1 = DateTime.Now;bool can = Paddle2OnnxConverter.CanConvert(modelFile, paramsFile);Console.WriteLine(can);if (can){byte[] modelBuffer = File.ReadAllBytes(modelFile);PaddleModelInfo modelInfo = Paddle2OnnxConverter.DescribePaddleModel(modelBuffer);sb.AppendLine($"PaddleModel Input: {string.Join(", ", modelInfo.InputNames)}");sb.AppendLine($"PaddleModel Output: {string.Join(", ", modelInfo.OutputNames)}");sb.AppendLine("");byte[] paramsBuffer = File.ReadAllBytes(paramsFile);byte[] onnxModel = Paddle2OnnxConverter.ConvertToOnnx(modelBuffer, paramsBuffer);OnnxModelInfo onnxInfo = Paddle2OnnxConverter.DescribeOnnxModel(onnxModel);sb.AppendLine("OnnxModel Input:");sb.AppendLine(string.Join("\r\n", onnxInfo.Inputs.Select(x => x.ToString())));sb.AppendLine("OnnxModel Output:");sb.AppendLine(string.Join("\r\n", onnxInfo.Outputs.Select(x => x.ToString())));//输出onnx模型 using (FileStream fs = new FileStream("model.onnx", FileMode.OpenOrCreate, FileAccess.Write)){fs.Write(onnxModel, 0, onnxModel.Length);}dt2 = DateTime.Now;sb.AppendLine("----------------------------------------------------------------------");sb.AppendLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));sb.AppendLine("耗时:" + (dt2 - dt1).TotalMilliseconds + "ms\n");textBox3.Text = sb.ToString();//MessageBox.Show("ok");}else{MessageBox.Show("该Paddle模型不能转成ONNX模型");}}/// <summary>/// paramsFile/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Filter = pdiparamsfileFilter;if (ofd.ShowDialog() != DialogResult.OK) return;paramsFile = ofd.FileName;textBox1.Text = paramsFile;}/// <summary>/// modelFile/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Filter = pdmodelfileFilter;if (ofd.ShowDialog() != DialogResult.OK) return;modelFile = ofd.FileName;textBox2.Text = modelFile;}}
}

Demo下载


http://www.ppmy.cn/news/877689.html

相关文章

梦幻西游维护公告里面的可转服务器,6月21日维护公告 玩家可预定服务器转移...

玩家可以选择任一台当前可转入服务器作为预订服务器(花费100万梦幻币),从预定时间起14天内,被预订的服务器不受列表更换影响。 亲爱的玩家朋友: 为保证服务器的运行稳定和服务质量,《梦幻西游》所有服务器将于2011年6月21日上午8:00停机,进行每周例行的维护工作。预计维护…

梦幻单机游戏添加怪物lua

添加怪物只需要在 服务端添加即可 要注意2个地方 任务处理类.lua 和 main.lua 完整刷怪实例 下面代码 后面有注释 创建此怪物 function 任务处理类:刷出傲世仙魂() --建立刷怪 local 地图范围{1040} --刷怪地图ID 1040代表西凉local 刷新地图{} …

梦幻当前服务器为维护完成,维护公告

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 亲爱的玩家朋友&#xff1a; 为保证服务器的运行稳定和服务质量&#xff0c;《梦幻西游》所有服务器将于2017年7月4日上午8:00停机&#xff0c;进行每周例行的维护工作。预计维护时间为上午8:00至9:30。请各位玩家相互转告&#x…

关于端午节的网页设计HTML,梦幻西游网页版2021端午节活动龙舟竞渡攻略大全

梦幻西游网页版端午节活动龙舟竞渡中玩家可以获得端午节限定锦衣、头像框、称谓等奖励&#xff0c;那么梦幻西游网页版2021端午节活动龙舟竞渡怎么玩&#xff1f;下面和游戏宝小编一起去了解一下吧。 梦幻西游网页版2021端午节活动龙舟竞渡攻略大全 【端午节活动-龙舟竞渡】 玉…

9月4日服务器例行维护公告,《梦幻西游》2018年9月4日定期维护公告

亲爱的玩家朋友&#xff1a; 为保证服务器的运行稳定和服务质量&#xff0c;《梦幻西游》所有服务器将于2018年9月4日上午8:00停机&#xff0c;进行每周例行的维护工作。预计维护时间为上午8:00至9:30。请各位玩家相互转告&#xff0c;并提前留意游戏时间&#xff0c;以免造成不…

玩呗服务器维护需要多久,梦幻西游2013年5月21日定期维护公告17173.com游戏门户:《梦幻西游》专区...

为保证服务器的运行稳定和服务质量&#xff0c;《梦幻西游》所有服务器将于2013年5月21日上午8:00停机&#xff0c;进行每周例行的维护工作。预计维护时间为上午8:00&#xff5e;9:45。如果在预定时间内无法完成维护内容&#xff0c;开机时间也将继续顺延。请各位玩家相互转告&…

开心分期服务器升级维护中,梦幻西游:维护大赞,梦幻服务器硬件喜迎升级!2008终于不再卡了...

原标题&#xff1a;梦幻西游&#xff1a;维护大赞&#xff0c;梦幻服务器硬件喜迎升级&#xff01;2008终于不再卡了 今天小编依旧是给大家带来梦幻的最新资讯&#xff0c;那么其中包括了般若天女&#xff0c;一件召唤兽装备&#xff0c;一个鲛人宝宝和梦幻王境泽&#xff0c;那…

梦幻西游维护测试服务器仅开放转入,梦幻西游5月24日定期维护公告 角色转移全服开放...

亲爱的玩家朋友&#xff1a; 为保证服务器的运行稳定和服务质量&#xff0c;《梦幻西游》所有服务器将于2011年5月24日上午8:00停机&#xff0c;进行每周例行的维护工作。预计维护时间为上午8:00&#xff5e;9:00。如果在预定时间内无法完成维护内容&#xff0c;开机时间也将继…