【问题标题】:Warning when adding reference to EvalWrapper.dll添加对 EvalWrapper.dll 的引用时出现警告
【发布时间】:2016-11-17 03:12:40
【问题描述】:

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

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

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

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

我是否忽略此警告并继续?如果不是,我该如何解决? 感谢您对此提供任何帮助或链接到我正在尝试的示例。

【问题讨论】:

    标签: c# cntk


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的帮助!我需要使用 Visual Studio 中的配置管理器并将平台更改为 x64 - 但警告消失了。我在 GitHub 上找到了你引用的项目。现在,我只需要弄清楚如何将其拉下来。再次感谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-09
      • 2019-03-31
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多