c# - 具有复杂对象的 ML.NET LoadFromEnumerable
问题描述
我想IDataView
从复杂的对象创建一个。
假设我的对象将是这些简单的类:
class Foo
{
public Bar bar { get; set; }
}
class Bar
{
public int num { get; set; }
}
(当然,在我的代码中有更多的字段Foo
,其中一些是对象或集合)。
现在我尝试加载Foo
s的集合DataOperationsCatalog.LoadFromEnumerable
:
var mlContext = new MLContext();
var foos = new List<Foo>
{
new Foo
{
bar = new Bar {num = 5}
},
new Foo
{
bar = new Bar {num = 5}
}
}.AsEnumerable();
var dataview = mlContext.Data.LoadFromEnumerable(foos);
我得到了错误:
System.ArgumentOutOfRangeException:无法确定成员栏的 IDataView 类型 参数名称:rawType
即使我将Bar
对象注册为DataViewType
,也没有什么好转的:
DataViewTypeManager.Register(NumberDataViewType.Int32, typeof(Bar));
解决方案
推荐阅读
- javascript - 删除 JS 中的元素
- visual-studio-2019 - 全新安装 VS Enterprise 2019 缺少 AspNetCore 和 Azure 包
- c - CS50 第 4 周过滤器和“void vs pointers”
- azure - Azure 策略的替代方案
- php - mysql 到 html 表,用户可以在其中选择单个列表
- node.js - 序列化模型 node.js 中的关联
- git - 通过 Intellij Idea UI 的 Git 命令显示以下错误:.git/hooks/prepare-commit-msg: line 32: node: command not found
- pandas - 从具有大量标签的 Pandas 数据框中创建 TensorFlow 数据集?
- javascript - 创建一个列,每当来自其他 div 的 img 发生更改时,该列就会滚动
- c# - 尝试访问 DataContext 时出现 System.ObjectDisposedException