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')
上一篇: 这些都是我妈妈生的吗
推荐阅读
-
PHP中Closure类的使用方法及详解
-
详解在iOS App中自定义和隐藏状态栏的方法
-
详解iOS App开发中UIViewController的loadView方法使用
-
Android之用PopupWindow实现弹出菜单的方法详解
-
详解iOS App中调用AVAudioPlayer播放音频文件的用法
-
Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解
-
Android 往Framework中添加新资源的方法详解
-
Android 使用【AIDL】调用外部服务的解决方法
-
Windows下获取Android 源码方法的详解
-
Android修改自己程序字体的方法详解