Сделайте загрузку данных в PyTorch в 5 раз быстрее! 🫵
Обычно при обучении на GPU:
🟢to(device) переносит данные на GPU.
🟢Затем все вычисления выполняются на GPU.
Это означает, что когда GPU занят, CPU простаивает, и наоборот. Однако это можно оптимизировать с помощью закрепления памяти (memory pinning).
Как это работает:
— Пока модель обучается на первом мини-батче, CPU может передавать второй мини-батч на GPU.
— Это позволяет GPU сразу же начать обработку нового мини-батча без ожидания.
Включить эту оптимизацию очень просто:
☑ Установите pin_memory=True в объекте DataLoader.
☑ При передаче данных используйте: .to(device, non_blocking=True).
☑ Дополнительно укажите num_workers в DataLoader для еще большей оптимизации.
Прирост скорости очевиден!
👉 @PythonPortal | #ресурсы
Post #3924
6.86K

- 👍 12
- ❤ 6
- 🔥 2