首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在CreatePredictionEngine<>中动态添加Tsrc和Tdest?

是否可以在CreatePredictionEngine<>中动态添加Tsrc和Tdest?
EN

Stack Overflow用户
提问于 2019-05-08 14:21:40
回答 1查看 246关注 0票数 0

我目前正在尝试在ML.net的MlContext.Model.CreatePredictionEngine<>(ITransformer);中动态改变Tsrc和Tdest。因此,在代码中没有数据结构类(Tsrc)和预测类(Tdesc),我可以通过某种方式动态添加类(可能带有反射)吗?

我尝试使用JsonConvert.deseralize()加载一个对象,并将该对象的类型设置为Tsrc和Tdest。

代码语言:javascript
复制
            ITransformer loadedModel = mlContext.Model.Load(modelPath, out var schema);
            List<DataViewSchema.Column?> columnData = new List<DataViewSchema.Column?>();
            foreach (string col in columns)
            {
                DataViewSchema.Column? sch = schema.GetColumnOrNull(col);
                columnData.Add(sch);
            }
            object obj_data = JsonConvert.DeserializeObject(str_data_one);
            object obj_prediction = JsonConvert.DeserializeObject(str_data_two);



            //var prediction = mlContext.Model.CreatePredictionEngine<IrisData, IrisPrediction>(loadedModel).Predict();
            var prediction = mlContext.Model.CreatePredictionEngine<>(loadedModel).predict();

编辑: Tsrc和Tdest是实际的类,而不是类或方法的实例。例如,在注释掉的代码中有IrisData和IrisPrediction,这是每个类的代码:

代码语言:javascript
复制
     public class IrisData
    {
        [LoadColumn(0)]
        public float SepalLength;

        [LoadColumn(1)]
        public float SepalWidth;

        [LoadColumn(2)]
        public float PetalLength;

        [LoadColumn(3)]
        public float PetalWidth;

        [LoadColumn(4)]
        public string Label;
    }

    public class IrisPrediction
    {
        [ColumnName("PredictedLabel")]
        public string PredictedLabels;
    }

如何使用反射实时构建程序的上述类,并将其添加到Tsrc和Tdest中?

EN

回答 1

Stack Overflow用户

发布于 2019-05-09 05:58:36

如果不需要强类型格式的结果,可以使用Transform方法,而不是Predict。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56034668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档