目前博主正在做畢業設計,使用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支持包離線版本: