c#训练yolov5-yolo26
form1using Microsoft.VisualBasic.ApplicationServices; // VB应用程序服务本程序实际上没有使用可以删除 using System; // C#基础类 using System.Diagnostics; // Process进程类 using System.Windows.Forms; // WinForms界面 using System.Xml.Linq; // XML操作本程序没有使用可以删除 namespace YOLOTrainTool { public partial class Form1 : Form { // 保存启动的Python进程 Process process; // 窗体构造函数 public Form1() { // 初始化窗体控件 InitializeComponent(); } /// summary /// 点击开始训练 /// /summary private void btnStart_Click(object sender, EventArgs e) { // Python解释器路径 string pythonExe \\Python38\\python.exe; // train.py路径 string script txtScript.Text; // data.yaml路径 string data txtData.Text; // 训练轮数 string epochs txtEpochs.Text; // 组合命令参数 // 最终效果 // python train.py --data xxx.yaml --epochs 100 string args $\{script}\ --data \{data}\ --epochs {epochs}; // 创建启动信息对象 ProcessStartInfo psi new ProcessStartInfo(); // 要启动的程序 psi.FileName pythonExe; // 传递给python的参数 psi.Arguments args; // 不使用Windows Shell启动 psi.UseShellExecute false; // 重定向标准输出 psi.RedirectStandardOutput true; // 重定向错误输出 psi.RedirectStandardError true; // 不弹CMD窗口 psi.CreateNoWindow true; // 创建进程对象 process new Process(); // 设置启动参数 process.StartInfo psi; // Python正常输出事件 process.OutputDataReceived (s, ev) { // 判断是否有输出 if (ev.Data ! null) // 因为不是UI线程所以需要Invoke更新界面 Invoke(new Action(() txtLog.AppendText(ev.Data \r\n))); }; // Python错误输出事件 process.ErrorDataReceived (s, ev) { if (ev.Data ! null) // 红色输出可以自己改RichTextBox实现 Invoke(new Action(() txtLog.AppendText([ERR] ev.Data \r\n))); }; // 启动Python process.Start(); // 开始异步读取标准输出 process.BeginOutputReadLine(); // 开始异步读取错误输出 process.BeginErrorReadLine(); // 日志提示 txtLog.AppendText(训练启动...\r\n); } /// summary /// 点击停止训练 /// /summary private void btnStop_Click(object sender, EventArgs e) { // 判断进程是否存在并且还没退出 if (process ! null !process.HasExited) { // 强制结束Python process.Kill(); // 输出提示 txtLog.AppendText(训练停止\r\n); } } /// summary /// 选择train.py /// /summary private void btnSelectScript_Click(object sender, EventArgs e) { // 文件选择框 OpenFileDialog dlg new OpenFileDialog(); // 过滤Python文件 dlg.Filter Python Files|*.py; // 点击确定 if (dlg.ShowDialog() DialogResult.OK) // 保存路径 txtScript.Text dlg.FileName; } /// summary /// 选择data.yaml /// /summary private void btnSelectData_Click(object sender, EventArgs e) { // 文件选择框 OpenFileDialog dlg new OpenFileDialog(); // 过滤yaml dlg.Filter YAML Files|*.yaml; // 点击确定 if (dlg.ShowDialog() DialogResult.OK) // 保存路径 txtData.Text dlg.FileName; } /// summary /// 选择Python解释器 /// /summary private void btnSelectPython_Click(object sender, EventArgs e) { // 文件选择框 OpenFileDialog dlg new OpenFileDialog(); // 只显示python.exe dlg.Filter Python|python.exe; // 点击确定 if (dlg.ShowDialog() DialogResult.OK) // 保存Python路径 txtPython.Text dlg.FileName; } } }

相关新闻

Docker Swarm服务部署与镜像管理最佳实践

Docker Swarm服务部署与镜像管理最佳实践

1. Docker Swarm服务部署与镜像管理核心逻辑在容器编排领域,服务部署和镜像管理是两大支柱性功能。Docker Swarm通过声明式API将这两个核心功能紧密结合,形成了一套高效的工作流体系。当我们在Swarm集群中执行docker service create命令时,实…

2026/7/26 9:20:40 阅读更多 →
C++内存管理:new与栈对象的核心差异与选择策略

C++内存管理:new与栈对象的核心差异与选择策略

1. 从一道经典面试题说起: new 与栈对象的抉择 最近在带新人,发现很多刚接触C的朋友,甚至一些工作一两年的开发者,对 new 这个关键字的使用场景和背后的代价依然模糊不清。面试时也常遇到这样的问题:“说说在C里用…

2026/7/26 9:20:40 阅读更多 →
C++ istream深度解析:从状态管理到性能优化实战

C++ istream深度解析:从状态管理到性能优化实战

1. 项目概述:为什么需要深入理解istream?在C的世界里,输入输出(I/O)是程序与外界交互的基石。无论是从键盘读取用户指令,从文件加载配置数据,还是解析网络传输的字节流,都离不开I/O流…

2026/7/26 9:20:40 阅读更多 →

最新新闻

linux的rmdir命令详解

linux的rmdir命令详解

Linux rmdir 命令超详细详解rmdir Remove Directory,是 Linux 系统中专门用于删除空目录的标准 POSIX 命令。它的核心设计就是安全优先:仅能删除空目录,目录内有任何文件或子目录都会直接报错,从根源上避免了误删大量数据的风险&…

2026/7/26 9:26:41 阅读更多 →
ChatGPT内容粘贴后符号丢失怎么办?AI导出鸭帮你解决Word导出难题

ChatGPT内容粘贴后符号丢失怎么办?AI导出鸭帮你解决Word导出难题

标题1(31字): ChatGPT内容粘贴后符号丢失怎么办?用AI导出鸭一键修复格式错乱 标题2(33字): ChatGPT内容粘贴后符号丢失怎么办?AI导出鸭三种方式轻松搞定 标题3(32字&…

2026/7/26 9:26:41 阅读更多 →
AM261x硬件加速器实战:CCS与AES引擎的编程详解与性能优化

AM261x硬件加速器实战:CCS与AES引擎的编程详解与性能优化

1. 项目概述与硬件加速器价值在嵌入式系统开发,尤其是涉及高速数据通信、大容量存储或实时音视频处理的场景里,CPU常常会被一些重复且计算密集的算法拖累。比如,你要对每秒几百兆的网络数据包进行CRC校验,或者对实时采集的视频流进…

2026/7/26 9:26:41 阅读更多 →
5分钟学会:本地AI工具如何轻松提取视频硬字幕

5分钟学会:本地AI工具如何轻松提取视频硬字幕

5分钟学会:本地AI工具如何轻松提取视频硬字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取。A…

2026/7/26 9:26:41 阅读更多 →
终极塞尔达传说存档编辑器:免费高效的Switch游戏修改工具

终极塞尔达传说存档编辑器:免费高效的Switch游戏修改工具

终极塞尔达传说存档编辑器:免费高效的Switch游戏修改工具 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 你是否曾经在《塞尔达传说:旷野之…

2026/7/26 9:26:41 阅读更多 →
补签,可以补签任何天数

补签,可以补签任何天数

/*** 获取某一天 0 点(本地时间)的时间戳(秒)* param {number} timestamp - 任意时间戳(秒)* returns {number} 当天 0 点的本地时间戳(秒)*/ function getLocalDateZero(timestamp)…

2026/7/26 9:25:41 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