通过.NET完成机器学习的整个流程,这个平台可以!个人文章

.NET是个跨平台,全场景应用的开源技术。你有在用.NET做机器学习/深度学习的应用吗?如果从框架角度,ML.NET/Tensorflow.NET/不断在进步的TorchSharp通过几年的发展已经开始稳定,但如果在些型项目上,特别现在与云端环境的对接上都是非常重要的,毕竟云端可以帮助机器学习每步的流程进行优化,从数据管理,到训练,再到测试,以及部署都是非常重要的。

AzureML是非常优秀的机器学习/深度学习平台,涵盖整个机器学习/深度学习的所有流程。那这个时候有会问AzureML能跑传统的机器学习/深度学习项目都是基于Python,但能否可以跑.NET的机器学习呢?是否可以让.NET的机器学习项目和云端结合在起。今天就来给家展示下如何使用.NET结合AzureML跑图像分类。

从AzurePortal上构建个Azure机器学习服务环境,因为你需要用GPU,所以区域记得选择“WestUS2”

你可以通过点击StudioWebURL进AzureMachineLearningStudio

这个与编程语言无关的内容,但是也是非常重要的内容,数据是最重要的部分。通过AzureML你可以对数据进行管理,这就包括数据存储,版本管理,以及数据特征提取等工作。我们可以从AzureML门户的数据选项上,进行不同数据的管理。

1、选择左菜单栏的Assets,选择Data,选择Dataassets进行添加

3、从本地上传数据

记录下NamedassetURI的名字,这是azureml:flower_data:1

首先你需要在AzureML上构建你的算力,点击菜单“Compute”,再选择“Computeclusters”。通过创建,选择GPU选择使用K80(如果你需要其他算力,可以自动申请)

这里有几点需要注意的,因为在AzureML上,所有计算的算力都是基于Linux和GPU,所以在加载Tensorflow.NET的库的时候请使用Tensorflow.NETLinux的GPU版本。大家可以参考下:

我们需要让.NET在AzureML上跑,我们需要有个容器的环境结合算了起跑。这就好比你需要个.NET的运行环境然后加上算力。

1、input:对应的是输入的数据,可以对应在AzureML设定的数据,你可以选择文件夹和文件类型

3、environment:环境依赖,你可以直接设定容器,但我更喜欢把环境设置在Dockerfile上,这样你可以随时添加所需要的支持,如ML.NETCLI环境或者是些包等,以下是我的Dockerfile

FROMmcr.microsoft.com/dotnet/sdk:6.0RUNaptinstallwget4、compute:就是对应创建的算力

azconfigure--defaultsgroup=CUDAWSGroupworkspace=CUDAWSazmljobcreate--fileAzureTrain.yml5、experiment_name:你可以给训练起个名字,这个我觉得蛮好用的,可以针对不同的项目进行归类如果执行顺利,你就可以直接通过AzureML开启你的.NET机器学习/深度学习训练了,下图是通过点击job看到的每次训练的内容

你也可以点击某次训练了解更多

这个例子并不是完美的算法,但也足矣说明问题了,当然你可以通过程序设定看看调整算法来提升精确度。

如果你对某次模型训练比较满意,你就可以选择把该次训练产生的模型注册,并部署到endpoint,可以选择在本地用yaml完成,但有些小伙伴喜欢在Azure门户上用些手动化操作也可以

1、模型注册

选择Models,并点击Register,选择Fromajoboutput

选择你所需要的训练

你就可以从outputs文件夹中选取对应的模型,作为部署

当然你也可以不在Azure上部署,可以在Jobs把模型下载下来给不同平台使用

2、在Endpoints中生成服务

或者你需要在Azure上直接部署服务,这个时候你只需要点击Endpoints和对应服务关联就可以了。或者我更喜欢用AzureFunctions来完成该步骤,这个日后再和大家说说了。

Azure上可以支持托管部署,和Kubernetes部署,这就看你需要什么方式。

你可以看到在AzureML上,通过.NET把机器学习的整个流程都完成了。这也让各位.NET的开发人员和团队更有信心地采用.NET做机器学习/深度学习的项目。现在.NET机器学习不仅仅只是框架,也可以通过云端进行管理,是完整的解决方案。希望有更多小伙伴来做更多有趣的机器学习应用。

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。

