如何将大型数据数组从 MATLAB 传递到 Python

问题描述 投票:0回答:1

我的数据存储在 MATLAB 中的类中,其中包含大型数组,但希望在 python 中使用这些数据来训练机器学习。据我所知,当在两者之间移动数据时,值会被传输,因此数组会被复制到内存中。然后将数组转换为 numpy 数组,在内存中创建进一步的副本。如何尽可能避免创建如此多的数据副本。

我还没有实现Python代码,因为如果我不能轻松地传输它那就毫无意义了。

python arrays numpy matlab transfer
1个回答
0
投票

有第三方解决方案在 MATLAB/Python 或本机方法之间共享内存(如文档所示):

https://uk.mathworks.com/help/matlab/matlab_external/passing-data-to-python.html

将矩阵和多维数组传递给Python

Python 语言提供了一种用于访问内存缓冲区(例如存储在 MATLAB 数组中的数据)的协议。 MATLAB 为 MATLAB 数组实现了此 Python 缓冲区协议,以便您可以直接从 Python 代码读取 MATLAB 数组,与 MATLAB 在同一进程中运行,无需复制数据

© www.soinside.com 2019 - 2024. All rights reserved.