惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
The GitHub Blog
The GitHub Blog
博客园_首页
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
I
InfoQ
量子位
J
Java Code Geeks
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
Webroot Blog
Webroot Blog
Martin Fowler
Martin Fowler
D
Docker
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
V
Vulnerabilities – Threatpost
罗磊的独立博客
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
Cyberwarzone
Cyberwarzone
P
Privacy & Cybersecurity Law Blog
Last Week in AI
Last Week in AI
爱范儿
爱范儿
The Hacker News
The Hacker News
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
V
V2EX
Simon Willison's Weblog
Simon Willison's Weblog
AI
AI
Y
Y Combinator Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
V
Visual Studio Blog
H
Heimdal Security Blog
S
Secure Thoughts
B
Blog RSS Feed
雷峰网
雷峰网
T
Tenable Blog
C
Check Point Blog
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
About on SuperTechFans
Recent Commits to openclaw:main
Recent Commits to openclaw:main

博客园 - Bean.Hsiang

评估和改进 ML.NET 分类器 ML.NET 推荐引擎中一类矩阵因子分解的缺陷 使用 ML.NET 实现峰值检测来排查异常 4倍速!ML.NET Model Builder GPU 与 CPU 对比测试 使用 ML.NET 识别乐高颜色块 ML.NET 十一月更新 借助AI激发组织创新活力 Virtual ML.NET Hackathon 2020 来啦 ML.NET 九月更新 ML.NET API 和工具八月更新 通过 ML.NET 使用预训练残差网络 ResNet 模型实现手势识别 通过 Continual Learning 提高 ML.NET 模型准确性并增强性能 在WSL2启用cuda进行深度学习尝鲜 基于 ONNX 在 ML.NET 中使用 Pytorch 训练的垃圾分类模型 在 Blazor WebAssembly 静态网站中部署ML.NET机器学习模型 使用 Scikit-learn 和 ML.NET 实现朴素贝叶斯(Naive Bayes)分类器 恢复已取消ML.NET训练中的模型 说说 ML.NET and AutoML 使用ML.NET进行自定义机器学习
ML.NET 和 Model Builder 2021年三月更新
Bean.Hsiang · 2021-03-28 · via 博客园 - Bean.Hsiang

ML.NET是一个开源的跨平台机器学习框架,适合 .NET 开发人员。它允许将机器学习集成到 .NET 应用中,而无需离开 .NET 生态系统,甚至拥有 ML 或数据科学背景。ML.NET 和Model Builder 在三月有了新的更新发布。

Model Builder 预览版

此预览中 Model Builder 带来了许多重大更改,其中包括:

  • 基于配置生成训练代码文件
  • 重构的高级数据选项
  • 重新设计的消费步骤

您可以在aka.ms/blog-mb-preview注册预览版。

基于配置生成训练代码文件

Model Builder 体验有了较大改进!在 Solution Explorer 中,沿着"Add > Machine Learning"路径右键单击项目时,点击"Add New Item Dialog" 打开对话窗添加 ML.NET 模型。

添加模型后,Model Builder UI 打开,并在解决方案资源管理器中显示新项目(*.mbconfig 文件)。

在使用 Model Builder 时的任何时间点,如果关闭 UI 可以双击解决方案资源管理器 *.mbconfig文件,它再次将 UI 打开到上次保存的状态。

训练后在*.mbconfig文件下生成两个文件:

  • Model.consumption.cs:此文件包含模型输入和模型输出计划以及为应用模型生成 Predict 的功能。
  • Model.training.cs:此文件包含 Model Builder 为训练模型而选择的训练管道(数据转换、算法、算法超参数)。您可以使用此管道重新训练模型。
  • Model.zip:这是一个序列化的并且训练好的 ML.NET 模型文件。

以前,这些文件被添加为两个新项目(用于模型消费代码的类库和用于训练管道的控制台应用程序)。新体验类似于在 Windows 应用程序中添加新Form窗口界面,其中Form后面有类文件,并双击Form打开设计器。

如果您打开该*.mbconfig文件,则可以看到它只是一个带有状态信息的 JSON 文件:

