Как я могу исправить исключение Keras. NET BadImageFormatException? - PullRequest
0 голосов
/ 26 марта 2020

Я создал модель машинного обучения с керами, используя python. Я сохранил эту модель в файле .h5 и хочу использовать этот файл в моем ASP. NET Core API. Для загрузки модели я использую Keras. NET.

Проблема, с которой я сталкиваюсь, заключается в том, что при попытке отладки приложения появляется следующая ошибка:

  Message: 
    System.BadImageFormatException : An attempt was made to load a program with an incorrect format. (0x8007000B)
  Stack Trace: 
    Runtime.Py_IsInitialized()
    Runtime.Initialize(Boolean initSigs)
    PythonEngine.Initialize(IEnumerable`1 args, Boolean setSysArgv, Boolean initSigs)
    PythonEngine.Initialize(Boolean setSysArgv, Boolean initSigs)
    PythonEngine.Initialize()
    Keras.InstallAndImport(String module)
    <.cctor>b__27_0()
    Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
    Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
    Lazy`1.CreateValue()
    Lazy`1.get_Value()
    Keras.get_Instance()
    Sequential.ctor()

У меня есть прочитайте о других людях, сталкивающихся с этой проблемой. Они говорят, что я должен изменить мою платформу Target на x64.

Это приводит к следующей ошибке:

  Message: 
    System.BadImageFormatException : Could not load file or assembly 'Project.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. An attempt was made to load a program with an incorrect format.
  Stack Trace: 
    ModelsTest.Test_models()

Теперь остальные мои тесты не выполняются с BadImageFromatException. Это позволило мне думать, что python установлена ​​как 64-битная версия, а NET Core - как 32-битная. Чтобы убедиться, что это не так, я переустановил 64-битную версию. NET Core, но продолжаю получать ту же ошибку.

Я надеюсь, что кто-то может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...