使用C#把Tensorflow训练的.pb文件用在生产环境
訓練了很久的Tf模型,終于要到生產環境中去考驗一番了。今天花費了一些時間去研究tf的模型如何在生產環境中去使用。大概整理了這些方法。
繼續使用分步驟保存了的ckpt文件
這個貌似脫離不了tensorflow框架,而且生成的ckpt文件比較大,發布到生產環境的時候,還得把python的算法文件一起搞上去,如何和其他程序交互,可能還得自己去寫服務。估計很少有人這么做,貌似性能也很一般。
使用tensorflow Serving
tf Serving貌似是大家都比較推崇的方法。需要編譯tfServing,然后把模型導出來。直接執行tf Serving的進程,就可以對外提供服務了。具體調用的時候,還得自己寫客戶端,使用人gRPC去調用Serving,然后再對外提供服務,聽上去比較麻煩。而且我今天沒太多的時間去研究gRPC,網絡上關于客戶端很多都是用python寫的,我感覺自己的python水平比較菜,沒信心能寫好。所以這個方式就先沒研究。
生產.pb文件,然后寫程序去調用.pb文件
生成了.pb文件以后,就可以被程序去直接調用,傳入參數,然后就可以傳出來參數,而且生成的.pb文件非常的小。而我又有比較豐富的.net開發經驗。在想,是否可以用C#來解析.pb文件,然后做一個.net core的對外服務的API,這樣貌似更加高效,關鍵是自己熟悉這款的開發,不用花費太多的時間去摸索。、
具體的思路
使用.net下面的TensorFlow框架tensorflowSharp(貌似還是沒脫離了框架).去調用pb文件,然后做成.net core web API 對外提供服務。
具體的實現
直接上代碼,非常簡單,本身設計到tensorflowsharp的地方非常的少
ImageUtil這個類庫是tensorflowSharp官方的例子中一個把圖片轉成tensor的類庫,我直接copy過來了,根據我的網絡,修改了幾個參數。
相關文章:
TensorFlowSharp入門使用C#編寫TensorFlow人工智能應用
原文地址: https://www.cnblogs.com/bbird/p/9953749.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的使用C#把Tensorflow训练的.pb文件用在生产环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【招聘(广州)】 招聘.NET程序员
- 下一篇: 【招聘(上海)】东方财富证券招聘.net