{
  "TrainingConfigurationVersion": 0,
  "TrainingTime": 10,
  "Scenario": {
    "ScenarioType": "Classification"
  },
  "DataSource": {
    "DataSourceType": "TabularFile",
    "FileName": "C:\Desktop\Datasets\yelp_labelled.txt",
    "Delimiter": "t",
    "DecimalMarker": ".",
    "HasHeader": true,
    "ColumnProperties": [
      {
        "ColumnName": "Comment",
        "ColumnPurpose": "Feature",
        "ColumnDataFormat": "String",
        "IsCategorical": false
      },
      {
        "ColumnName": "Sentiment",
        "ColumnPurpose": "Label",
        "ColumnDataFormat": "String",
        "IsCategorical": true
      }
    ]
  },
  "Environment": {
    "EnvironmentType": "LocalCPU"
  },
  "Artifact": {
    "Type": "LocalArtifact",
    "MLNetModelPath": "C:\source\repos\ConsoleApp8\ConsoleApp8\MLModel1.zip"
  },
  "RunHistory": {
    "Trials": [
      {
        "TrainerName": "AveragedPerceptronOva",
        "Score": 0.8059,
        "RuntimeInSeconds": 4.4
      }
    ],
    "Pipeline": "[{"EstimatorType":"MapValueToKey","Name":null,"Inputs":["Sentiment"],"Outputs":["Sentiment"]},{"EstimatorType":"FeaturizeText","Name":null,"Inputs":["Comment"],"Outputs":["Comment_tf"]},{"EstimatorType":"CopyColumns","Name":null,"Inputs":["Comment_tf"],"Outputs":["Features"]},{"EstimatorType":"NormalizeMinMax","Name":null,"Inputs":["Features"],"Outputs":["Features"]},{"LabelColumnName":"Sentiment","EstimatorType":"AveragedPerceptronOva","Name":null,"Inputs":null,"Outputs":null},{"EstimatorType":"MapKeyToValue","Name":null,"Inputs":["PredictedLabel"],"Outputs":["PredictedLabel"]}]",
    "MetricName": "MicroAccuracy"
  }
}

这种新的 Model Builder 体验带来了许多好处。您可以:

  • 指定模型的名称和生成的代码。
  • 在解决方案中拥有多个生成的模型。
  • 保存状态并返回到最后保存的状态。如果你花了一个小时的训练和关闭 Model Builder,现在你不必重新开始。
  • 共享*.mbconfig文件并通过源控制在同一 Model Builder 实例上进行协作。
  • 即将推出在 Model Builder 和 ML.NET CLI 中使用相同的*.mbconfig文件!

重构的高级数据选项

在上一个 Model Builder 版本中,我们为数据加载添加了高级数据选项,使您对列设置和数据格式有更大的控制。

在此版本中,我们添加了多个选项并重新组织了选项,以便更轻松地选择列设置:

  • 目的:选择该列是 Feature 列、Label 列还是训练期间忽略的列。
  • 数据类型:选择列中的数据是字符串、Single浮点还是布尔值。
  • 分类:选择列是否是一组类别。

  

重新设计的消费步骤

我们重新设计了消费步骤,以便从训练和评估模型平稳过渡到使用该模型在最终用户应用程序中进行预测。

UI 中提供了 Predict 代码片段,其中演示了如何设置模型输入以及如何使用生成的函数返回预测输出。

每个模型输入属性都填写了数据集第一行的示例数据。您可以使用右上角的复制按钮复制整个代码片段:然后一旦将此代码粘贴到最终用户应用程序中,您可以修改模型输入字段以获取真实数据以输入到模型中。

此外,还有一个新的示例项目部分,该部分生成了使用模型并将项目添加到解决方案中的应用程序。在以前的 Model Builder 版本中,示例控制台应用自动添加到解决方案中,现在可以选择是否要添加一个新项目来使用模型。

目前,只有添加控制台应用程序的选项,但在未来计划增加对 Web API、Azure 功能等的支持。

ML.NET v1.5.5

此版本的 ML.NET 带来了许多错误修复和增强以及以下新功能:

  • 新的API,接受 double 类型的置信度,这有助于使用比 int 更高的精度。
  • 支持向 ONNX 输出 ValueMapping 估计器。
  • 新的API来指定TensorFlow的输出是否为 batch(以前 ML.NET 总是假设它是一个 batch,若不是则会导致错误)。

有关详细信息,请查看发布说明

Virtual ML.NET 社区会议

5月7日,第二届 Virtual ML.NET 社区年会 为期两天的会议即将开始,会议探讨 ML.NET 的多个方面,同时也正在寻找以下主题的讲师:

  • MLOps
  • 案例研究和实际使用案例
  • Jupyter 交互式计算
  • 基于 ONNX 的 ML.NET
  • ML.NET 和 IoT 设备
  • ML.NET 与 F#
  • 大数据和 ML.NET
  • 从实验到生产的全过程体验
  • 任何其他 ML.NET 相关的,只要你能想到的!

这是一个100%免费的社区活动。您可以通过这里提交演讲

资源

从本教程中的 ML.NET 开始。在微软文档了解更多关于 ML.NET 和 Model Builder 。