将keras训练好的神经网络模型生成独立于python环境运行的.exe文件并在matlab中调用(下篇)

keras是深度学习简单易上手的python第三方库。在实际应用中,常常需要将keras训练好的深度学习模型生成独立于python环境的文件,供不会python的人或未安装python环境的设备调用。在windows环境下比较好的选择是生成.exe文件。本文进行了成功的探索。本文主要内容如下

  1. 利用keras构建一个简单的深度学习模型
  2. 利用PyInstaller将python文件编译成.exe文件
  3. .exe文件功能测试
  4. matlab中调用该.exe文件
    由于本文篇幅较长,分上下两部分,下篇主要介绍内容3和内容4. 上篇的链接如下:
    https://blog.csdn.net/graceful_snow/article/details/103227660

三、.exe文件功能测试

  1. 本案例中生成的exe文件位于以下目录中,正常情况下一般在"./dist/mlp"路径下,其中.代表.py文件所在的文件路径D:/mlpinference/mlpmlp为.py文件的名称。该文件夹具体如下,其中weightdata文件夹中分别存储了bp.h5文件和data.mat文件。
    在这里插入图片描述
    在这里插入图片描述
  2. weight和data文件夹具体如图所示
    在这里插入图片描述在这里插入图片描述
  3. 生成的exe文件在在"./dist/mlp"路径下,其中.代表.py文件所在的文件路径在这里插入图片描述
  4. 运行该exe文件,发现黑框一闪而过,且没有生成原始py文件能够生成的y_pre.txt文件,故运行失败,把bp.h5文件和data.mat文件复制到exe文件所在的文件夹中,即D:/mlpinference/mlp/dist/mlp文件夹中,然后再次运行,成功生成了y_pre.txt文件。经尝试发现,把data文件夹和weight文件夹删除后,仍然能够成功运行。

四、MATALB中调用exe文件

  1. 将以下文件夹中的mlp子文件夹全部复制到MATLAB的某个文件夹下。在这里插入图片描述
  2. 本文选择的MATLAB运行文件夹如下,将上述mlp子文件夹复制到这里,并重命名为mlp_python 在这里插入图片描述
  3. 撰写调用该Exe文件的M文件main_mlp.m,该M文件所在位置如上图所示,具体内容如下。
clear; clc;  close all
tic     %begin timing 
cd ./'mlp_python'    %change folder to the folder which EXE file is in.
system('mlp.exe')   % run the EXE file
cd ..    % return to the current folder
load ./'mlp_python'/y_pre.txt   % load the txt file generated by the EXE file, namely the
%#result of neural network
toc   % stop timing
  1. 运行该M文件。运行成功后,在MATLAB窗口,产生以下提示,并生成了y_pre变量,该变量的值即为神经网络的预测结果
    在这里插入图片描述
  2. 在实际应用,常常需要利用训练好的神经网络模型,对新的输入数据进行预测。想修改神经网络的输入数据,只需要修改mlp_python文件夹中的data.mat文件。利用matlab命令save ./'mlp_python' data.mat可以方便地修改data.mat文件中变量的值。修改数据后,重新运行main_mlp.m文件,即可得到修改输入数据后的神经网络预测结果。

由此,本文实现了将keras训练好的神经网络模型生成独立于python环境运行的.exe文件并在matlab中调用,谨将其中的踩坑过程记录下来,供自己和他人参考。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值