ML.NET:一个.NET开源、免费、跨平台的机器学习框架

前言

今天大姚给大家分享一个.NET开源、免费、跨平台(支持Windows、Linux、macOS多个操作系统)的机器学习框架:ML.NET。并且本文将会带你快速使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类。

ML.NET框架介绍

ML.NET 允许开发人员在其 .NET 应用程序中轻松构建、训练、部署和使用自定义模型,而无需具备开发机器学习模型的专业知识或使用 Python 或 R 等其他编程语言的经验。该框架提供从文件和数据加载的数据。数据库,支持数据转换,并包含许多机器学习算法。

AI和机器学习有什么区别?

AI 是一个计算分支,涉及训练计算机执行通常需要人类智能的操作。机器学习是 AI 的一部分,它涉及计算机从数据中学习和在数据中发现模式,以便能够自行对新数据进行预测。

ML.NET支持的.NET框架

目前ML.NET支持.NET、.NET Core (版本 2.0 及更高版本)和 .NET Framework (版本 4.6.1 及更高版本)。

框架源代码

ML.NET官方提供的使用示例

  • https://github.com/dotnet/machinelearning-samples

ML.NET使用环境安装

安装本机.NET环境

首先需要准备好本机的.NET开发环境:

  • https://dotnet.microsoft.com/zh-cn/download

Visual Studio环境配置

选择.NET 桌面开发工作负荷以及可选的 ML.NET Model Builder 组件。

ML.NET Model Builder 组件介绍:提供易于理解的可视界面,用于在 Visual Studio 内生成、训练和部署自定义机器学习模型。

创建一个WinForms应用

创建一个名为:MLNETExercise的.NET8 WinForms应用。

准备好需要训练的图片

训练图像分类模型

测试训练模型的分析效果

在WinForms中调用图像分类模型

