如何在 Service Fabric 应用程序中 运行 pythonnet (Keras.Net)?
How do I run pythonnet (Keras.Net) in a Service Fabric Application?
TLDR:如何在 Microsoft Service Fabric 应用程序中 运行 pythonnet?
我想在 C# 中使用 Keras.Net 到 运行 Python 训练的 ML 模型,但我在 Service Fabric 应用程序中执行此操作时遇到问题。我正在 运行 在我的主机上安装一个 Service Fabric 本地集群。我还在这台主机上安装了 python。 运行 Keras.Net 主机上的 C# 控制台应用程序中的代码似乎工作正常,但是 运行 在主机上的 SF 应用程序中使用相同的代码我收到以下错误:
System.AggregateException: One or more errors occurred. (One or more errors occurred. (Unable to load DLL
'python38' or one of its dependencies: The specified module could not be found. (0x8007007E)))
---> System.AggregateException: One or more errors occurred. (Unable to load DLL 'python38' or one of its dependencies: The specified module could not be found. (0x8007007E))
---> System.DllNotFoundException: Unable to load DLL 'python38' or one of its dependencies: The specified module could not be found. (0x8007007E)
at Python.Runtime.Runtime.Py_IsInitialized()
at Python.Runtime.Runtime.Initialize(Boolean initSigs)
at Python.Runtime.PythonEngine.Initialize(IEnumerable1 args, Boolean setSysArgv, Boolean initSigs)
at Python.Runtime.PythonEngine.Initialize(Boolean setSysArgv, Boolean initSigs)
at Python.Runtime.PythonEngine.Initialize()
at Keras.Keras.InstallAndImport(String module)
at Keras.Keras.c.b__27_0()
at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy1.CreateValue()
at System.Lazy1.get_Value()
at Keras.Keras.get_Instance()
at Keras.Models.BaseModel.ModelFromJson(String json_string)
这似乎是一个简单的路径问题,但我已经检查过环境在 C# 控制台应用程序和 SF 应用程序中具有相同的值(在 visual studio 中调试时)。
我是不是用错了方法? SF Cluster Node可以访问主机上的python安装吗?
TLDR:如何在 Microsoft Service Fabric 应用程序中 运行 pythonnet?
我想在 C# 中使用 Keras.Net 到 运行 Python 训练的 ML 模型,但我在 Service Fabric 应用程序中执行此操作时遇到问题。我正在 运行 在我的主机上安装一个 Service Fabric 本地集群。我还在这台主机上安装了 python。 运行 Keras.Net 主机上的 C# 控制台应用程序中的代码似乎工作正常,但是 运行 在主机上的 SF 应用程序中使用相同的代码我收到以下错误:
System.AggregateException: One or more errors occurred. (One or more errors occurred. (Unable to load DLL 'python38' or one of its dependencies: The specified module could not be found. (0x8007007E))) ---> System.AggregateException: One or more errors occurred. (Unable to load DLL 'python38' or one of its dependencies: The specified module could not be found. (0x8007007E)) ---> System.DllNotFoundException: Unable to load DLL 'python38' or one of its dependencies: The specified module could not be found. (0x8007007E) at Python.Runtime.Runtime.Py_IsInitialized() at Python.Runtime.Runtime.Initialize(Boolean initSigs) at Python.Runtime.PythonEngine.Initialize(IEnumerable1 args, Boolean setSysArgv, Boolean initSigs) at Python.Runtime.PythonEngine.Initialize(Boolean setSysArgv, Boolean initSigs) at Python.Runtime.PythonEngine.Initialize() at Keras.Keras.InstallAndImport(String module) at Keras.Keras.c.b__27_0() at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy1.CreateValue() at System.Lazy1.get_Value() at Keras.Keras.get_Instance() at Keras.Models.BaseModel.ModelFromJson(String json_string)
这似乎是一个简单的路径问题,但我已经检查过环境在 C# 控制台应用程序和 SF 应用程序中具有相同的值(在 visual studio 中调试时)。
我是不是用错了方法? SF Cluster Node可以访问主机上的python安装吗?