如何在 c# .net 核心应用程序中 运行 python 神经网络 keras 脚本
How to run python neural network keras script in c# .net core app
我需要 运行 python 中的神经网络脚本使用导入:
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import History
from keras.models import load_model
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(7)
import pandas as pd
from sklearn.model_selection import train_test_split
from keras import optimizers
我尝试使用 IronPython 运行 它,但这不起作用。 IronPython 不识别 keras.models 等...
我也尝试 运行 它与 System.Diagnostic.Process 但这个解决方案也不起作用。它 运行 只有简单的 python 脚本和一些印刷品。
我只需要从 .cs 执行 .py 脚本 class。
我尝试使用 cmd.exe 和 运行 .py 脚本的示例,但它们不起作用。
有没有办法在 c# 应用程序中 运行 python 神经网络脚本?一定很简单。
编辑:
我的解决方案之一:
字符串文件名 =
string fileName="C:/Users/FUJITSU/source/repos/CardiologicClinic_WebApp/CardiologicClinic_WebApp/AI/xd.py";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"C:\Users\FUJITSU\PycharmProjects\NIDUC\venv\Scripts\python.exe", fileName);
p.StartInfo.WorkingDirectory = "C:/Users/FUJITSU/source/repos/CardiologicClinic_WebApp/CardiologicClinic_WebApp/AI";
p.Start();
p.WaitForExit();
p.Close();
并产生错误:
line 1, in <module>
from keras.models import load_model
ModuleNotFoundError: No module named 'keras'
我不认为每个 python 库都适用于 IronPython。发布您遇到的任何错误消息将有助于找到解决方案。
相反,请尝试使用 system('python myscript.py')
的 C# 版本调用 python。让两种语言一起工作肯定很困难。
(如果我可以发表评论,我会改为发表评论。请您原谅。)
解决方法如下:
string fileName = "path to script.py";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"path to python.exe", fileName);
p.StartInfo.WorkingDirectory = "path to working dir";
p.Start();
p.WaitForExit();
p.Close();
这对我来说很好。
您可以选择使用此命令隐藏进程:
p.startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
我需要 运行 python 中的神经网络脚本使用导入:
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import History
from keras.models import load_model
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(7)
import pandas as pd
from sklearn.model_selection import train_test_split
from keras import optimizers
我尝试使用 IronPython 运行 它,但这不起作用。 IronPython 不识别 keras.models 等... 我也尝试 运行 它与 System.Diagnostic.Process 但这个解决方案也不起作用。它 运行 只有简单的 python 脚本和一些印刷品。
我只需要从 .cs 执行 .py 脚本 class。
我尝试使用 cmd.exe 和 运行 .py 脚本的示例,但它们不起作用。
有没有办法在 c# 应用程序中 运行 python 神经网络脚本?一定很简单。
编辑: 我的解决方案之一: 字符串文件名 =
string fileName="C:/Users/FUJITSU/source/repos/CardiologicClinic_WebApp/CardiologicClinic_WebApp/AI/xd.py";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"C:\Users\FUJITSU\PycharmProjects\NIDUC\venv\Scripts\python.exe", fileName);
p.StartInfo.WorkingDirectory = "C:/Users/FUJITSU/source/repos/CardiologicClinic_WebApp/CardiologicClinic_WebApp/AI";
p.Start();
p.WaitForExit();
p.Close();
并产生错误:
line 1, in <module>
from keras.models import load_model
ModuleNotFoundError: No module named 'keras'
我不认为每个 python 库都适用于 IronPython。发布您遇到的任何错误消息将有助于找到解决方案。
相反,请尝试使用 system('python myscript.py')
的 C# 版本调用 python。让两种语言一起工作肯定很困难。
(如果我可以发表评论,我会改为发表评论。请您原谅。)
解决方法如下:
string fileName = "path to script.py";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"path to python.exe", fileName);
p.StartInfo.WorkingDirectory = "path to working dir";
p.Start();
p.WaitForExit();
p.Close();
这对我来说很好。
您可以选择使用此命令隐藏进程:
p.startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;