在Matlab中调用pytorch上训练好的网络模型

本文目录

  • 一、找到与Matlab匹配的python版本
  • 二、在Matlab中切换python的版本
  • 三、在Matlab中调用python代码
    • 如果我的回答对你有帮助,请给我一个大大的点赞

一、找到与Matlab匹配的python版本

根据下表找到匹配的版本
在Matlab中调用pytorch上训练好的网络模型_第1张图片

本人使用的是Matalb 2018b,对应版本是python 3.6。

在Matlab命令行中输入pyversion,可以检查python的版本。

若版本符合,可以直接跳到步骤三。

若版本不符合,则可以利用conda在cmd中创建python 3.6版本的环境,命令如下:(《环境名》替换成自定义的名称)

 conda create -n 《环境名》 python=3.6

接下来遇到的问题可能是,新创建的环境中缺少必要的pakage,比如torch。这时候可以在conda中激活新环境,然后安装需要的package。

详情请参考这篇文章:多python环境conda安装pytorch

二、在Matlab中切换python的版本

python 3.6的位置

在Anaconda安装路径的envs中找到新创建环境的文件夹,在其中找到python.exe,复制这个文件的路径。

在matlab命令行中使用下面的命令切换到新创建的python版本

pyverson 文件路径\python.exe

三、在Matlab中调用python代码

本节主要参考文章:MATLAB调用Pytorch神经网络模型进行预测
,详情请看原文。

大概的思路是创建两个python文件,一个matlab函数matpy.m:

两个python文件:一个是网络模型,一个是利用网络进行预测的函数(输入值:网络模型文件的位置和待处理的数据,输出值:网络预测值)

matlab函数matpy.m:将网络模型文件的位置和待处理的数据传递给用于预测的python文件

接下来在Matlab中调用matpy函数就可以实现在Matlab中使用pytorch训练出的网络模型。

运行速度上,基本与调用.m文件差不多。

完结撒花,祝你成功 :)


如果我的回答对你有帮助,请给我一个大大的点赞


你可能感兴趣的:(matlab,pytorch,python)