<p>Efficient data ingestion and online data augmentation remain challenges in deep learning workflows, particularly when dealing with datasets containing non-standard formats or massive multidimensional arrays that natively optimised functions cannot fully manage. This work presents a parallel framework that integrates <Emphasis FontCategory="NonProportional">multiprocessing</Emphasis> and global shared memory through a ring buffer architecture, enabling high-throughput data loading and flexible on-the-fly augmentation. The framework decouples data production from consumption, allowing multiple CPU workers to load and preprocess batches in parallel while completely bypassing the Python GIL and memory bottlenecks. Crucially, the framework supports both CPU-side and GPU-side augmentation strategies, adapting to whether complex conditional transformations or framework-native operations are required. The proposed approach was validated on two representative tasks: (i) sign language recognition from human pose CSV sequences, and (ii) hyperspectral image classification using massive arrays. Relative to standard sequential baselines, the proposed framework achieved up to <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(27\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>27</mn> <mo>×</mo> </mrow> </math></EquationSource> </InlineEquation> acceleration in isolated data ingestion and up to <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(28\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>28</mn> <mo>×</mo> </mrow> </math></EquationSource> </InlineEquation> in end-to-end training. Importantly, even against natively optimised parallel TensorFlow and PyTorch pipelines, it still delivered up to <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(8\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>8</mn> <mo>×</mo> </mrow> </math></EquationSource> </InlineEquation> faster data loading and up to <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(7\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>7</mn> <mo>×</mo> </mrow> </math></EquationSource> </InlineEquation> faster full training in memory-intensive scenarios. Overall, the proposed framework provides a scalable, multi-GPU compatible solution for deep learning pipelines, showing robust performance across both I/O-bound and memory-constrained scenarios in TensorFlow and PyTorch while alleviating memory fragmentation and allocation constraints.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A parallel framework for data input pipelines and online data augmentation in deep learning

  • Antonio De Toro-Castro,
  • Marcos Lupión,
  • Vicente González-Ruiz,
  • Juan F. Sanjuan,
  • Pilar M. Ortigosa

摘要

Efficient data ingestion and online data augmentation remain challenges in deep learning workflows, particularly when dealing with datasets containing non-standard formats or massive multidimensional arrays that natively optimised functions cannot fully manage. This work presents a parallel framework that integrates multiprocessing and global shared memory through a ring buffer architecture, enabling high-throughput data loading and flexible on-the-fly augmentation. The framework decouples data production from consumption, allowing multiple CPU workers to load and preprocess batches in parallel while completely bypassing the Python GIL and memory bottlenecks. Crucially, the framework supports both CPU-side and GPU-side augmentation strategies, adapting to whether complex conditional transformations or framework-native operations are required. The proposed approach was validated on two representative tasks: (i) sign language recognition from human pose CSV sequences, and (ii) hyperspectral image classification using massive arrays. Relative to standard sequential baselines, the proposed framework achieved up to \(27\times \) 27 × acceleration in isolated data ingestion and up to \(28\times \) 28 × in end-to-end training. Importantly, even against natively optimised parallel TensorFlow and PyTorch pipelines, it still delivered up to \(8\times \) 8 × faster data loading and up to \(7\times \) 7 × faster full training in memory-intensive scenarios. Overall, the proposed framework provides a scalable, multi-GPU compatible solution for deep learning pipelines, showing robust performance across both I/O-bound and memory-constrained scenarios in TensorFlow and PyTorch while alleviating memory fragmentation and allocation constraints.