在Matlab中導入在tensorflow中訓練好的模型進行預測

目前博主正在做畢業設計,使用tensorflow2.0進行。由於需要將訓練好的模型交給另外一個使用Matlab的同學進行使用,所以查了一些資料,在這裏記錄下來。其實Matlab官網早就有完整詳細的教程,奈何人類的本質就是復讀機,所以在這裏再次進行講解。先說一下我的環境:python3.7 tensorflow2.0-gpu matlab 2019a 

第一步,獲得訓練好的模型

第二步,下載Matlab的 Deep Learning Toolbox Importer for TensorFlow-Keras Models支持包

第三步,導入模型

第四步,使用模型

注意事項

附錄

說明

#define 保護 {wang shang xue ke}   

第一步,獲得訓練好的模型

首先你得有一個已經訓練好了的模型,並且保存成 .h5 格式。例如下圖這個:

該模型文件可在tensorflow中執行以下代碼得到:

model.save('MyMode_03.h5')

到此,模型就準備好了。

 

第二步,下載Matlab的 Deep Learning Toolbox Importer for TensorFlow-Keras Models支持包

此時假設你的電腦還沒有安裝這個支持包,在matlab命令行中輸入:

importKerasNetwork

matlab會報錯,並且在報錯信息的最後給出下載鏈接:

我們點擊這個鏈接,經過漫長的等待(如果能夠 保護,會快一點),就會進入下載界面(注意,如果你之前沒有登錄過matlab,這裏需要用賬號密碼進行登錄,如果沒有賬號就去註冊一個,不用擔心破解版的問題,都可以下載):

 

然後點擊安裝,等待即可(注意,這一步我 保護 之後才完成,之前一直網絡錯誤)

 

如果有人無法 保護 ,我會在文章後面給出這個支持包的網盤鏈接,你們可以試着按照readme的教程自己離線安裝,但是我之前離線安裝的時候遇到了錯誤,提示matlab版本之類的問題,祝你好運!

 

安裝完之後,打開matlab,重複之前的指令,提示:

說明安裝成功!

 

第三步,導入模型

在matlab中執行(將'''MyMode_03.h5")替換爲自己的模型)

net = importKerasNetwork('MyMode_03.h5');  %導入自己的模型
net.Layers                                 %顯示模型的結構

這是我的模型的網絡結構。

 

第四步,使用模型

x = ones(7,1000);
y=net.predict(x);
plot(y)

可以使用predict()函數來進行預測。其實還有更多的使用方法,我就不展開了,感興趣的話可以在後面的matlab參考頁查看,我會在後面給出。

 

注意事項

  • 一定要會 保護 ,這年頭不會 保護 ,那可就太難了。至於如何 保護 ,可以自行百度。
  • matlab的支持包並不是tensorflow的所有層都支持的,有一個支持列表,如下:

更多的支持信息,可以在後面的鏈接查看。

 

附錄

matlab對應參考頁pdf版本 :

參考頁

Deep Learning Toolbox Importer for TensorFlow-Keras Models支持包離線版本:

支持包

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章