THE END
1..NET下的机器学习入门篇dotnet机器学习ML.NET 使你能够在联机或脱机场景中将机器学习添加到 .NET 应用程序中。 借助此功能,可以使用应用程序的可用数据进行自动预测。 机器学习应用程序利用数据中的模式来进行预测,而不需要进行显式编程。 ML.NET能做什么 分类/类别划分 自动将客户反馈分为积极和消极两类 https://blog.csdn.net/iml6yu/article/details/121229836
2.让我们了解.NET让我们来了解 .NET 2021年10月12日 我们将一起演练使用 .NET 生成机器学习或“ML”模型的基本原理。 ML.NET 是一种适合 .NET 开发人员的开源跨平台机器学习,支持将自定义机器学习集成到 .NET 应用中。 有了 ML.NET,无需离开 .NET 生态系统,即可使用 C# 或 F# 创建自定义 ML 模型。 一起学习新内容、https://docs.microsoft.com/zh-cn/shows/lets-learn-dotnet/Machine-Learning?view=sql-server-ver15
3..NET中使用ML.NET进行机器学习模型训练与预测.NET 中使用 ML.NET 进行机器学习模型训练与预测 一、引言 在.NET 开发中,实现机器学习模型的训练与预测是一项重要且受到广泛关注的工作。ML.NET 是一个开源https://www.jianshu.com/p/bd590ad778df
4.使用.NET5体验大数据和机器学习微软发布了与 .NET 协作的大数据(.NET for Spark)和机器学习(http://ML.NET)工具,这些工具共同提供了富有成效的端到端体验。在本文中,我们将介绍 .NET for Spark、大数据、http://ML.NET和机器学习的基础知识,我们将研究其 API 和功能,向你展示如何开始构建和消费你自己的 Spark 作业和http://ML.NET模型https://zhuanlan.zhihu.com/p/425451952
5.Python机器学习从ResNet到DenseNet示例详解pythonPython机器学习从ResNet到DenseNet示例详解更新时间:2021年10月11日 10:42:33 作者:Supre_yuan ResNet极大地改变了如何参数化深层网络中函数的观点。稠密连接网络(DenseNet)在某种程度上是ResNet的逻辑扩展。让我们先从数学上了解下+ 目录 从ResNet到DenseNet 上图中,左边是ResNet,右边是DenseNet,它们在跨层上的https://www.jb51.net/article/224978.htm
6.跨平台机器学习:ML.NET架构及应用编程(跨平台机器学习:ML.NET架构《跨平台机器学习:ML.NET架构及应用编程》这本书以.NET开发者的视角,深入浅出地探讨了如何利用ML.NET这一强大的工具集,在.NET生态系统中实现跨平台的机器学习应用。而且就书中的内容案例来看,真的是深入浅出,很容易上手。书中首先系统地介绍了ML.NET的基本概念、架构优势以及它如何支持跨平台开发,这为读者建立https://book.douban.com/review/16092870/
7.C#也能做机器学习?基于.NET的AI智能应用市场还是一片“处女地在这样的背景下,SciSharp AI 开源社区应运而生,它打造一个基于 .NET 的机器学习生态,推出并开源了多个颇受欢迎的基于 .NET 的机器学习项目和工具,比如 TensorFlow.NET 就被谷歌列入 TensorFlow 官网,推荐给全球开发者。 SciSharp 是怎样的一个社区?它是如何构建一个基于 .NET 的机器学习生态?它在做的事情对开发https://cloud.tencent.com/developer/article/1528208
8.《跨平台机器学习:ML.NET架构及应用编程》简介书评当当四季图书专营店在线销售正版《跨平台机器学习:ML.NET架构及应用编程》。最新《跨平台机器学习:ML.NET架构及应用编程》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《跨平台机器学习:ML.NET架构及应用编程》,就上当当四季图书专营店。http://product.dangdang.com/11603676284.html
9.机器学习框架ML.NET学习笔记9自动学习机器学习框架ML.NET学习笔记【9】自动学习 一、概述 本篇我们首先通过回归算法实现一个葡萄酒品质预测的程序,然后通过AutoML的方法再重新实现,通过对比两种实现方式来学习AutoML的应用。 首先数据集来自于竞赛网站kaggle.com的UCI Wine Quality Dataset数据集,http://shanyou.blog.51cto.com/363653/3267771
10.有哪些c#机器学习库–PingCode机器学习在当今的软件开发中扮演了重要的角色,而C#作为一门广泛使用的编程语言,在这一领域也有着不少的库来支持这种类型的技术实现。常见的C#机器学习库包括ML.NET、Accord.NET、AForge.NET、Encog、Numl等。这些库提供了丰富多样的算法和工具,使得开发者能够在.NET环境下进行复杂的机器学习任务。其中,ML.NET是由https://docs.pingcode.com/ask/188312.html
11.机器学习本课程作为人工智能专业方向的基础课程,介绍机器学习的基础知识,包括机器学习概述、模型的评估与选择,和机器学习的经典算法,主要包括KNN算法、线性回归、逻辑回归、决策树、朴素贝叶斯、支持向量机、集成学习等。本课程的算法介绍部分,采用统一的介绍流程,让学员对机器学习的各个算法有清晰的对比和了解更快的掌握算法知识https://www.educoder.net/paths/ijeknthr
12.2020年最值得收藏的60个AI开源工具语言&开发李冬梅Metaflow 是 Netflix 机器学习基础架构的关键部件,主要用于加速数据科学工作流的构建和部署,Netflix 希望通过开源 Metaflow 简化机器学习项目从原型阶段到生产阶段的过程,进而提高数据科学家的工作效率。在过去两年中,Metaflow 已在 Netflix 内部用于构建和管理从自然语言处理到运营研究的数百个数据科学项目。 https://www.infoq.cn/article/2uabiqaxicqifhqikeqw
13.写给程序员的机器学习入门(九)对象识别RCNN与Fast对象识别的应用范围比较广,例如人脸识别,车牌识别,自动驾驶等等都用到了对象识别的技术。对象识别是当今机器学习领域的一个前沿,2017 年研发出来的 Mask-RCNN 模型还可以检测对象的轮廓。 因为看上去越神奇的东西实现起来越难,对象识别模型相对于之前介绍的模型难度会高很多,请做好心理准备?。 对象https://www.flyai.com/article/879
14.Accord.NETMachineLearningFrameworkAccord.NET is a .NET machine learning framework combined with audio and image processing libraries completely written in C# ready to be used in commercial applications.http://www.accord-framework.net/
15.机器学习《机器学习》是计算机科学与人工智能的重要分支领域。本课程面向硕士研究生,系统性地教授机器学习(ML)的发展背景、主要理论、技术及其最新发展趋势,并开展课堂研讨充分调动学生学习主动性,使学生深入了解该领域的研究对未来社会发展的重要影响, 掌握机器学习的最新理论、方法的基本原理和初步应用,激发人工智能领域创新创业的https://i.study.uestc.edu.cn/06ML/menu/home