在C#中获得Keras训练的模型预测

tem*_*emo 4 .net c# python keras tensorflow

如标题所示,我正在尝试将我的Keras(tf后端)预训练模型用于c#中的谓词。最好的方法是什么?

我尝试了IronPython,但是它给了我错误,在搜索后我发现它不受支持。由于目标Windows设备未安装python解释器,因此仅调用python脚本将不起作用。

lda*_*vid 6

这个问题有些含糊,但我会尽力回答:

Tensorflow核心是用C ++编写的,并公开了一个接口,该接口可以由以任何一种语言编写的客户端使用(尽管是的,到目前为止,Python是最成熟的)。

你能做什么:

  • 您可以使用python脚本来训练keras模型,并将其计算图保存在文件中。然后使用TensorFlowSharp-这是一个使用c#与tensorflow API签订合同的项目-重新加载计算图并使用经过训练的网络生成预测。
  • 如果您的设备是手机,平板电脑等,Tensorflow移动版也可以您提供帮助。它的工作方式与上述选项类似。不过,我不确定他们是否为Windows Phone提供支持。
  • 您提到:

    设备不会安装python解释器。

    哦,那好吧。但是,您可以定义一个引导过程,该过程将级联必要依赖项的安装(包括cpython)。例如,某些应用程序会这样做以设置数据库。在这种情况下,您可以创建一个引导张量流并通过文件,管道或套接字响应预测请求的微服务。然后,您的c#应用程序将连接到您的微服务并请求预测。


小智 -10

它不会那样工作,因为您甚至无法在 C# 项目中安装tensorflow。放弃 C# 堆栈并学习 Python 堆栈中的框架,例如。如果您需要在 Web 应用程序中使用预测结果,请学习 Flask 或 Django