Gestiunea Memoriei GPU: empty_cache și memory_allocated în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
torch.cuda.empty_cache(); torch.cuda.memory_allocated()

PyTorch utilizează un alocator intern de memorie cache (Caching Allocator) pentru a accelera alocările pe GPU. Atunci când un tensor este șters din Python, memoria fizică VRAM nu este returnată imediat sistemului de operare, ci rămâne rezervată în pool-ul de cache PyTorch pentru reutilizare rapidă.

import torch

if torch.cuda.is_available():
    # Memorie efectiv utilizată de tensori activi
    utilizata = torch.cuda.memory_allocated() / (1024 ** 2)
    
    # Memorie totală rezervată de alocator în VRAM
    rezervata = torch.cuda.memory_reserved() / (1024 ** 2)
    print(f"Alocată: {utilizata:.1f} MB | Rezervată: {rezervata:.1f} MB")
    
    # Eliberarea memoriei rezervate neutilizate către driverul NVIDIA
    torch.cuda.empty_cache()

Deși empty_cache() eliberează memoria rezervată pentru alte procese, nu poate rezolva o eroare reală de lipsă de VRAM cauzată de un batch size prea mare sau de un model prea extins.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Gestiunea Memoriei GPU: empty_cache și memory_allocated

Ai o întrebare despre Gestiunea Memoriei GPU: empty_cache și memory_allocated sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.