python调用matlab的方法详解

 更新时间:2021年11月23日 10:11:52   作者:urnotdpp  
这篇文章主要为大家介绍了python调用matlab,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1.python版本与matlab版本的对应关系

在MAC中安装了Anaconda3,其中自带的python版本为3.8,通过python版本与matlab版本的对应关系,至少要下载R2020b及其以上版本的matlab,于是安装了R2021b版本的matlab,这时就能保证matlab与python的版本相对应,于是就能在python中调用matlab代码。

2.import matlab.engine的问题

在python中使用import matlab.engine时,会提示:ImportError: No module named matlab.engine,为了解决这个问题,需要从下面几个步骤下手:

(1)在matlab的命令行窗口中输入:

matlabroot

得到matlab的安装目录:

>> matlabroot

ans =

    '/Applications/MATLAB_R2021b.app'

>> 

接着在MAC自带的终端中,进入到matlab的安装目录中python的目录下:

d@DdeMacBook-Pro ~ % cd /Applications/MATLAB_R2021b.app/extern/engines/python
d@DdeMacBook-Pro python % 

接着依次执行下面的操作:

python setup.py build --build-base="builddir" install
 
python setup.py install --prefix="installdir"
 
python setup.py build --build-base="builddir" install --prefix="installdir"
 
python setup.py install --user

通过上述操作,将得到下面这些文件夹:

在这里插入图片描述

(2)执行上述操作之后,python中还会显示不能导入matlab.engine模块,这时还需要执行下面这个操作:将matlab安装目录下的/Applications/MATLAB_R2021b.app/extern/engines/python/build/lib下的matlab文件夹拷贝到python中包的安装目录,也就是:/Users/dpp/opt/anaconda3/lib/python3.8/site-packages/中,这时就已经解决了matlab.engine模块导入失败的问题。

(3)如果是windows系统,则可以参考下面两个博客:参考1、参考2。

3.代码报错:please use torch.load with map_location=torch.device(‘cpu‘) to map your storages to the CPU的问题

在代码中使用 pytorch加载模型时,如果电脑没有GPU,则会报错please use torch.load with map_location=torch.device(‘cpu‘) to map your storages to the CPU,这时需要将加载模型的代码采用如下的修改方式:

修改前: checkpoint = torch.load(file_name)

修改后: checkpoint = torch.load(file_name, map_location='cpu')

相关文章

  • python实现飞船游戏的纵向移动

    python实现飞船游戏的纵向移动

    这篇文章主要为大家详细介绍了python实现飞船游戏的纵向移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 关于python3中setup.py小概念解析

    关于python3中setup.py小概念解析

    这篇文章主要介绍了关于python3中setup.py小概念解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python对接六大主流数据库(只需三步)

    Python对接六大主流数据库(只需三步)

    这篇文章主要介绍了Python对接六大主流数据库(只需三步),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • OpenCV半小时掌握基本操作之滤波器

    OpenCV半小时掌握基本操作之滤波器

    这篇文章主要介绍了OpenCV基本操作之滤波器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python 字典的打印实现

    python 字典的打印实现

    这篇文章主要介绍了python 字典的打印实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式

    tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式

    今天小编就为大家分享一篇tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python进程池和线程池的区别

    python进程池和线程池的区别

    本文主要介绍了python进程池和线程池的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Selenium结合BeautifulSoup4编写简单的python爬虫

    Selenium结合BeautifulSoup4编写简单的python爬虫

    这篇文章主要介绍了Selenium结合BeautifulSoup4编写简单的python爬虫,帮助大家更好的理解和学习python 爬虫的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • python 创建弹出式菜单的实现代码

    python 创建弹出式菜单的实现代码

    这篇文章主要介绍了python 创建弹出式菜单的实现代码的相关资料,需要的朋友可以参考下
    2017-07-07
  • Python使用pydub实现M4A转MP3转换器

    Python使用pydub实现M4A转MP3转换器

    这篇文章主要介绍了如何使用 wxPython 创建一个图形用户界面(GUI)应用程序,能够将 .m4a 文件转换为 .mp3 文件,感兴趣的可以了解下
    2024-11-11

最新评论