Kaip paskirstyti CUDA atmintį naudojant kintamąjį „pytorch_cuda_alloc_conf“?

Kaip Paskirstyti Cuda Atminti Naudojant Kintamaji Pytorch Cuda Alloc Conf



„PyTorch“ lengva suprasti pradedantiesiems, norint išmokti kurti mašininio mokymosi modelius, tačiau dėl išskirtinio gebėjimo palaikyti sudėtingų modelių kūrimą ji yra populiariausia dirbtinio intelekto sistema. Šie modeliai yra apmokyti per milijonus terabaitų duomenų ir juos apdoroti reikia galingų GPU. Šie aparatūros ištekliai turi būti tinkamai valdomi, kad būtų optimizuotas apdorojimo laikas ir pytorch_cuda_alloc_conf “ kintamasis šiuo atžvilgiu labai padeda.

Šiame straipsnyje aptarsime, kaip paskirstyti SKIRTINGAI atmintis per ' pytorch_cuda_alloc_conf “ metodas.

Kas yra „pytorch_cuda_alloc_conf“ metodas „PyTorch“?

Iš esmės „ pytorch_cuda_alloc_conf “ yra aplinkos kintamasis PyTorch sistemoje. Šis kintamasis leidžia efektyviai valdyti turimus apdorojimo išteklius, o tai reiškia, kad modeliai veikia ir pateikia rezultatus per trumpiausią įmanomą laiką. Jei padaryta netinkamai, „ SKIRTINGAI ' skaičiavimo platforma parodys ' nepakanka atminties “ klaida ir turi įtakos vykdymo laikui. Modeliai, kurie turi būti mokomi naudoti didelius duomenų kiekius arba turi didelius ' partijų dydžiai “ gali sukelti vykdymo klaidų, nes numatytųjų nustatymų joms gali nepakakti.





pytorch_cuda_alloc_conf ' kintamasis naudoja šį ' galimybės “ tvarkyti išteklių paskirstymą:



  • gimtoji : Ši parinktis naudoja jau turimus „PyTorch“ nustatymus, kad paskirstytų atmintį vykdomam modeliui.
  • max_split_size_mb : užtikrina, kad joks kodo blokas, didesnis nei nurodytas dydis, nebūtų padalintas. Tai yra galinga priemonė užkirsti kelią suskaidymas “. Šią parinktį naudosime demonstruodami šiame straipsnyje.
  • roundup_power2_divisions : ši parinktis suapvalina paskirstymo dydį iki artimiausio ' 2 galia ” padalijimas megabaitais (MB).
  • roundup_bypass_threshold_mb: Jis gali suapvalinti paskirstymo dydį bet kuriai užklausai, kurios sąrašas viršija nurodytą slenkstį.
  • šiukšlių_surinkimo_slenkstis : Jis apsaugo nuo delsos, realiuoju laiku išnaudodamas turimą GPU atmintį, kad užtikrintų, jog nebus inicijuotas visų atkūrimo protokolas.

Kaip paskirstyti atmintį naudojant „pytorch_cuda_alloc_conf“ metodą?

Bet kuriam modeliui su dideliu duomenų rinkiniu reikalingas papildomas atminties paskirstymas, kuris yra didesnis nei nustatytas pagal numatytuosius nustatymus. Pasirinktinis paskirstymas turi būti nurodytas atsižvelgiant į modelio reikalavimus ir turimus aparatinės įrangos išteklius.



Atlikite toliau nurodytus veiksmus, kad galėtumėte naudoti pytorch_cuda_alloc_conf “ metodas „Google Colab IDE“, kad būtų skirta daugiau atminties sudėtingam mašininio mokymosi modeliui:





1 veiksmas: atidarykite „Google Colab“.
Ieškokite Google Bendradarbiaujantis naršyklėje ir sukurkite „ Naujas bloknotas “ norėdami pradėti dirbti:



2 veiksmas: nustatykite pasirinktinį PyTorch modelį
Nustatykite „PyTorch“ modelį naudodami „ !pip “ diegimo paketą, kad įdiegtumėte “ deglas biblioteka ir importuoti ' komanda importuoti ' deglas “ ir „ tu “ bibliotekos į projektą:

! pip diegti deglas

importo žibintuvėlis
importuoti mus

Šiam projektui reikalingos šios bibliotekos:

  • Fakelas – Tai pagrindinė biblioteka, kuria remiasi „PyTorch“.
  • TU – „ Operacinė sistema biblioteka naudojama užduotims, susijusioms su aplinkos kintamaisiais, pvz. pytorch_cuda_alloc_conf “, taip pat sistemos katalogą ir failo teises:

3 veiksmas: paskirkite CUDA atmintį
Naudoti ' pytorch_cuda_alloc_conf “ metodą, norėdami nurodyti didžiausią padalijimo dydį naudodami „ max_split_size_mb “:

os.aplinka [ „PYTORCH_CUDA_ALLOC_CONF“ ] = 'max_split_size_mb:1024'

4 veiksmas: tęskite savo PyTorch projektą
Nurodęs „ SKIRTINGAI ' erdvės paskirstymas su ' max_split_size_mb “, toliau dirbkite su PyTorch projektu kaip įprastai, nebijodami „ nepakanka atminties “ klaida.

Pastaba : „Google Colab“ bloknotą galite pasiekti šiuo adresu nuoroda .

Pro-Tip

Kaip minėta anksčiau, „ pytorch_cuda_alloc_conf “ metodas gali būti naudojamas bet kuriai iš aukščiau pateiktų parinkčių. Naudokite juos pagal specifinius gilaus mokymosi projektų reikalavimus.

Sėkmė! Mes ką tik parodėme, kaip naudoti pytorch_cuda_alloc_conf “ metodas nurodyti „ max_split_size_mb “ PyTorch projektui.

Išvada

Naudoti ' pytorch_cuda_alloc_conf “ metodas, skirtas paskirstyti CUDA atmintį, naudojant bet kurią iš galimų parinkčių pagal modelio reikalavimus. Kiekviena iš šių parinkčių yra skirta palengvinti tam tikrą apdorojimo problemą PyTorch projektuose, kad būtų užtikrintas geresnis vykdymo laikas ir sklandesnės operacijos. Šiame straipsnyje mes pristatėme sintaksę naudoti max_split_size_mb “ parinktį, kad nustatytumėte maksimalų padalijimo dydį.