簡體   English   中英

深度學習:通過不同的庫保存和加載通用機器模型

[英]Deep learning: save and load a universal machine model through different libraries

我的問題可以分為兩部分。

  • 是否有可以通過不同庫使用的機器學習模型文件的格式? 例如,我通過pytorch保存了一個模型,然后使用tensorflow加載它?

  • 如果沒有,是否有一個可以幫助傳輸格式的庫,以便可以直接在keras中使用pytorch機器學習模型?

我之所以提出這個問題的原因是,最近我需要將之前訓練過的一些模型調整為tensorflow到pytorch。

這個問題的更新: Facebook和微軟將推出一個名為ONNX的模型標准,用於在不同的框架之間傳輸模型,例如在Pytorch和Caffe2之間。 鏈接如下:

https://research.fb.com/facebook-and-microsoft-introduce-new-open-ecosystem-for-interchangeable-ai-frameworks/

此問題的進一步更新: Tensorflow本身使用協議緩沖區格式來存儲模型文件,該文件可用於在不同模型之間進行傳輸。 鏈接如下:

https://www.tensorflow.org/extend/tool_developers/

非常有趣的問題。 神經網絡是一種數學抽象,由層網絡(卷積,循環,......),運算(點積,非線性......)及其各自的參數(權重,偏差)組成。

  1. AFAIK,沒有通用的模型文件。 盡管如此,不同的庫允許用戶以二進制格式保存其模型。

  2. 沒有用於轉換的庫,但是在github repo上有努力解決這個問題。

預測標記建模語言(PMML)是一種基於XML的表示語言,適用於許多機器學習模型。 它是許多公司用於序列化和反序列化模型的開放標准 我已經使用了支持PMML的庫,用於機器學習模型,如SVM和決策樹,但還沒有將它用於深度學習模型。 不過,也有開源項目將與TensorflowKeras ,但這些庫似乎是序列化和反序列化具有相同庫的使用。 您可能想要檢查PMML是否在庫之間進行序列化和反序列化方面取得了進展。

如果沒有,是否有一個可以幫助傳輸格式的庫,以便可以直接在keras中使用pytorch機器學習模型?

你可以試試Pytorch2Keras轉換器。

在那一刻,它支持基礎層,如Conv2d,線性,激活,元素操作。 所以,我轉換了ResNet50,錯誤為1e-6。

暫無
暫無

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

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