【问题标题】:Dynamic classes/objects ML.net's PredictionMoadel<TInput, TOutput> Train()动态类/对象 ML.net 的 PredictionMoadel<TInput, TOutput> Train()
【发布时间】:2018-07-23 20:33:13
【问题描述】:

我正在使用Microsoft's ML.net library.

我想根据在运行时生成合同的模型来训练数据(这意味着在编译时这些字段是未知的)。这可以使用当前 ML.net 的 Train() 方法签名来实现吗?

到目前为止,我正在尝试通过传入 TInput 和 TOutput 对象(而不是 T 类)的实例来调用此 Train 方法。

【问题讨论】:

标签: ml.net


【解决方案1】:

根据文档,LearningPipeline 只有一种方法,Train&lt;TIn, TOut&gt; 用于训练,这意味着 TInTOut 是实际的类:TIn 是预测的输入,TOut 是输出。

底层 ML.NET 代码实际上并不依赖于提前了解架构:Train&lt;TIn, TOut&gt; 方法是我们决定向用户公开的一种便捷方法。该决定的副作用是我们基本上禁止了像您这样的用例。

当然,当您知道数据的架构时,您仍然可以在运行时使用反射来生成类签名,但这是一种尴尬的解决方法。

我们正在开发的新 ML.NET API(请参阅this project 中的问题)将取消这一要求:您将能够在编译时对架构未知的数据进行训练。

【讨论】:

  • Zruty,我们有预计的 API 发布日期吗?我有同样的问题。谢谢
  • 现在在 ML.NET 0.6 中可用
  • 是否有示例代码来说明新的 API?我正在使用 ML.NET 0.6
猜你喜欢
  • 2020-12-26
  • 1970-01-01
  • 2021-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-02
  • 2021-06-27
相关资源
最近更新 更多