调用完整代码

        private void Btn_SelectImage_Click(object sender, EventArgs e){using (OpenFileDialog openFileDialog = new OpenFileDialog()){openFileDialog.Title = "Select Image";openFileDialog.Filter = "Image Files (*.jpg, *.png, *.bmp)|*.jpg;*.png;*.bmp|All Files (*.*)|*.*";if (openFileDialog.ShowDialog() == DialogResult.OK){// 获取用户选择的文件路径string selectedImagePath = openFileDialog.FileName;// 从文件加载图片Image img = Image.FromFile(openFileDialog.FileName);this.pictureBox.Image = img;var imageBytes = File.ReadAllBytes(selectedImagePath);MLImageAnalysis.ModelInput sampleData = new MLImageAnalysis.ModelInput(){ImageSource = imageBytes,};//Load model and predict outputvar result = MLImageAnalysis.Predict(sampleData);this.txt_Box.Text = result.PredictedLabel;}}}

运行效果展示

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

  • GitHub开源地址:https://github.com/dotnet/machinelearning

  • 本文示例源码地址:https://github.com/YSGStudyHards/DotNetExercises/tree/master/MLNETExercise

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

  • https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

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

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

相关文章

ubuntu一些好用的开发工具及其配置

1 终端模糊搜索fzf https://github.com/junegunn/fzf 输入某命令,比如 conda ,按下ctrlR,会显示和该命令匹配的历史命令的列表 有了这个工具再也不用记忆太复杂的命令,只需要知道大概几个单词,输入即可搜索。 其搜索…

IP地址专用SSL证书申请指南——六步完成

IP地址SSL证书是一种专门设计用于IP地址的SSL/TLS证书,部署IP地址SSL证书可以实现IP地址HTTPS加密。 一:前提条件 1;申请IP地址SSL证书,必须拥有这个IP地址的管理权限 2;非内网IP,以下是常见的内网IP字段 10.0.0.0…

ubantu20.04安装gem5

前言 在安装gem5时,花了很长时间,主要是遇到一些奇奇怪怪的错误。在此记录一下。 参考资料 [1] https://www.gem5.org/documentation/learning_gem5/part1/building/ [2] https://blog.csdn.net/weixin_46841376/article/details/137884041 过程 安…

计算机网络知识点总结————物理层

前言 一、物理层的基本概念 物理层解决什么问题 物理层的主要特性 二、传输媒体 导引型传输媒体 同轴电缆 双绞线 光纤 非导引型传输媒体 三、数据通信的基础知识 1.术语 2.编码方式 总结 前言 我站在清醒和麻木的边缘,不能堕落也不能解脱 一、物理层的…

第2节课:基本数据类型与变量

目录 C的基本数据类型整型(Integral Types)浮点型(Floating-Point Types)字符型(Character Type)布尔型(Boolean Type) 变量声明和初始化声明变量初始化变量变量的作用域变量的生命周…

鸿蒙OpenHarmony Native API【raw_dir.h与raw_file.h】 头文件

raw_dir.h Overview Related Modules: [Rawfile] Description: 提供rawfile目录相关功能 功能包括遍历和关闭rawfile目录 Since: 8 Version: 1.0 Summary Typedefs Typedef NameDescription[RawDir]typedef struct [RawDir] 提供对rawfile目录的访问 Functions Fun…

算法-KMP字符串匹配

题目一 解题思路 KMP算法详解 详解next数组 next[i] 就是使子串 s[0…i] 有最长相等前后缀的前缀的最后一位的下标。 总体来说解next数组和模板串匹配的过程很相似&#xff0c;触类旁通 代码模板 #include<iostream> using namespace std; const int N1e510; char …

AI绘画入门实践 | Midjourney:使用 --ar 控制图片宽高比

参数 Aspect ratio&#xff0c;缩写为 --ar&#xff0c;作用是设置生成图像的宽高比。 使用格式&#xff1a;--ar 宽:高 futuristic portrait of a beautiful human-droid hybrid woman --ar 16:9 futuristic portrait of a beautiful human-droid hybrid woman --ar 9:16 你也…

使用axios请求后端的上传图片接口

安装axios npm install axios 创建input文件上传标签 <input type"file" name"" id"" change"handleChange" /> 使用axios请求后端的图片上传接口 function handleChange(val) {// new FormData() js内置构造函数&#xff0c…

【无标题】ffmepg 编译去掉版本号后缀

这里写自定义目录标题 修改configure 文件大概4000行 修改configure 文件大概4000行 SLIBNAME_WITH_VERSION‘ ( S L I B P R E F ) (SLIBPREF) (SLIBPREF)(FULLNAME)- ( F U L L N A M E ) (FULLNAME) (FULLNAME)(SLIBSUF)’ SLIBNAME_WITH_MAJOR‘ ( S L I B N A M E ) . (S…

力扣高频SQL 50 题(基础版)第一题

文章目录 力扣高频SQL 50 题&#xff08;基础版&#xff09;第一题1757.可回收且低脂的产品题目说明思路分析实现过程准备数据&#xff1a;实现方式&#xff1a;结果截图&#xff1a; 力扣高频SQL 50 题&#xff08;基础版&#xff09;第一题 1757.可回收且低脂的产品 题目说…

面试常考Linux指令

文件权限 操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制&#xff0c;在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable)&#xff0c;分为三组。分别对应文件的属主(owner)&#xff0c;属组(group)和其他用…

PostgreSQL的学习心得和知识总结(一百四十九)|psql 的使用技巧:设置、预设、回显和已保存的查询

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

Harmony Next -- 图片选择库:宫格展示、全屏预览

hm_image_select_view OpenHarmony三方库中心仓&#xff1a;https://ohpm.openharmony.cn/#/cn/detail/image_select_view 介绍 Harmony Next 图片选择库&#xff0c;可设置最大选择数量、单行显示数量、横向竖向间隔&#xff1b;点击图片后全屏预览 软件架构 Harmony nex…

【国产化信创平台】Unity在Linux系统下的开发知识点和踩坑记录~持续更新~

目录 一、日常踩坑 1.渲染管线HDRP在Linux系统下运行异常&#xff08;不支持&#xff1f;未解决&#xff09; 二、开发知识点 1.IO读写路径的方式 三、常用终端快捷指令 一、日常踩坑 1.渲染管线HDRP在Linux系统下运行异常&#xff08;不支持&#xff1f;未解决&#xff…

什么是STP环路保护

在运行生成树协议的网络中&#xff0c;根端口和其他阻塞端口状态是依靠不断接收来自上游设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时&#xff0c;设备会重新选择根端口。原先的根端口会转变为指定端口&#xff0c;而原先的阻塞…

2024年NVIDIA A800最新的价格是多少?

英伟达&#xff08;NVIDIA&#xff09;的A800作为一款专为深度学习应用设计的GPU芯片&#xff0c;自发布以来便受到了市场的广泛关注。其价格在不同时间段和销售渠道中有所波动&#xff0c;但总体而言&#xff0c;A800的售价较为高昂&#xff0c;远超普通消费级显卡。 一、价格…

5 Go语言的值与指针

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;由浅入深讲解Go语言&#xff0c;希望大家都能够从中有所收获&#xff0c;也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;大家一起学习&#xff0c;…

(leetcode学习)110. 平衡二叉树

给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,3,3,null,null,4,4] 输出&#xff1a;false示例 3&#xff1a; 输入&#xff1…

AI大模型的革命:解析全球主流AI大模型及其对比分析

在人工智能领域&#xff0c;AI大模型的发展正在改变我们的世界。无论是自然语言处理、图像识别&#xff0c;还是自动驾驶和医疗诊断&#xff0c;AI大模型都展示出其强大的潜力和广泛的应用前景。本文将介绍当前世界上主流的AI大模型&#xff0c;并对各个模型做详细介绍和横向对…