Я бы пошел на несколько файлов на вашем месте (но прочитал бы до конца).
Интуитивно, вы могли бы загрузить хотя бы несколько файлов в память, немного ускоряя процесс (маловероятно, что выВы можете сделать это с 20 ГБ, если хотите, чем определенно, так как доступ к ОЗУ намного быстрее)(скажем, в list
или другой более эффективной для памяти структуре данных с лучшей локальностью кэша, предпочтительно) вместо чтения с диска (аналогично подходу в tf.data.Dataset
объекте Tensorflow и его методе cache
).
С другой стороны, этот подход более громоздок и труден для правильной реализации, хотя, если вы только читаете файл с несколькими потоками, у вас все должно быть в порядке, и не должно быть никаких блокировок в этой операции..
Не забудьте измерить свой подход с помощью профилировщика pytorch (torch.utils.bottleneck
), чтобы точно определить проблемумс и проверить решения.