使用 tall 数组处理无法放入内存的数据

        tall 数组用于处理由 datastore 支持的无法放入内存的数据。数据存储允许以单个放入内存的小块形式处理大型数据集,而不是一次将整个数据集加载到内存中。tall 数组扩展了此功能,允许使用公共函数处理无法放入内存的数据。

什么是 tall 数组?

        由于数据不是一次加载到内存中,因此 tall 数组在第一维中可以是任意大的(即可以具有任意数量的行)。tall 数组允许您以一种直观方式处理大型数据集,这与处理内存 MATLAB® 数组的方式类似;不必为超大的数据量而专门编写特殊的代码(例如使用 MapReduce 之类的技术)。许多核心运算符和函数能够像处理内存数组一样处理 tall 数组。MATLAB 一次只处理一小块数据,而在后台执行所有的数据分块和处理,因此可以对大型数据集应用常见的运算表达式,如 A+B。

tall 数组的好处

        与内存数组不同,tall 数组通常不执行计算,直到您使用 gather 函数请求执行计算后才会真正计算。这种延迟计算可快速处理大型数据集。当使用 gather 最终请求输出时,MATLAB 尽可能合并排队的计算,并执行最少次数的数据遍历操作。遍历数据的次数会极大地影响执行时间,因此建议仅在必要时才请求输出。

注意

        由于 gather 将结果作为内存 MATLAB 数组返回,因此遵循标准内存考量即可。如果 gather 返回的结果太大,MATLAB 可能会耗尽内存。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值