簡體   English   中英

在C#中獲得Keras訓練的模型預測

[英]Getting Keras trained model predictions in c#

如標題所示,我正在嘗試將我的Keras(tf后端)預訓練模型用於c#中的謂詞。 最好的方法是什么?

我嘗試了IronPython,但是它給了我錯誤,在搜索后我發現它不受支持。 由於目標Windows設備未安裝python解釋器,因此僅調用python腳本將不起作用。

這個問題有些含糊,但我會盡力回答:

Tensorflow核心是用C ++編寫的,並且公開了一個接口,該接口可以由使用任何一種語言編寫的客戶端使用(盡管是的,到目前為止,Python是最成熟的)。

你能做什么:

  • 您可以使用python腳本來訓練keras模型,並將其計算圖保存在文件中。 然后使用TensorFlowSharp-這是一個使用c#與tensorflow API簽訂合同的項目-重新加載計算圖並使用經過訓練的網絡生成預測。
  • 如果您的設備是手機,平板電腦等, Tensorflow移動版也可以您提供幫助。 它的工作方式與上述選項類似。 不過,我不確定他們是否為Windows Phone提供支持。
  • 您提到:

    設備不會安裝python解釋器。

    哦,那好吧。 但是,您可以定義一個引導過程,該過程將級聯必要依賴項的安裝(包括cpython)。 例如,某些應用程序會這樣做以設置數據庫。 在這種情況下,您可以創建一個引導張量流並通過文件,管道或套接字響應預測請求的微服務。 然后,您的c#應用程序將連接到您的微服務並請求預測。

嘗試Keras.NET。 它使用C#numpy並調用已安裝的Keras和后端。

https://github.com/SciSharp/Keras.NET

我已經成功地使用它來直接從C#中使用Keras進行訓練和預測。 不理想,但是可以。

它不能那樣工作,因為您甚至無法在C#項目中安裝tensorflow。 放棄C#堆棧,改為在python堆棧中學習框架,例如。 如果您需要在Web應用程序中使用預測結果,請學習Flask或Django

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM