经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » MATLAB » 查看文章
python调用matlab的方法详解
来源:jb51  时间:2021/11/23 12:53:08  对本文有异议

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的命令行窗口中输入:

  1. matlabroot

得到matlab的安装目录:

  1. >> matlabroot
  2.  
  3. ans =
  4.  
  5. '/Applications/MATLAB_R2021b.app'
  6.  
  7. >>

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

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

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

  1. python setup.py build --build-base="builddir" install
  2. python setup.py install --prefix="installdir"
  3. python setup.py build --build-base="builddir" install --prefix="installdir"
  4. 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')

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号