怎样将预训练模型反向序列化?

shijies 2023-05-22 15:33:22

  使用了ML组件,下面的代码可以生成预训练模型model.zip:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.ML;
using Microsoft.ML.Data;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

MLContext mlContext = new MLContext();
            InputData[] inputDatas = {
new InputData() { X_Value = 2.6F, Y_Value = 3.1F},
new InputData() { X_Value = 1.3F, Y_Value = 1.7F},
new InputData() { X_Value = 1.8F, Y_Value = 2.7F},
new InputData() { X_Value = 3.1F, Y_Value = 3.5F},
};
            IDataView trainingData = mlContext.Data.LoadFromEnumerable(inputDatas);
            var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "X_Value" }).Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Y_Value", maximumNumberOfIterations: 100));
            var model = pipeline.Fit(trainingData);
            var testHouseDataView = mlContext.Data.LoadFromEnumerable(inputDatas);
            var testPriceDataView = model.Transform(testHouseDataView);
            var metrics = mlContext.Regression.Evaluate(testPriceDataView, labelColumnName: "Y_Value");
              mlContext.Model.Save(model, trainingData.Schema, "model.zip");

 }
    }
}

 

可是怎样使用这个模型呢?使用之前需要先反序列化,不知道怎么搞。

...全文
75 3 打赏 收藏 转发到动态 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shijies 5天前
  • 打赏
  • 举报
回复

属性的作用:保护字段,对字段取值与赋值进行限定
MLContext 类怎么没有方法?

shijies 5天前
  • 打赏
  • 举报
回复

我觉得 {
new InputData() { X_Value = 2.6F, Y_Value = 3.1F},
new InputData() { X_Value = 1.3F, Y_Value = 1.7F},
new InputData() { X_Value = 1.8F, Y_Value = 2.7F},
new InputData() { X_Value = 3.1F, Y_Value = 3.5F},
}是集合,集合的声明是List,InputData[]是什么?
程序里的代码:
InputData[] inputDatas = {
new InputData() { X_Value = 2.6F, Y_Value = 3.1F},
new InputData() { X_Value = 1.3F, Y_Value = 1.7F},
new InputData() { X_Value = 1.8F, Y_Value = 2.7F},
new InputData() { X_Value = 3.1F, Y_Value = 3.5F},
};

shijies 6天前
  • 打赏
  • 举报
回复

关于MLContext 类的说明在:
https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.ml.mlcontext?view=ml-dotnet
没搞清楚那些属性怎么使用

相关推荐

109,339

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者