大数据里的大型多维数组,MATLAB 原生支持总觉得有点吃力?MappedTensor挺适合你这种场景。它的内存映射方式,让你不用一次性加载整个数据集,节省内存不说,速度也能提上来,懒加载做得蛮聪明的。适合那种几百 GB 图像、时间序列,或者训练大模型的项目场景。

内存映射的 tensor,本质上就是把磁盘上的大文件像数组那样直接用。你用起来和操作oneszeros这些数组差不多,比如切片、加法都一样写法。背后虽然是磁盘操作,但响应还不错,读写比你一行一行fread快多了。

MappedTensor最适合做啥?图像分类的数据预、金融时间序列,或者多模态数据的聚合都挺合适的。用法上也不复杂,就是初始化时候指定个路径和维度,之后就当普通数组用就行。

不过你要注意几点:文件太大还是受操作系统限制;虽然快,但比不过纯内存操作;还有文件格式最好别乱搞,尽量用它推荐的格式,.mat或者二进制的。

,如果你手里是上百 G 的数据,又不想让 MATLAB 直接崩溃,MappedTensor 确实是个靠谱的选择。懒加载+数组兼容的方式,在工程和科研项目里都蛮实用的。

如果你也经常用 MATLAB 大文件,可以去看看这个工具,顺手又不占内存。