python调用matlab的方法详解

作者:urnotdpp 时间:2023-10-18 06:39:02 

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

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

python调用matlab的方法详解

(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')

来源:https://blog.csdn.net/weixin_43981621/article/details/121480715

标签:python,调用,matlab
0
投稿

猜你喜欢

  • Node.js系列之连接DB的方法(3)

    2024-05-03 15:55:26
  • Python实现生成随机日期字符串的方法示例

    2023-10-27 11:51:37
  • MySQL中实现高性能高并发计数器方案(例如文章点击数)

    2024-01-19 00:43:09
  • 详解Django中CSRF和CORS的区别

    2021-02-19 19:16:51
  • python 处理微信对账单数据的实例代码

    2023-12-19 21:45:23
  • 浅谈Python xlwings 读取Excel文件的正确姿势

    2021-10-15 23:33:36
  • 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器

    2022-10-10 11:37:29
  • 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

    2024-06-07 15:29:45
  • Pytorch dataloader在加载最后一个batch时卡死的解决

    2022-09-15 06:50:34
  • MySQL优化方案参考

    2024-01-24 03:28:03
  • mysql学习笔记之基础知识

    2024-01-13 08:27:16
  • 如何打包Python Web项目实现免安装一键启动的方法

    2022-08-16 19:28:48
  • 请问能否在ASP中调用DLL

    2009-06-07 18:24:00
  • Oracle数据库的空间管理技巧

    2010-07-26 13:16:00
  • django 做 migrate 时 表已存在的处理方法

    2022-02-14 16:11:53
  • python实现中文输出的两种方法

    2022-08-13 11:59:42
  • Python处理JSON时的值报错及编码报错的两则解决实录

    2023-11-10 07:12:07
  • Python发起请求提示UnicodeEncodeError错误代码解决方法

    2022-09-14 09:47:36
  • 基于 Python 实践感知器分类算法

    2022-08-08 05:49:31
  • python Django的显示个人信息详解

    2021-10-09 15:47:14
  • asp之家 网络编程 m.aspxhome.com