在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支持包离线版本:

支持包

猜你喜欢

转载自blog.csdn.net/qq_39545674/article/details/105111571
今日推荐