import{s as ea,o as la,n as rl}from"../chunks/scheduler.36a0863c.js";import{S as aa,i as na,g as p,s as n,u as c,A as ta,h as i,f as l,c as t,j as J,v as m,y as r,k as b,o as T,a,w as M,d as j,t as d,x as w}from"../chunks/index.d0f7a4c4.js";import{T as il}from"../chunks/Tip.4c7d7eb1.js";import{I as ll}from"../chunks/IconCopyLink.bc5fad79.js";import{C as h}from"../chunks/CodeBlock.69433f87.js";function pa(Z){let o,y="Questa funzionalità al momento è disponibile solo per PyTorch.";return{c(){o=p("p"),o.textContent=y},l(u){o=i(u,"P",{"data-svelte-h":!0}),r(o)!=="svelte-ecm9v3"&&(o.textContent=y)},m(u,I){a(u,o,I)},p:rl,d(u){u&&l(o)}}}function ia(Z){let o,y="Per addestramento multi-GPU richiede DDP (<code>torch.distributed.launch</code>).";return{c(){o=p("p"),o.innerHTML=y},l(u){o=i(u,"P",{"data-svelte-h":!0}),r(o)!=="svelte-o96oxl"&&(o.innerHTML=y)},m(u,I){a(u,o,I)},p:rl,d(u){u&&l(o)}}}function ra(Z){let o,y="Questa funzionalità può essere usata con modelli basati su <code>nn.Module</code>.";return{c(){o=p("p"),o.innerHTML=y},l(u){o=i(u,"P",{"data-svelte-h":!0}),r(o)!=="svelte-9uk85f"&&(o.innerHTML=y)},m(u,I){a(u,o,I)},p:rl,d(u){u&&l(o)}}}function oa(Z){let o,y,u,I,U,A,Es,$,al,Ns,ol="Debugging",Ys,f,G,Qs,k,nl,xs,ul="Debug dei problemi di rete multi-GPU",Fs,N,cl="Quando addestri o fai inferenza con <code>DistributedDataParallel</code> e GPU multiple, se si verificano problemi di intercomunicazione tra processi e/o nodi, puoi utilizzare il seguente script per diagnosticare i problemi della rete.",Ps,x,qs,L,ml="Per esempio per testare come 2 GPU interagiscono fai:",Ks,W,Os,E,Ml="Se entrambi i processi sono in grado di comunicare tra loro e di allocare la memoria della GPU, ciascuno di essi stamperà lo stato OK.",se,Q,jl="Per più GPU o nodi adatta gli argumenti nello script.",ee,X,dl="All’interno dello script di diagnostica troverai molti altri dettagli e anche una guida per eseguirlo in ambiente SLURM.",le,z,wl="Un livello di debug superiore è aggiungere la variabile d’ambiente <code>NCCL_DEBUG=INFO</code> come di seguito:",ae,D,ne,S,bl="In questo modo si scaricano molte informazioni di debug relative a NCCL, che puoi cercare online in caso di problemi. Oppure, se non hai la sicurezza di come interpretare l’output, puoi condividere il file di log in una Issue.",te,C,V,Xs,H,tl,Ls,Tl="Rilevamento di Underflow e Overflow",pe,g,ie,B,re,R,oe,Y,hl=`Se inizi a ottenere <code>loss=NaN</code> o il modello presenta qualche altro comportamento anomalo a causa di valori <code>inf</code> o <code>nan</code> in
attivazioni o nei pesi, è necessario scoprire dove si verifica il primo underflow o overflow e cosa lo ha determinato. Fortunatamente
è possibile farlo facilmente attivando un modulo speciale che effettuerà il rilevamento automaticamente.`,ue,F,Jl="Se stai usando <code>Trainer</code>, hai bisogno di aggiungere solo:",ce,P,me,q,yl=`ai normali argomenti della riga di comando, o passa <code>debug=&quot;underflow_overflow&quot;</code> quando viene creato l’oggetto
<code>TrainingArguments</code>.`,Me,K,Il="Se stai usando il tuo ciclo di allenamento o un altro trainer, puoi ottenere lo stesso risultato con:",je,O,de,ss,Ul=`<code>DebugUnderflowOverflow</code> inserisce dei ganci nel modello che dopo ogni chiamata
testeranno le variabili di ingresso e di uscita e anche i pesi del modulo corrispondente. Non appena viene rilevato <code>inf</code> o
o <code>nan</code> in almeno un elemento delle attivazioni o dei pesi, il programma lo notifica e stampa un rapporto come il seguente (questo è stato rilevato con <code>google/mt5-small</code> sotto fp16 mixed precision):`,we,es,be,ls,fl="L’output di esempio è stato tagliato al centro per brevità.",Te,as,Cl=`La seconda colonna mostra il valore dell’elemento più grande in assoluto,così se osserviamo da vicino gli ultimi istanti,
input e output sono nel range di <code>1e4</code>. Questo addestramento è stato eseguito con una mixed precision fp16 e l’ultimo passo usciva fuori (sotto <code>fp16</code> il valore più grande prima di <code>inf</code> è <code>64e3</code>). Per evitare overflows sotto <code>fp16</code> le attivazionioni devono rimanere molto al di sotto di <code>1e4</code>, perché <code>1e4 * 1e4 = 1e8</code> quindi qualsiasi moltiplicazione di matrice con grandi attivazioni porterà a una condizione di overflow numerico.`,he,ns,vl="All’inizio della traccia è possibile scoprire a quale lotto si è verificato il problema (questo <code>Detected inf/nan during batch_number=0</code> significa che il problema si è verificato nel primo lotto).",Je,ts,Zl=`Ogni frame segnalato inizia dichiarando la voce completamente qualificata per il modulo corrispondente per il quale il frame è stato segnalato.
Se osserviamo il seguente frame:`,ye,ps,Ie,is,Al="Questo, <code>encoder.block.2.layer.1.layer_norm</code> indica che si tratta di un layer norm nel primo layer, del secondo blocco dell’encoder. E le chiamata specifica di <code>forward</code> è <code>T5LayerNorm</code>.",Ue,rs,Gl="Osserviamo gli ultimi frame del report:",fe,os,Ce,us,Vl="L’ultimo frame report per la funzione <code>Dropout.forward</code> con la prima voce per l’unico input e la seconda per l’unico output. Si può notare che è stato richiamato da un attibuto <code>dropout</code> dentro la classe <code>DenseReluDense</code>. Si può notare che ciò è avvenuto durante il primo strato, del 2° blocco, durante il primissimo lotto. Infine, gli elementi di input più grandi in assoluto sono stati <code>6.27e+04</code> e l’equivalente per l’output era <code>inf</code>.",ve,cs,gl="Puoi vedere qui, che <code>T5DenseGatedGeluDense.forward</code> risulta in output activations, il cui valore massimo assoluto era circa 62,7K, che è molto vicino al limite massimo di 64K di fp16. Nel prossimo frame abbiamo <code>Dropout</code> che rinormalizza i pesi, dopo aver azzerato alcuni elementi, il che spinge il valore massimo assoluto a più di 64K e si verifica un overflow.(<code>inf</code>).",Ze,ms,Bl="Come puoi notare, è nei frames precedenti che occorre esaminare quando i numeri iniziano a diventare molto grandi per i valori fp16.",Ae,Ms,Rl="Confrontiamo il report al codice <code>models/t5/modeling_t5.py</code>:",Ge,js,Ve,ds,_l="Ora è facile vedere la chiamata <code>dropout</code>, e tutte le chiamate precedenti.",ge,ws,$l="Poiché il rilevamento avviene in un avanzamento (forward hook in eng.), i rapporti vengono creati immeditamente dopo ogni rientro da <code>forward</code> (forward returns in eng.).",Be,bs,kl="Tornando al rapporto completo, per agire e risolvere il problema, dobbiamo andare qualche frame più in alto, dove i numeri hanno iniziato a salire, e probabilmente passare alla modalità <code>fp32</code>, in modo che i numeri non trabocchino quando vengono moltiplicati o sommati. Naturalmente, potrebbero esserci altre soluzioni. Per esempio, potremmo spegnere temporanemante <code>amp</code> se è abilitato, successivamente spostare <code>forward</code> in un helper wrapper, come:",Re,Ts,_e,hs,Nl=`Poiché il rilevatore automatico riporta solo gli ingressi e le uscite di fotogrammi completi, una volta che si sa dove cercare, si può
analizzare anche le fasi intermedie di una specifica funzione <code>forward</code>. In alcuni casi puoi usare la funzione di supporto <code>detect_overflow</code> per indirizzare il rilevatore dove preferisci, ad esempio:`,$e,Js,ke,ys,xl=`Si può vedere che abbiamo aggiunto 2 di questi e ora teniamo traccia se <code>inf</code> o <code>nan</code> per <code>forwarded_states</code> è stato rilevato
da qualche parte.`,Ne,Is,Ll=`In realtà, il rilevatore li riporta già, perché ciascuna delle chiamate nell’esempio precedente è un <code>nn.Module</code>, ma
diciamo che se avessimo dei calcoli diretti locali, questo è il modo in cui lo faremmo.`,xe,Us,Wl=`Inoltre, se si istanzia il debugger nel proprio codice, è possibile modificare il numero di fotogrammi stampati rispetto a
predefinito, ad esempio.:`,Le,fs,We,v,_,zs,Cs,pl,Ws,El="Tracciamento della mistura assoluta del lotto specifico e del valore massimo",Ee,vs,Ql="La stessa classe di debug può essere utilizzata per il tracciamento per-batch con la funzione di rilevamento di underflow/overflow disattivata.",Qe,Zs,Xl=`Supponiamo di voler osservare i valori minimi e massimi assoluti per tutti gli ingredienti di ogni chiamata <code>forward</code> di un dato lotto.
lotto, e che lo si voglia fare solo per i lotti 1 e 3. Si istanzia questa classe come:`,Xe,As,ze,Gs,zl="Ora i batch completi 1 e 3 saranno tracciati utilizzando lo stesso formato del rilevatore di underflow/overflow.",De,Vs,Dl="I batches sono 0-indexed.",Se,gs,Sl=`Questo è utile se si sa che il programma inizia a comportarsi male dopo un certo numero di batch, in modo da poter avanzare velocemente fino a quell’area.
direttamente a quell’area. Ecco un esempio di output troncato per questa configurazione:`,He,Bs,Ye,Rs,Hl="Qui verrà scaricato un numero enorme di fotogrammi, tanti quanti sono le chiamate in avanti nel modello, quindi può essere o non essere quello che volete, ma a volte può essere più utile usarlo di un classico debugger. Per esempio, se il problema inizia a verificarsi a partire dal lotto numero 150. Quindi è possibile scaricare le tracce dei lotti 149 e 150 e confrontare i punti in cui i numeri hanno iniziato a divergere.",Fe,_s,Yl="È inoltre possibile specificare il numero di batch dopo il quale interrompere l’addestramento, con:",Pe,$s,qe,Ds,Ke;return $=new ll({}),k=new ll({}),x=new h({props:{code:"d2dldCUyMGh0dHBzJTNBJTJGJTJGcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSUyRmh1Z2dpbmdmYWNlJTJGdHJhbnNmb3JtZXJzJTJGbWFpbiUyRnNjcmlwdHMlMkZkaXN0cmlidXRlZCUyRnRvcmNoLWRpc3RyaWJ1dGVkLWdwdS10ZXN0LnB5",highlighted:"wget https://raw.githubusercontent.com/huggingface/transformers/main/scripts/distributed/torch-distributed-gpu-test.py"}}),W=new h({props:{code:"cHl0aG9uJTIwLW0lMjB0b3JjaC5kaXN0cmlidXRlZC5ydW4lMjAtLW5wcm9jX3Blcl9ub2RlJTIwMiUyMC0tbm5vZGVzJTIwMSUyMHRvcmNoLWRpc3RyaWJ1dGVkLWdwdS10ZXN0LnB5",highlighted:"python -m torch.distributed.run --nproc_per_node 2 --nnodes 1 torch-distributed-gpu-test.py"}}),D=new h({props:{code:"TkNDTF9ERUJVRyUzRElORk8lMjBweXRob24lMjAtbSUyMHRvcmNoLmRpc3RyaWJ1dGVkLnJ1biUyMC0tbnByb2NfcGVyX25vZGUlMjAyJTIwLS1ubm9kZXMlMjAxJTIwdG9yY2gtZGlzdHJpYnV0ZWQtZ3B1LXRlc3QucHk=",highlighted:"NCCL_DEBUG=INFO python -m torch.distributed.run --nproc_per_node 2 --nnodes 1 torch-distributed-gpu-test.py"}}),H=new ll({}),g=new il({props:{$$slots:{default:[pa]},$$scope:{ctx:Z}}}),B=new il({props:{$$slots:{default:[ia]},$$scope:{ctx:Z}}}),R=new il({props:{$$slots:{default:[ra]},$$scope:{ctx:Z}}}),P=new h({props:{code:"LS1kZWJ1ZyUyMHVuZGVyZmxvd19vdmVyZmxvdw==",highlighted:"--debug underflow_overflow"}}),O=new h({props:{code:"ZnJvbSUyMC5kZWJ1Z191dGlscyUyMGltcG9ydCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3clMEElMEFkZWJ1Z19vdmVyZmxvdyUyMCUzRCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3cobW9kZWwp",highlighted:`<span class="hljs-keyword">from</span> .debug_utils <span class="hljs-keyword">import</span> DebugUnderflowOverflow

debug_overflow = DebugUnderflowOverflow(model)`}}),es=new h({props:{code:"RGV0ZWN0ZWQlMjBpbmYlMkZuYW4lMjBkdXJpbmclMjBiYXRjaF9udW1iZXIlM0QwJTBBTGFzdCUyMDIxJTIwZm9yd2FyZCUyMGZyYW1lcyUzQSUwQWFicyUyMG1pbiUyMCUyMGFicyUyMG1heCUyMCUyMG1ldGFkYXRhJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4xLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UuZHJvcG91dCUyMERyb3BvdXQlMEEwLjAwZSUyQjAwJTIwMi41N2UlMkIwMiUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAyLjg1ZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjAlMjBUNUxheWVyU2VsZkF0dGVudGlvbiUwQTYuNzhlLTA0JTIwMy4xNWUlMkIwMyUyMGlucHV0JTVCMCU1RCUwQTIuNjVlLTA0JTIwMy40MmUlMkIwMyUyMG91dHB1dCU1QjAlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBOb25lJTIwb3V0cHV0JTVCMSU1RCUwQTIuMjVlLTAxJTIwMS4wMGUlMkIwNCUyMG91dHB1dCU1QjIlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5sYXllcl9ub3JtJTIwVDVMYXllck5vcm0lMEE4LjY5ZS0wMiUyMDQuMThlLTAxJTIwd2VpZ2h0JTBBMi42NWUtMDQlMjAzLjQyZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMS43OWUtMDYlMjA0LjY1ZSUyQjAwJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2Uud2lfMCUyMExpbmVhciUwQTIuMTdlLTA3JTIwNC41MGUlMkIwMCUyMHdlaWdodCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMGlucHV0JTVCMCU1RCUwQTIuNjhlLTA2JTIwMy43MGUlMkIwMSUyMG91dHB1dCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVuY29kZXIuYmxvY2suMi5sYXllci4xLkRlbnNlUmVsdURlbnNlLndpXzElMjBMaW5lYXIlMEE4LjA4ZS0wNyUyMDIuNjZlJTJCMDElMjB3ZWlnaHQlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEExLjI3ZS0wNCUyMDIuMzdlJTJCMDIlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS5kcm9wb3V0JTIwRHJvcG91dCUwQTAuMDBlJTJCMDAlMjA4Ljc2ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMC4wMGUlMkIwMCUyMDkuNzRlJTJCMDMlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS53byUyMExpbmVhciUwQTEuMDFlLTA2JTIwNi40NGUlMkIwMCUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjA5Ljc0ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMy4xOGUtMDQlMjA2LjI3ZSUyQjA0JTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2UlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEEzLjE4ZS0wNCUyMDYuMjdlJTJCMDQlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5kcm9wb3V0JTIwRHJvcG91dCUwQTMuMThlLTA0JTIwNi4yN2UlMkIwNCUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAlMjAlMjAlMjAlMjAlMjBpbmYlMjBvdXRwdXQ=",highlighted:`<span class="hljs-attribute">Detected</span> inf/nan during batch_number=<span class="hljs-number">0</span>
<span class="hljs-attribute">Last</span> <span class="hljs-number">21</span> forward frames:
<span class="hljs-attribute">abs</span> min  abs max  metadata
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">1</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.dropout Dropout
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">2</span>.<span class="hljs-number">57</span>e+<span class="hljs-number">02</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">2</span>.<span class="hljs-number">85</span>e+<span class="hljs-number">02</span> output<span class="hljs-meta">
[...]</span>
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">0</span> T5LayerSelfAttention
<span class="hljs-attribute">6</span>.<span class="hljs-number">78</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">15</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> output[<span class="hljs-number">0</span>]
             <span class="hljs-attribute">None</span> output[<span class="hljs-number">1</span>]
<span class="hljs-attribute">2</span>.<span class="hljs-number">25</span>e-<span class="hljs-number">01</span> <span class="hljs-number">1</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">04</span> output[<span class="hljs-number">2</span>]
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.layer_norm T5LayerNorm
<span class="hljs-attribute">8</span>.<span class="hljs-number">69</span>e-<span class="hljs-number">02</span> <span class="hljs-number">4</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">01</span> weight
<span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_0 Linear
<span class="hljs-attribute">2</span>.<span class="hljs-number">17</span>e-<span class="hljs-number">07</span> <span class="hljs-number">4</span>.<span class="hljs-number">50</span>e+<span class="hljs-number">00</span> weight
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">2</span>.<span class="hljs-number">68</span>e-<span class="hljs-number">06</span> <span class="hljs-number">3</span>.<span class="hljs-number">70</span>e+<span class="hljs-number">01</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_1 Linear
<span class="hljs-attribute">8</span>.<span class="hljs-number">08</span>e-<span class="hljs-number">07</span> <span class="hljs-number">2</span>.<span class="hljs-number">66</span>e+<span class="hljs-number">01</span> weight
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">1</span>.<span class="hljs-number">27</span>e-<span class="hljs-number">04</span> <span class="hljs-number">2</span>.<span class="hljs-number">37</span>e+<span class="hljs-number">02</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.dropout Dropout
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">8</span>.<span class="hljs-number">76</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wo Linear
<span class="hljs-attribute">1</span>.<span class="hljs-number">01</span>e-<span class="hljs-number">06</span> <span class="hljs-number">6</span>.<span class="hljs-number">44</span>e+<span class="hljs-number">00</span> weight
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense T5DenseGatedGeluDense
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.dropout Dropout
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span>      inf output`}}),ps=new h({props:{code:"JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEubGF5ZXJfbm9ybSUyMFQ1TGF5ZXJOb3JtJTBBOC42OWUtMDIlMjA0LjE4ZS0wMSUyMHdlaWdodCUwQTIuNjVlLTA0JTIwMy40MmUlMkIwMyUyMGlucHV0JTVCMCU1RCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMG91dHB1dA==",highlighted:`                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.layer_norm T5LayerNorm
<span class="hljs-attribute">8</span>.<span class="hljs-number">69</span>e-<span class="hljs-number">02</span> <span class="hljs-number">4</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">01</span> weight
<span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> output`}}),os=new h({props:{code:"RGV0ZWN0ZWQlMjBpbmYlMkZuYW4lMjBkdXJpbmclMjBiYXRjaF9udW1iZXIlM0QwJTBBTGFzdCUyMDIxJTIwZm9yd2FyZCUyMGZyYW1lcyUzQSUwQWFicyUyMG1pbiUyMCUyMGFicyUyMG1heCUyMCUyMG1ldGFkYXRhJTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2Uud2lfMCUyMExpbmVhciUwQTIuMTdlLTA3JTIwNC41MGUlMkIwMCUyMHdlaWdodCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMGlucHV0JTVCMCU1RCUwQTIuNjhlLTA2JTIwMy43MGUlMkIwMSUyMG91dHB1dCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVuY29kZXIuYmxvY2suMi5sYXllci4xLkRlbnNlUmVsdURlbnNlLndpXzElMjBMaW5lYXIlMEE4LjA4ZS0wNyUyMDIuNjZlJTJCMDElMjB3ZWlnaHQlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEExLjI3ZS0wNCUyMDIuMzdlJTJCMDIlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS53byUyMExpbmVhciUwQTEuMDFlLTA2JTIwNi40NGUlMkIwMCUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjA5Ljc0ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMy4xOGUtMDQlMjA2LjI3ZSUyQjA0JTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2UlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEEzLjE4ZS0wNCUyMDYuMjdlJTJCMDQlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5kcm9wb3V0JTIwRHJvcG91dCUwQTMuMThlLTA0JTIwNi4yN2UlMkIwNCUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAlMjAlMjAlMjAlMjAlMjBpbmYlMjBvdXRwdXQ=",highlighted:`<span class="hljs-attribute">Detected</span> inf/nan during batch_number=<span class="hljs-number">0</span>
<span class="hljs-attribute">Last</span> <span class="hljs-number">21</span> forward frames:
<span class="hljs-attribute">abs</span> min  abs max  metadata<span class="hljs-meta">
[...]</span>
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_0 Linear
<span class="hljs-attribute">2</span>.<span class="hljs-number">17</span>e-<span class="hljs-number">07</span> <span class="hljs-number">4</span>.<span class="hljs-number">50</span>e+<span class="hljs-number">00</span> weight
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">2</span>.<span class="hljs-number">68</span>e-<span class="hljs-number">06</span> <span class="hljs-number">3</span>.<span class="hljs-number">70</span>e+<span class="hljs-number">01</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_1 Linear
<span class="hljs-attribute">8</span>.<span class="hljs-number">08</span>e-<span class="hljs-number">07</span> <span class="hljs-number">2</span>.<span class="hljs-number">66</span>e+<span class="hljs-number">01</span> weight
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">1</span>.<span class="hljs-number">27</span>e-<span class="hljs-number">04</span> <span class="hljs-number">2</span>.<span class="hljs-number">37</span>e+<span class="hljs-number">02</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wo Linear
<span class="hljs-attribute">1</span>.<span class="hljs-number">01</span>e-<span class="hljs-number">06</span> <span class="hljs-number">6</span>.<span class="hljs-number">44</span>e+<span class="hljs-number">00</span> weight
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense T5DenseGatedGeluDense
<span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output
                  <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.dropout Dropout
<span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> input[<span class="hljs-number">0</span>]
<span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span>      inf output`}}),js=new h({props:{code:"Y2xhc3MlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2Uobm4uTW9kdWxlKSUzQSUwQSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYlMkMlMjBjb25maWcpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoKS5fX2luaXRfXygpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53aV8wJTIwJTNEJTIwbm4uTGluZWFyKGNvbmZpZy5kX21vZGVsJTJDJTIwY29uZmlnLmRfZmYlMkMlMjBiaWFzJTNERmFsc2UpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53aV8xJTIwJTNEJTIwbm4uTGluZWFyKGNvbmZpZy5kX21vZGVsJTJDJTIwY29uZmlnLmRfZmYlMkMlMjBiaWFzJTNERmFsc2UpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53byUyMCUzRCUyMG5uLkxpbmVhcihjb25maWcuZF9mZiUyQyUyMGNvbmZpZy5kX21vZGVsJTJDJTIwYmlhcyUzREZhbHNlKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuZHJvcG91dCUyMCUzRCUyMG5uLkRyb3BvdXQoY29uZmlnLmRyb3BvdXRfcmF0ZSklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmdlbHVfYWN0JTIwJTNEJTIwQUNUMkZOJTVCJTIyZ2VsdV9uZXclMjIlNUQlMEElMEElMjAlMjAlMjAlMjBkZWYlMjBmb3J3YXJkKHNlbGYlMkMlMjBoaWRkZW5fc3RhdGVzKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9nZWx1JTIwJTNEJTIwc2VsZi5nZWx1X2FjdChzZWxmLndpXzAoaGlkZGVuX3N0YXRlcykpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGlkZGVuX2xpbmVhciUyMCUzRCUyMHNlbGYud2lfMShoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9zdGF0ZXMlMjAlM0QlMjBoaWRkZW5fZ2VsdSUyMColMjBoaWRkZW5fbGluZWFyJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMHNlbGYuZHJvcG91dChoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9zdGF0ZXMlMjAlM0QlMjBzZWxmLndvKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwaGlkZGVuX3N0YXRlcw==",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">T5DenseGatedGeluDense</span>(nn.Module):
    <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, config</span>):
        <span class="hljs-built_in">super</span>().__init__()
        self.wi_0 = nn.Linear(config.d_model, config.d_ff, bias=<span class="hljs-literal">False</span>)
        self.wi_1 = nn.Linear(config.d_model, config.d_ff, bias=<span class="hljs-literal">False</span>)
        self.wo = nn.Linear(config.d_ff, config.d_model, bias=<span class="hljs-literal">False</span>)
        self.dropout = nn.Dropout(config.dropout_rate)
        self.gelu_act = ACT2FN[<span class="hljs-string">&quot;gelu_new&quot;</span>]

    <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>):
        hidden_gelu = self.gelu_act(self.wi_0(hidden_states))
        hidden_linear = self.wi_1(hidden_states)
        hidden_states = hidden_gelu * hidden_linear
        hidden_states = self.dropout(hidden_states)
        hidden_states = self.wo(hidden_states)
        <span class="hljs-keyword">return</span> hidden_states`}}),Ts=new h({props:{code:"ZGVmJTIwX2ZvcndhcmQoc2VsZiUyQyUyMGhpZGRlbl9zdGF0ZXMpJTNBJTBBJTIwJTIwJTIwJTIwaGlkZGVuX2dlbHUlMjAlM0QlMjBzZWxmLmdlbHVfYWN0KHNlbGYud2lfMChoaWRkZW5fc3RhdGVzKSklMEElMjAlMjAlMjAlMjBoaWRkZW5fbGluZWFyJTIwJTNEJTIwc2VsZi53aV8xKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMGhpZGRlbl9nZWx1JTIwKiUyMGhpZGRlbl9saW5lYXIlMEElMjAlMjAlMjAlMjBoaWRkZW5fc3RhdGVzJTIwJTNEJTIwc2VsZi5kcm9wb3V0KGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMHNlbGYud28oaGlkZGVuX3N0YXRlcyklMEElMjAlMjAlMjAlMjByZXR1cm4lMjBoaWRkZW5fc3RhdGVzJTBBJTBBJTBBaW1wb3J0JTIwdG9yY2glMEElMEElMEFkZWYlMjBmb3J3YXJkKHNlbGYlMkMlMjBoaWRkZW5fc3RhdGVzKSUzQSUwQSUyMCUyMCUyMCUyMGlmJTIwdG9yY2guaXNfYXV0b2Nhc3RfZW5hYmxlZCgpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2l0aCUyMHRvcmNoLmN1ZGEuYW1wLmF1dG9jYXN0KGVuYWJsZWQlM0RGYWxzZSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBzZWxmLl9mb3J3YXJkKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwZWxzZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMHNlbGYuX2ZvcndhcmQoaGlkZGVuX3N0YXRlcyk=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">_forward</span>(<span class="hljs-params">self, hidden_states</span>):
    hidden_gelu = self.gelu_act(self.wi_0(hidden_states))
    hidden_linear = self.wi_1(hidden_states)
    hidden_states = hidden_gelu * hidden_linear
    hidden_states = self.dropout(hidden_states)
    hidden_states = self.wo(hidden_states)
    <span class="hljs-keyword">return</span> hidden_states


<span class="hljs-keyword">import</span> torch


<span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>):
    <span class="hljs-keyword">if</span> torch.is_autocast_enabled():
        <span class="hljs-keyword">with</span> torch.cuda.amp.autocast(enabled=<span class="hljs-literal">False</span>):
            <span class="hljs-keyword">return</span> self._forward(hidden_states)
    <span class="hljs-keyword">else</span>:
        <span class="hljs-keyword">return</span> self._forward(hidden_states)`}}),Js=new h({props:{code:"ZnJvbSUyMGRlYnVnX3V0aWxzJTIwaW1wb3J0JTIwZGV0ZWN0X292ZXJmbG93JTBBJTBBJTBBY2xhc3MlMjBUNUxheWVyRkYobm4uTW9kdWxlKSUzQSUwQSUyMCUyMCUyMCUyMCU1Qi4uLiU1RCUwQSUwQSUyMCUyMCUyMCUyMGRlZiUyMGZvcndhcmQoc2VsZiUyQyUyMGhpZGRlbl9zdGF0ZXMpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZm9yd2FyZGVkX3N0YXRlcyUyMCUzRCUyMHNlbGYubGF5ZXJfbm9ybShoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRldGVjdF9vdmVyZmxvdyhmb3J3YXJkZWRfc3RhdGVzJTJDJTIwJTIyYWZ0ZXIlMjBsYXllcl9ub3JtJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZvcndhcmRlZF9zdGF0ZXMlMjAlM0QlMjBzZWxmLkRlbnNlUmVsdURlbnNlKGZvcndhcmRlZF9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGV0ZWN0X292ZXJmbG93KGZvcndhcmRlZF9zdGF0ZXMlMkMlMjAlMjJhZnRlciUyMERlbnNlUmVsdURlbnNlJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGhpZGRlbl9zdGF0ZXMlMjAlMkIlMjBzZWxmLmRyb3BvdXQoZm9yd2FyZGVkX3N0YXRlcyk=",highlighted:`<span class="hljs-keyword">from</span> debug_utils <span class="hljs-keyword">import</span> detect_overflow


<span class="hljs-keyword">class</span> <span class="hljs-title class_">T5LayerFF</span>(nn.Module):
    [...]

    <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>):
        forwarded_states = self.layer_norm(hidden_states)
        detect_overflow(forwarded_states, <span class="hljs-string">&quot;after layer_norm&quot;</span>)
        forwarded_states = self.DenseReluDense(forwarded_states)
        detect_overflow(forwarded_states, <span class="hljs-string">&quot;after DenseReluDense&quot;</span>)
        <span class="hljs-keyword">return</span> hidden_states + self.dropout(forwarded_states)`}}),fs=new h({props:{code:"ZnJvbSUyMC5kZWJ1Z191dGlscyUyMGltcG9ydCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3clMEElMEFkZWJ1Z19vdmVyZmxvdyUyMCUzRCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3cobW9kZWwlMkMlMjBtYXhfZnJhbWVzX3RvX3NhdmUlM0QxMDAp",highlighted:`<span class="hljs-keyword">from</span> .debug_utils <span class="hljs-keyword">import</span> DebugUnderflowOverflow

debug_overflow = DebugUnderflowOverflow(model, max_frames_to_save=<span class="hljs-number">100</span>)`}}),Cs=new ll({}),As=new h({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwdHJhY2VfYmF0Y2hfbnVtcyUzRCU1QjElMkMlMjAzJTVEKQ==",highlighted:'debug_overflow = DebugUnderflowOverflow(model, trace_batch_nums=[<span class="hljs-number">1</span>, <span class="hljs-number">3</span>])'}}),Bs=new h({props:{code:"JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKioqJTIwU3RhcnRpbmclMjBiYXRjaCUyMG51bWJlciUzRDElMjAqKiolMEFhYnMlMjBtaW4lMjAlMjBhYnMlMjBtYXglMjAlMjBtZXRhZGF0YSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNoYXJlZCUyMEVtYmVkZGluZyUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAyLjQ3ZSUyQjA0JTIwaW5wdXQlNUIwJTVEJTBBNS4zNmUtMDUlMjA3LjkyZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGVjb2Rlci5kcm9wb3V0JTIwRHJvcG91dCUwQTEuNjBlLTA3JTIwMi4yN2UlMkIwMSUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAyLjUyZSUyQjAxJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGVjb2RlciUyMFQ1U3RhY2slMEElMjAlMjAlMjAlMjAlMjBub3QlMjBhJTIwdGVuc29yJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG1faGVhZCUyMExpbmVhciUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAxLjExZSUyQjAwJTIwaW5wdXQlNUIwJTVEJTBBNi4wNmUtMDIlMjA4LjM5ZSUyQjAxJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVDVGb3JDb25kaXRpb25hbEdlbmVyYXRpb24lMEElMjAlMjAlMjAlMjAlMjBub3QlMjBhJTIwdGVuc29yJTIwb3V0cHV0JTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKioqJTIwU3RhcnRpbmclMjBiYXRjaCUyMG51bWJlciUzRDMlMjAqKiolMEFhYnMlMjBtaW4lMjAlMjBhYnMlMjBtYXglMjAlMjBtZXRhZGF0YSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNoYXJlZCUyMEVtYmVkZGluZyUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAyLjc4ZSUyQjA0JTIwaW5wdXQlNUIwJTVEJTBBNS4zNmUtMDUlMjA3LjkyZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVE",highlighted:`                  *** Starting batch number=1 ***
abs min  abs max  metadata
                  shared Embedding
1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight
0.00e<span class="hljs-string">+00</span> 2.47e<span class="hljs-string">+04</span> input[0]
5.36e<span class="hljs-string">-05</span> 7.92e<span class="hljs-string">+02</span> output
[...]
                  decoder.dropout Dropout
1.60e<span class="hljs-string">-07</span> 2.27e<span class="hljs-string">+01</span> input[0]
0.00e<span class="hljs-string">+00</span> 2.52e<span class="hljs-string">+01</span> output
                  decoder T5Stack
     not a tensor output
                  lm_head Linear
1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight
0.00e<span class="hljs-string">+00</span> 1.11e<span class="hljs-string">+00</span> input[0]
6.06e<span class="hljs-string">-02</span> 8.39e<span class="hljs-string">+01</span> output
                   T5ForConditionalGeneration
     not a tensor output

                  *** Starting batch number=3 ***
abs min  abs max  metadata
                  shared Embedding
1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight
0.00e<span class="hljs-string">+00</span> 2.78e<span class="hljs-string">+04</span> input[0]
5.36e<span class="hljs-string">-05</span> 7.92e<span class="hljs-string">+02</span> output
[...]`}}),$s=new h({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwdHJhY2VfYmF0Y2hfbnVtcyUzRCU1QjElMkMlMjAzJTVEJTJDJTIwYWJvcnRfYWZ0ZXJfYmF0Y2hfbnVtJTNEMyk=",highlighted:'debug_overflow = DebugUnderflowOverflow(model, trace_batch_nums=[<span class="hljs-number">1</span>, <span class="hljs-number">3</span>], abort_after_batch_num=<span class="hljs-number">3</span>)'}}),{c(){o=p("meta"),y=n(),u=p("p"),I=n(),U=p("h1"),A=p("a"),Es=p("span"),c($.$$.fragment),al=n(),Ns=p("span"),Ns.textContent=ol,Ys=n(),f=p("h2"),G=p("a"),Qs=p("span"),c(k.$$.fragment),nl=n(),xs=p("span"),xs.textContent=ul,Fs=n(),N=p("p"),N.innerHTML=cl,Ps=n(),c(x.$$.fragment),qs=n(),L=p("p"),L.textContent=ml,Ks=n(),c(W.$$.fragment),Os=n(),E=p("p"),E.textContent=Ml,se=n(),Q=p("p"),Q.textContent=jl,ee=n(),X=p("p"),X.textContent=dl,le=n(),z=p("p"),z.innerHTML=wl,ae=n(),c(D.$$.fragment),ne=n(),S=p("p"),S.textContent=bl,te=n(),C=p("h2"),V=p("a"),Xs=p("span"),c(H.$$.fragment),tl=n(),Ls=p("span"),Ls.textContent=Tl,pe=n(),c(g.$$.fragment),ie=n(),c(B.$$.fragment),re=n(),c(R.$$.fragment),oe=n(),Y=p("p"),Y.innerHTML=hl,ue=n(),F=p("p"),F.innerHTML=Jl,ce=n(),c(P.$$.fragment),me=n(),q=p("p"),q.innerHTML=yl,Me=n(),K=p("p"),K.textContent=Il,je=n(),c(O.$$.fragment),de=n(),ss=p("p"),ss.innerHTML=Ul,we=n(),c(es.$$.fragment),be=n(),ls=p("p"),ls.textContent=fl,Te=n(),as=p("p"),as.innerHTML=Cl,he=n(),ns=p("p"),ns.innerHTML=vl,Je=n(),ts=p("p"),ts.textContent=Zl,ye=n(),c(ps.$$.fragment),Ie=n(),is=p("p"),is.innerHTML=Al,Ue=n(),rs=p("p"),rs.textContent=Gl,fe=n(),c(os.$$.fragment),Ce=n(),us=p("p"),us.innerHTML=Vl,ve=n(),cs=p("p"),cs.innerHTML=gl,Ze=n(),ms=p("p"),ms.textContent=Bl,Ae=n(),Ms=p("p"),Ms.innerHTML=Rl,Ge=n(),c(js.$$.fragment),Ve=n(),ds=p("p"),ds.innerHTML=_l,ge=n(),ws=p("p"),ws.innerHTML=$l,Be=n(),bs=p("p"),bs.innerHTML=kl,Re=n(),c(Ts.$$.fragment),_e=n(),hs=p("p"),hs.innerHTML=Nl,$e=n(),c(Js.$$.fragment),ke=n(),ys=p("p"),ys.innerHTML=xl,Ne=n(),Is=p("p"),Is.innerHTML=Ll,xe=n(),Us=p("p"),Us.textContent=Wl,Le=n(),c(fs.$$.fragment),We=n(),v=p("h3"),_=p("a"),zs=p("span"),c(Cs.$$.fragment),pl=n(),Ws=p("span"),Ws.textContent=El,Ee=n(),vs=p("p"),vs.textContent=Ql,Qe=n(),Zs=p("p"),Zs.innerHTML=Xl,Xe=n(),c(As.$$.fragment),ze=n(),Gs=p("p"),Gs.textContent=zl,De=n(),Vs=p("p"),Vs.textContent=Dl,Se=n(),gs=p("p"),gs.textContent=Sl,He=n(),c(Bs.$$.fragment),Ye=n(),Rs=p("p"),Rs.textContent=Hl,Fe=n(),_s=p("p"),_s.textContent=Yl,Pe=n(),c($s.$$.fragment),qe=n(),Ds=p("p"),this.h()},l(s){const e=ta("svelte-1phssyn",document.head);o=i(e,"META",{name:!0,content:!0}),e.forEach(l),y=t(s),u=i(s,"P",{}),J(u).forEach(l),I=t(s),U=i(s,"H1",{class:!0});var ks=J(U);A=i(ks,"A",{id:!0,class:!0,href:!0});var Ss=J(A);Es=i(Ss,"SPAN",{});var Hs=J(Es);m($.$$.fragment,Hs),Hs.forEach(l),Ss.forEach(l),al=t(ks),Ns=i(ks,"SPAN",{"data-svelte-h":!0}),r(Ns)!=="svelte-1gm1qgf"&&(Ns.textContent=ol),ks.forEach(l),Ys=t(s),f=i(s,"H2",{class:!0});var Oe=J(f);G=i(Oe,"A",{id:!0,class:!0,href:!0});var Fl=J(G);Qs=i(Fl,"SPAN",{});var Pl=J(Qs);m(k.$$.fragment,Pl),Pl.forEach(l),Fl.forEach(l),nl=t(Oe),xs=i(Oe,"SPAN",{"data-svelte-h":!0}),r(xs)!=="svelte-ugscah"&&(xs.textContent=ul),Oe.forEach(l),Fs=t(s),N=i(s,"P",{"data-svelte-h":!0}),r(N)!=="svelte-1hyjvm9"&&(N.innerHTML=cl),Ps=t(s),m(x.$$.fragment,s),qs=t(s),L=i(s,"P",{"data-svelte-h":!0}),r(L)!=="svelte-1vrdhm3"&&(L.textContent=ml),Ks=t(s),m(W.$$.fragment,s),Os=t(s),E=i(s,"P",{"data-svelte-h":!0}),r(E)!=="svelte-1vjn6kw"&&(E.textContent=Ml),se=t(s),Q=i(s,"P",{"data-svelte-h":!0}),r(Q)!=="svelte-1miebc0"&&(Q.textContent=jl),ee=t(s),X=i(s,"P",{"data-svelte-h":!0}),r(X)!=="svelte-egqa4x"&&(X.textContent=dl),le=t(s),z=i(s,"P",{"data-svelte-h":!0}),r(z)!=="svelte-1tcqpd7"&&(z.innerHTML=wl),ae=t(s),m(D.$$.fragment,s),ne=t(s),S=i(s,"P",{"data-svelte-h":!0}),r(S)!=="svelte-mci54i"&&(S.textContent=bl),te=t(s),C=i(s,"H2",{class:!0});var sl=J(C);V=i(sl,"A",{id:!0,class:!0,href:!0});var ql=J(V);Xs=i(ql,"SPAN",{});var Kl=J(Xs);m(H.$$.fragment,Kl),Kl.forEach(l),ql.forEach(l),tl=t(sl),Ls=i(sl,"SPAN",{"data-svelte-h":!0}),r(Ls)!=="svelte-1551fqv"&&(Ls.textContent=Tl),sl.forEach(l),pe=t(s),m(g.$$.fragment,s),ie=t(s),m(B.$$.fragment,s),re=t(s),m(R.$$.fragment,s),oe=t(s),Y=i(s,"P",{"data-svelte-h":!0}),r(Y)!=="svelte-1m6be6"&&(Y.innerHTML=hl),ue=t(s),F=i(s,"P",{"data-svelte-h":!0}),r(F)!=="svelte-2w4vg4"&&(F.innerHTML=Jl),ce=t(s),m(P.$$.fragment,s),me=t(s),q=i(s,"P",{"data-svelte-h":!0}),r(q)!=="svelte-1k981gw"&&(q.innerHTML=yl),Me=t(s),K=i(s,"P",{"data-svelte-h":!0}),r(K)!=="svelte-4ei2dy"&&(K.textContent=Il),je=t(s),m(O.$$.fragment,s),de=t(s),ss=i(s,"P",{"data-svelte-h":!0}),r(ss)!=="svelte-6tyy5y"&&(ss.innerHTML=Ul),we=t(s),m(es.$$.fragment,s),be=t(s),ls=i(s,"P",{"data-svelte-h":!0}),r(ls)!=="svelte-kogqcu"&&(ls.textContent=fl),Te=t(s),as=i(s,"P",{"data-svelte-h":!0}),r(as)!=="svelte-8epfn9"&&(as.innerHTML=Cl),he=t(s),ns=i(s,"P",{"data-svelte-h":!0}),r(ns)!=="svelte-dpn4oc"&&(ns.innerHTML=vl),Je=t(s),ts=i(s,"P",{"data-svelte-h":!0}),r(ts)!=="svelte-1rpi62k"&&(ts.textContent=Zl),ye=t(s),m(ps.$$.fragment,s),Ie=t(s),is=i(s,"P",{"data-svelte-h":!0}),r(is)!=="svelte-uzqol6"&&(is.innerHTML=Al),Ue=t(s),rs=i(s,"P",{"data-svelte-h":!0}),r(rs)!=="svelte-yq6hxy"&&(rs.textContent=Gl),fe=t(s),m(os.$$.fragment,s),Ce=t(s),us=i(s,"P",{"data-svelte-h":!0}),r(us)!=="svelte-1ozg43v"&&(us.innerHTML=Vl),ve=t(s),cs=i(s,"P",{"data-svelte-h":!0}),r(cs)!=="svelte-1ctj5ht"&&(cs.innerHTML=gl),Ze=t(s),ms=i(s,"P",{"data-svelte-h":!0}),r(ms)!=="svelte-ye3dns"&&(ms.textContent=Bl),Ae=t(s),Ms=i(s,"P",{"data-svelte-h":!0}),r(Ms)!=="svelte-x6ixjy"&&(Ms.innerHTML=Rl),Ge=t(s),m(js.$$.fragment,s),Ve=t(s),ds=i(s,"P",{"data-svelte-h":!0}),r(ds)!=="svelte-1779sq1"&&(ds.innerHTML=_l),ge=t(s),ws=i(s,"P",{"data-svelte-h":!0}),r(ws)!=="svelte-1qyizrp"&&(ws.innerHTML=$l),Be=t(s),bs=i(s,"P",{"data-svelte-h":!0}),r(bs)!=="svelte-6pjqi9"&&(bs.innerHTML=kl),Re=t(s),m(Ts.$$.fragment,s),_e=t(s),hs=i(s,"P",{"data-svelte-h":!0}),r(hs)!=="svelte-nw19bs"&&(hs.innerHTML=Nl),$e=t(s),m(Js.$$.fragment,s),ke=t(s),ys=i(s,"P",{"data-svelte-h":!0}),r(ys)!=="svelte-1m3tmw7"&&(ys.innerHTML=xl),Ne=t(s),Is=i(s,"P",{"data-svelte-h":!0}),r(Is)!=="svelte-1kpe9jg"&&(Is.innerHTML=Ll),xe=t(s),Us=i(s,"P",{"data-svelte-h":!0}),r(Us)!=="svelte-1gdmp6v"&&(Us.textContent=Wl),Le=t(s),m(fs.$$.fragment,s),We=t(s),v=i(s,"H3",{class:!0});var el=J(v);_=i(el,"A",{id:!0,class:!0,href:!0});var Ol=J(_);zs=i(Ol,"SPAN",{});var sa=J(zs);m(Cs.$$.fragment,sa),sa.forEach(l),Ol.forEach(l),pl=t(el),Ws=i(el,"SPAN",{"data-svelte-h":!0}),r(Ws)!=="svelte-sforwu"&&(Ws.textContent=El),el.forEach(l),Ee=t(s),vs=i(s,"P",{"data-svelte-h":!0}),r(vs)!=="svelte-1ic92zk"&&(vs.textContent=Ql),Qe=t(s),Zs=i(s,"P",{"data-svelte-h":!0}),r(Zs)!=="svelte-12o5m27"&&(Zs.innerHTML=Xl),Xe=t(s),m(As.$$.fragment,s),ze=t(s),Gs=i(s,"P",{"data-svelte-h":!0}),r(Gs)!=="svelte-jzxj8u"&&(Gs.textContent=zl),De=t(s),Vs=i(s,"P",{"data-svelte-h":!0}),r(Vs)!=="svelte-1q6w0pe"&&(Vs.textContent=Dl),Se=t(s),gs=i(s,"P",{"data-svelte-h":!0}),r(gs)!=="svelte-w6uanh"&&(gs.textContent=Sl),He=t(s),m(Bs.$$.fragment,s),Ye=t(s),Rs=i(s,"P",{"data-svelte-h":!0}),r(Rs)!=="svelte-16p7gx8"&&(Rs.textContent=Hl),Fe=t(s),_s=i(s,"P",{"data-svelte-h":!0}),r(_s)!=="svelte-1ptunxg"&&(_s.textContent=Yl),Pe=t(s),m($s.$$.fragment,s),qe=t(s),Ds=i(s,"P",{}),J(Ds).forEach(l),this.h()},h(){b(o,"name","hf:doc:metadata"),b(o,"content",JSON.stringify(ua)),b(A,"id","debugging"),b(A,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),b(A,"href","#debugging"),b(U,"class","relative group"),b(G,"id","debug-dei-problemi-di-rete-multigpu"),b(G,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),b(G,"href","#debug-dei-problemi-di-rete-multigpu"),b(f,"class","relative group"),b(V,"id","rilevamento-di-underflow-e-overflow"),b(V,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),b(V,"href","#rilevamento-di-underflow-e-overflow"),b(C,"class","relative group"),b(_,"id","tracciamento-della-mistura-assoluta-del-lotto-specifico-e-del-valore-massimo"),b(_,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),b(_,"href","#tracciamento-della-mistura-assoluta-del-lotto-specifico-e-del-valore-massimo"),b(v,"class","relative group")},m(s,e){T(document.head,o),a(s,y,e),a(s,u,e),a(s,I,e),a(s,U,e),T(U,A),T(A,Es),M($,Es,null),T(U,al),T(U,Ns),a(s,Ys,e),a(s,f,e),T(f,G),T(G,Qs),M(k,Qs,null),T(f,nl),T(f,xs),a(s,Fs,e),a(s,N,e),a(s,Ps,e),M(x,s,e),a(s,qs,e),a(s,L,e),a(s,Ks,e),M(W,s,e),a(s,Os,e),a(s,E,e),a(s,se,e),a(s,Q,e),a(s,ee,e),a(s,X,e),a(s,le,e),a(s,z,e),a(s,ae,e),M(D,s,e),a(s,ne,e),a(s,S,e),a(s,te,e),a(s,C,e),T(C,V),T(V,Xs),M(H,Xs,null),T(C,tl),T(C,Ls),a(s,pe,e),M(g,s,e),a(s,ie,e),M(B,s,e),a(s,re,e),M(R,s,e),a(s,oe,e),a(s,Y,e),a(s,ue,e),a(s,F,e),a(s,ce,e),M(P,s,e),a(s,me,e),a(s,q,e),a(s,Me,e),a(s,K,e),a(s,je,e),M(O,s,e),a(s,de,e),a(s,ss,e),a(s,we,e),M(es,s,e),a(s,be,e),a(s,ls,e),a(s,Te,e),a(s,as,e),a(s,he,e),a(s,ns,e),a(s,Je,e),a(s,ts,e),a(s,ye,e),M(ps,s,e),a(s,Ie,e),a(s,is,e),a(s,Ue,e),a(s,rs,e),a(s,fe,e),M(os,s,e),a(s,Ce,e),a(s,us,e),a(s,ve,e),a(s,cs,e),a(s,Ze,e),a(s,ms,e),a(s,Ae,e),a(s,Ms,e),a(s,Ge,e),M(js,s,e),a(s,Ve,e),a(s,ds,e),a(s,ge,e),a(s,ws,e),a(s,Be,e),a(s,bs,e),a(s,Re,e),M(Ts,s,e),a(s,_e,e),a(s,hs,e),a(s,$e,e),M(Js,s,e),a(s,ke,e),a(s,ys,e),a(s,Ne,e),a(s,Is,e),a(s,xe,e),a(s,Us,e),a(s,Le,e),M(fs,s,e),a(s,We,e),a(s,v,e),T(v,_),T(_,zs),M(Cs,zs,null),T(v,pl),T(v,Ws),a(s,Ee,e),a(s,vs,e),a(s,Qe,e),a(s,Zs,e),a(s,Xe,e),M(As,s,e),a(s,ze,e),a(s,Gs,e),a(s,De,e),a(s,Vs,e),a(s,Se,e),a(s,gs,e),a(s,He,e),M(Bs,s,e),a(s,Ye,e),a(s,Rs,e),a(s,Fe,e),a(s,_s,e),a(s,Pe,e),M($s,s,e),a(s,qe,e),a(s,Ds,e),Ke=!0},p(s,[e]){const ks={};e&2&&(ks.$$scope={dirty:e,ctx:s}),g.$set(ks);const Ss={};e&2&&(Ss.$$scope={dirty:e,ctx:s}),B.$set(Ss);const Hs={};e&2&&(Hs.$$scope={dirty:e,ctx:s}),R.$set(Hs)},i(s){Ke||(j($.$$.fragment,s),j(k.$$.fragment,s),j(x.$$.fragment,s),j(W.$$.fragment,s),j(D.$$.fragment,s),j(H.$$.fragment,s),j(g.$$.fragment,s),j(B.$$.fragment,s),j(R.$$.fragment,s),j(P.$$.fragment,s),j(O.$$.fragment,s),j(es.$$.fragment,s),j(ps.$$.fragment,s),j(os.$$.fragment,s),j(js.$$.fragment,s),j(Ts.$$.fragment,s),j(Js.$$.fragment,s),j(fs.$$.fragment,s),j(Cs.$$.fragment,s),j(As.$$.fragment,s),j(Bs.$$.fragment,s),j($s.$$.fragment,s),Ke=!0)},o(s){d($.$$.fragment,s),d(k.$$.fragment,s),d(x.$$.fragment,s),d(W.$$.fragment,s),d(D.$$.fragment,s),d(H.$$.fragment,s),d(g.$$.fragment,s),d(B.$$.fragment,s),d(R.$$.fragment,s),d(P.$$.fragment,s),d(O.$$.fragment,s),d(es.$$.fragment,s),d(ps.$$.fragment,s),d(os.$$.fragment,s),d(js.$$.fragment,s),d(Ts.$$.fragment,s),d(Js.$$.fragment,s),d(fs.$$.fragment,s),d(Cs.$$.fragment,s),d(As.$$.fragment,s),d(Bs.$$.fragment,s),d($s.$$.fragment,s),Ke=!1},d(s){s&&(l(y),l(u),l(I),l(U),l(Ys),l(f),l(Fs),l(N),l(Ps),l(qs),l(L),l(Ks),l(Os),l(E),l(se),l(Q),l(ee),l(X),l(le),l(z),l(ae),l(ne),l(S),l(te),l(C),l(pe),l(ie),l(re),l(oe),l(Y),l(ue),l(F),l(ce),l(me),l(q),l(Me),l(K),l(je),l(de),l(ss),l(we),l(be),l(ls),l(Te),l(as),l(he),l(ns),l(Je),l(ts),l(ye),l(Ie),l(is),l(Ue),l(rs),l(fe),l(Ce),l(us),l(ve),l(cs),l(Ze),l(ms),l(Ae),l(Ms),l(Ge),l(Ve),l(ds),l(ge),l(ws),l(Be),l(bs),l(Re),l(_e),l(hs),l($e),l(ke),l(ys),l(Ne),l(Is),l(xe),l(Us),l(Le),l(We),l(v),l(Ee),l(vs),l(Qe),l(Zs),l(Xe),l(ze),l(Gs),l(De),l(Vs),l(Se),l(gs),l(He),l(Ye),l(Rs),l(Fe),l(_s),l(Pe),l(qe),l(Ds)),l(o),w($),w(k),w(x,s),w(W,s),w(D,s),w(H),w(g,s),w(B,s),w(R,s),w(P,s),w(O,s),w(es,s),w(ps,s),w(os,s),w(js,s),w(Ts,s),w(Js,s),w(fs,s),w(Cs),w(As,s),w(Bs,s),w($s,s)}}}const ua={local:"debugging",sections:[{local:"debug-dei-problemi-di-rete-multigpu",title:"Debug dei problemi di rete multi-GPU"},{local:"rilevamento-di-underflow-e-overflow",sections:[{local:"tracciamento-della-mistura-assoluta-del-lotto-specifico-e-del-valore-massimo",title:"Tracciamento della mistura assoluta del lotto specifico e del valore massimo"}],title:"Rilevamento di Underflow e Overflow"}],title:"Debugging"};function ca(Z){return la(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ba extends aa{constructor(o){super(),na(this,o,ca,oa,ea,{})}}export{ba as component};
