如何在C#.NET Core应用程序中运行python神经网络keras脚本 - c#

我需要使用导入在女巫中运行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脚本即可。

我尝试将cmd.exe与运行.py脚本一起使用的示例,但它们不起作用。

有什么方法可以在C#应用中运行python神经网络脚本吗?它必须非常简单。

编辑:
我的解决方案之一:
    字符串fileName =

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'

参考方案

解决方法如下:

 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;

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

如何在ASP.NET Page_Load事件中识别RadButton启动回发的原因? - c#

在我的ASP.NET页的Page_Load中,我试图确定某个按钮是否已单击并尝试回发:if (Page.IsPostBack) { if (Request.Params.Get("__EVENTARGUMENT") == "doStuff") doSomething(); } doStuff是标记内的JavaScrip…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

如何从JSON文件反序列化.NET Core中封装的对象表? - c#

我想从外部API检索足球联赛的集合。来自服务器的响应如下所示:{ "api": { "results": 1496, "leagues": [ { "league_id": 1, ..... 返回的对象由“ api”字段组成,其中包含“结果”和“联盟”。我想反序列化代码并将其映射…