c# - 如何在 c# .net 核心应用程序中运行 python 神经网络 keras 脚本
问题描述
我需要使用导入在女巫中运行 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 神经网络脚本?它必须非常简单。
编辑:我的解决方案之一:字符串文件名 =
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;
推荐阅读
- ios - iOS 13 中的 formSheet 和 pageSheet UIModalPresentationStyle 有什么区别?
- apache-spark - 如何在 PySpark 中获得最小的嵌套列表
- javascript - 无法使用 mqtt.js 通过 tcp 将表单 javascript 连接到代理
- abap - SELECT 计算中泛型类型 P 的语法错误
- javascript - 如何修复:“TypeError:fetchProducts 不是函数”
- php - 警告:mysqli_connect(): (HY000/1045): Access denied for user '$username'@'localhost' (using password: YES) in .php file
- python - QPainters 同步背后的机制
- amazon-web-services - 从 JSON 构建 Packer 图像的问题
- javascript - 对两个对象数组的数据求和
- python-3.x - 我应该怎么做才能使我的代码不打印“无”?