添加对EvalWrapper.dll的引用时发出警告

时间:2016-11-17 03:12:41

标签: c# cntk

我试图在Visual Studio 2015 C#项目中训练和使用CNTK。 好像我需要添加: 使用Microsoft.MSR.CNTK.Extensibility.Managed;

为了实现这一点,我显然需要添加对 EvalWrapper.DLL 的引用。

正在构建的项目的处理器架构与#34; MSIL"之间存在不匹配。以及参考" EvalWrapper"," AMD64"的处理器架构。这种不匹配可能会导致运行时故障。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者使用与项目的目标处理器体系结构相匹配的处理器体系结构依赖于引用。

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

我是否会忽略此警告并继续?如果不是我该怎么解决这个问题? 任何有关此的帮助或链接到我尝试的例子都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

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

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

例如,打开CNTK解决方案,查看Tests / EndToEndTests / EvalClientTests /

中的C#项目CSEvalClientTest.csproj

答案 1 :(得分:2)

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