最近训练模型,需要加载wifi sci data 数据量特别大,直接干爆内存,训练也特别慢,快放弃了!随后冷静下来,然后靠着多年的经验,来进行层层优化,随诞生了这篇博客。
背景介绍
机器学习模型的训练通常需要大量的数据,尤其是对于深度神经网络模型。然而,当数据集非常庞大时,直接将其全部加载到内存中可能会导致内存占用过高,甚至内存溢出。此外,频繁地从磁盘读取数据也会大幅降低训练效率。因此,合理地管理数据读取过程至关重要,以在内存占用和训练速度之间取得平衡。在本文中,我将分享一种针对大型CSV数据集的优化策略,通过延迟加载、数据分批处理、内存映射、LRU缓存以及GPU加速等方法,有效解决了内存溢出和训练效率低下的问题。
优化策略
1. 延迟加载 (Lazy Loading)
最初的数据加载策略是在初始化数据集时将所有CSV文件一次性读入内存。然而,这种做法容易导致内存占用过高,甚至内