1

我正在尝试从 Visual Studio 2015 C# 项目中训练和使用 CNTK。似乎我需要添加: using Microsoft.MSR.CNTK.Extensibility.Managed;

为了让它工作,我显然需要添加对EvalWrapper.DLL的引用。

正在构建的项目“MSIL”的处理器架构与参考“EvalWrapper”、“AMD64”的处理器架构不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器体系结构,以便在项目和参考之间对齐处理器体系结构,或者依赖具有与项目的目标处理器体系结构匹配的处理器体系结构的参考。

我的系统是基于 x64 的处理器。

我是否忽略此警告并继续?如果不是,我该如何解决?对此的任何帮助或指向我正在尝试的示例的链接表示赞赏。

4

2 回答 2

2

EvalWrapper.dll是非托管(本机)代码,然后只能在为其编写的处理器架构上执行 - 在本例中为 x64。C#被编译成MSIL,可以在不同的平台上运行(通过平台相关的运行环境)。这个警告的意思大致是“嘿,如果你使用那个 C# 可执行文件并在某个(比如 32 位系统)上运行它,你将无法使用那个 x64 EvalWrapper。”

您应该能够通过在项目文件的上下文菜单中选择“属性”并将平台更改为 amd64 来消除此警告。或者,您应该很好地忽略该警告。

例如,打开 CNTK 解决方案,查看CSEvalClientTest.csprojTests/EndToEndTests/EvalClientTests/中的 C# 项目

于 2016-11-17T06:48:28.677 回答
2

如果可以使用CNTK Eval Nuget 包,则无需手动添加对 EvalWrapper.dll 的引用。此处提供了使用 Nuget 包的示例:https ://github.com/Microsoft/CNTK/tree/master/Examples/Evaluation/CSEvalClient

于 2016-11-19T11:31:31.183 回答