我需要使用导入功能在女巫中运行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脚本。
我尝试使用带有运行.py脚本的cmd.exe的示例,但它们不起作用。
有什么方法可以在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;
我不认为每个Python库都可以在IronPython中使用。发布您确实遇到的任何错误消息将有助于找到解决方案。
相反,请尝试使用system('python myscript.py')
的C#版本调用python。尽管要使两种语言一起工作,肯定会很难。
((如果可以发表评论,我会改为对此发表评论。请您原谅。)