我正在尝试使用 Microsoft.ML 中的 FastTreeRegressor 构建 ML 模型,将出租车票价预测教程中的代码复制到我预先存在的环境中,在那里我可以交换数据和一些参数。这一切都成功构建,但运行会产生错误:
System.InvalidOperationException:'找不到入口点'Trainers.FastTreeRegressor''
我怎样才能解决这个问题?
旁注:我排除了代码示例,因为教程包含它们,并且提前知道答案(见下文),它们不会增加问题的解决能力。
我正在尝试使用 Microsoft.ML 中的 FastTreeRegressor 构建 ML 模型,将出租车票价预测教程中的代码复制到我预先存在的环境中,在那里我可以交换数据和一些参数。这一切都成功构建,但运行会产生错误:
System.InvalidOperationException:'找不到入口点'Trainers.FastTreeRegressor''
我怎样才能解决这个问题?
旁注:我排除了代码示例,因为教程包含它们,并且提前知道答案(见下文),它们不会增加问题的解决能力。
查看错误,它似乎与格式不正确的 EXE 非常相似。这让我注意到我没有在我的 EXE 项目中添加对 Microsoft.ML 的引用,而只是添加了一个类库。
将 Nuget 包添加到我的控制台项目中引入了一个编译时错误,我必须为 x64 构建(与任何 CPU 相比),但是做这两件事解决了这个问题。
值得注意的是:配置为x64且未添加Nuget包时确实会出现该错误;这两个步骤都需要执行。
查看 Nuget 的日志,我还看到:
生成 MSBuild 文件[项目文件] .csproj.nuget.g.props。
生成 MSBuild 文件[项目文件] .csproj.nuget.g.targets。
将锁定文件写入磁盘。路径:[项目目录] \obj\project.assets.json
这似乎证实了这个包比一些更根深蒂固,解释了这个要求。不奇怪。