Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#.net核心应用程序中运行python神经网络keras脚本_C#_Python_.net_Keras_Asp.net Core 2.1 - Fatal编程技术网

如何在c#.net核心应用程序中运行python神经网络keras脚本

如何在c#.net核心应用程序中运行python神经网络keras脚本,c#,python,.net,keras,asp.net-core-2.1,C#,Python,.net,Keras,Asp.net Core 2.1,我需要使用导入在witch中运行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.ran

我需要使用导入在witch中运行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和run.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'
第1行,在
从keras.models导入负载_模型
ModuleNotFoundError:没有名为“keras”的模块

我不认为每个python库都能在IronPython中工作。发布任何错误消息将有助于找到解决方案

相反,尝试使用C版本的
系统('python myscript.py')
调用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;

这可能会有帮助:谢谢,但这对我不起作用->错误“没有名为keras.model的模块”是的。IronPython不能做你想做的事。您将让Python做您想做的事情。请看我之前评论中链接的媒体文章。它向您展示了如何从c#调用python进程。祝你好运