import{s as Sn,o as On,n as $t}from"../chunks/scheduler.18a86fab.js";import{S as Xn,i as qn,g as r,s,r as b,A as Kn,h as l,f as o,c as n,j as k,u as _,x as p,k as U,y as t,a as f,v,d as w,t as $,w as x}from"../chunks/index.98837b22.js";import{D}from"../chunks/Docstring.6758ea23.js";import{C as xt}from"../chunks/CodeBlock.8d0c2e8a.js";import{E as wt}from"../chunks/ExampleCodeBlock.0c42463f.js";import{H as _t}from"../chunks/Heading.7e7e0c5b.js";import{E as ea}from"../chunks/index.499f366c.js";function ta(L){let c,T="To activate the underflow/overflow detection, initialize the object with the model :",y,u,g;return u=new xt({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsKQ==",highlighted:"debug_overflow = DebugUnderflowOverflow(model)",wrap:!1}}),{c(){c=r("p"),c.textContent=T,y=s(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-e61xrj"&&(c.textContent=T),y=n(a),_(u.$$.fragment,a)},m(a,M){f(a,c,M),f(a,y,M),v(u,a,M),g=!0},p:$t,i(a){g||(w(u.$$.fragment,a),g=!0)},o(a){$(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(y)),x(u,a)}}}function sa(L){let c,T="mixed precision :",y,u,g;return u=new xt({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`,wrap:!1}}),{c(){c=r("p"),c.textContent=T,y=s(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-1705ugl"&&(c.textContent=T),y=n(a),_(u.$$.fragment,a)},m(a,M){f(a,c,M),f(a,y,M),v(u,a,M),g=!0},p:$t,i(a){g||(w(u.$$.fragment,a),g=!0)},o(a){$(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(y)),x(u,a)}}}function na(L){let c,T="By default the last 21 frames are printed. You can change the default to adjust for your needs. For example :",y,u,g;return u=new xt({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwbWF4X2ZyYW1lc190b19zYXZlJTNEMTAwKQ==",highlighted:'debug_overflow = DebugUnderflowOverflow(model, max_frames_to_save=<span class="hljs-number">100</span>)',wrap:!1}}),{c(){c=r("p"),c.textContent=T,y=s(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-jxu20j"&&(c.textContent=T),y=n(a),_(u.$$.fragment,a)},m(a,M){f(a,c,M),f(a,y,M),v(u,a,M),g=!0},p:$t,i(a){g||(w(u.$$.fragment,a),g=!0)},o(a){$(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(y)),x(u,a)}}}function aa(L){let c,T="given batch, and only do that for batches 1 and 3. Then you instantiate this class as :",y,u,g;return u=new xt({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwdHJhY2VfYmF0Y2hfbnVtcyUzRCU1QjElMkMlMjAzJTVEKQ==",highlighted:'debug_overflow = DebugUnderflowOverflow(model, trace_batch_nums=[<span class="hljs-number">1</span>, <span class="hljs-number">3</span>])',wrap:!1}}),{c(){c=r("p"),c.textContent=T,y=s(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-1009pyu"&&(c.textContent=T),y=n(a),_(u.$$.fragment,a)},m(a,M){f(a,c,M),f(a,y,M),v(u,a,M),g=!0},p:$t,i(a){g||(w(u.$$.fragment,a),g=!0)},o(a){$(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(y)),x(u,a)}}}function ra(L){let c,T="You can also specify the batch number after which to stop the training, with :",y,u,g;return u=new xt({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>)',wrap:!1}}),{c(){c=r("p"),c.textContent=T,y=s(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-psjyqa"&&(c.textContent=T),y=n(a),_(u.$$.fragment,a)},m(a,M){f(a,c,M),f(a,y,M),v(u,a,M),g=!0},p:$t,i(a){g||(w(u.$$.fragment,a),g=!0)},o(a){$(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(y)),x(u,a)}}}function la(L){let c,T,y,u,g,a,M,qs='This page lists all the utility functions used by <a href="/docs/transformers/main/en/main_classes/trainer#transformers.Trainer">Trainer</a>.',yt,X,Ks="Most of those are only useful if you are studying the code of the Trainer in the library.",jt,q,Mt,J,K,Rt,ye,en="Evaluation output (always contains labels), to be used to compute metrics.",Tt,H,ee,Yt,je,tn="An enumeration.",Ct,A,te,St,Me,sn="Helper function for reproducible behavior during distributed training. See",Ot,Te,nn='<li><a href="https://pytorch.org/docs/stable/notes/randomness.html" rel="nofollow">https://pytorch.org/docs/stable/notes/randomness.html</a> for pytorch</li> <li><a href="https://www.tensorflow.org/api_docs/python/tf/config/experimental/enable_op_determinism" rel="nofollow">https://www.tensorflow.org/api_docs/python/tf/config/experimental/enable_op_determinism</a> for tensorflow</li>',kt,E,se,Xt,Ce,an="Helper function for reproducible behavior to set the seed in <code>random</code>, <code>numpy</code>, <code>torch</code> and/or <code>tf</code> (if installed).",Ut,Z,ne,qt,ke,rn="Decorator to make all processes in distributed training wait for each local_master to do something.",Dt,ae,Pt,V,re,Kt,Ue,ln="Internal class that just calls the list of callbacks in order.",Lt,le,At,h,oe,es,De,on="A class responsible for properly gathering tensors (or nested list/tuple of tensors) on the CPU by chunks.",ts,Pe,pn=`If our dataset has 16 samples with a batch size of 2 on 3 processes and we gather then transfer on CPU at every
step, our sampler will generate the following indices:`,ss,Le,mn="<code>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1]</code>",ns,Ae,dn=`to get something of size a multiple of 3 (so that each process gets the same dataset length). Then process 0, 1 and
2 will be responsible of making predictions for the following samples:`,as,Ie,cn="<li>P0: <code>[0, 1, 2, 3, 4, 5]</code></li> <li>P1: <code>[6, 7, 8, 9, 10, 11]</code></li> <li>P2: <code>[12, 13, 14, 15, 0, 1]</code></li>",rs,Je,un="The first batch treated on each process will be:",ls,He,fn="<li>P0: <code>[0, 1]</code></li> <li>P1: <code>[6, 7]</code></li> <li>P2: <code>[12, 13]</code></li>",os,Ee,hn=`So if we gather at the end of the first batch, we will get a tensor (nested list/tuple of tensor) corresponding to
the following indices:`,is,Ze,gn="<code>[0, 1, 6, 7, 12, 13]</code>",ps,Ve,bn=`If we directly concatenate our results without taking any precautions, the user will then get the predictions for
the indices in this order at the end of the prediction loop:`,ms,Ge,_n="<code>[0, 1, 6, 7, 12, 13, 2, 3, 8, 9, 14, 15, 4, 5, 10, 11, 0, 1]</code>",ds,Ne,vn="For some reason, that’s not going to roll their boat. This class is there to solve that problem.",cs,N,ie,us,ze,wn=`Add <code>arrays</code> to the internal storage, Will initialize the storage to the full size at the first arrays passed
so that if we’re bound to get an OOM, it happens at the beginning.`,fs,z,pe,hs,We,$n=`Return the properly gathered arrays and truncate to the number of samples (since the sampler added some extras
to get each process a dataset of the same length).`,It,me,Jt,C,de,gs,Be,xn="This subclass of <code>argparse.ArgumentParser</code> uses type hints on dataclasses to generate arguments.",bs,Qe,yn=`The class is designed to play well with the native argparse. In particular, you can add more (non-dataclass backed)
arguments to the parser after initialization and you’ll get the output back after parsing as an additional
namespace. Optional: To create sub argument groups use the <code>_argument_group_name</code> attribute in the dataclass.`,_s,I,ce,vs,Fe,jn="Parse command-line args into instances of the specified dataclass types.",ws,Re,Mn=`This relies on argparse’s <code>ArgumentParser.parse_known_args</code>. See the doc at:
docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser.parse_args`,$s,W,ue,xs,Ye,Tn=`Alternative helper method that does not use <code>argparse</code> at all, instead uses a dict and populating the dataclass
types.`,ys,B,fe,js,Se,Cn=`Alternative helper method that does not use <code>argparse</code> at all, instead loading a json file and populating the
dataclass types.`,Ms,Q,he,Ts,Oe,kn=`Alternative helper method that does not use <code>argparse</code> at all, instead loading a yaml file and populating the
dataclass types.`,Ht,ge,Et,i,be,Cs,Xe,Un=`This debug class helps detect and understand where the model starts getting very large or very small, and more
importantly <code>nan</code> or <code>inf</code> weight and activation elements.`,ks,qe,Dn="There are 2 working modes:",Us,Ke,Pn="<li>Underflow/overflow detection (default)</li> <li>Specific batch absolute min/max tracing without detection</li>",Ds,et,Ln="Mode 1: Underflow/overflow detection",Ps,F,Ls,tt,An=`then run the training as normal and if <code>nan</code> or <code>inf</code> gets detected in at least one of the weight, input or output
elements this module will throw an exception and will print <code>max_frames_to_save</code> frames that lead to this event,
each frame reporting`,As,st,In="<li>the fully qualified module name plus the class name whose <code>forward</code> was run</li> <li>the absolute min and max value of all elements for each module weights, and the inputs and output</li>",Is,nt,Jn="For example, here is the header and the last few frames in detection report for <code>google/mt5-small</code> run in fp16",Js,R,Hs,at,Hn=`You can see here, that <code>T5DenseGatedGeluDense.forward</code> resulted in output activations, whose absolute max value was
around 62.7K, which is very close to fp16’s top limit of 64K. In the next frame we have <code>Dropout</code> which
renormalizes the weights, after it zeroed some of the elements, which pushes the absolute max value to more than
64K, and we get an overflow.`,Es,rt,En=`As you can see it’s the previous frames that we need to look into when the numbers start going into very large for
fp16 numbers.`,Zs,lt,Zn="The tracking is done in a forward hook, which gets invoked immediately after <code>forward</code> has completed.",Vs,Y,Gs,ot,Vn=`To validate that you have set up this debugging feature correctly, and you intend to use it in a training that
may take hours to complete, first run it with normal tracing enabled for one of a few batches as explained in
the next section.`,Ns,it,Gn="Mode 2. Specific batch absolute min/max tracing without detection",zs,pt,Nn="The second work mode is per-batch tracing with the underflow/overflow detection feature turned off.",Ws,mt,zn="Let’s say you want to watch the absolute min and max values for all the ingredients of each <code>forward</code> call of a",Bs,S,Qs,dt,Wn="And now full batches 1 and 3 will be traced using the same format as explained above. Batches are 0-indexed.",Fs,ct,Bn=`This is helpful if you know that the program starts misbehaving after a certain batch number, so you can
fast-forward right to that area.`,Rs,ut,Qn="Early stopping:",Ys,O,Ss,ft,Fn="This feature is mainly useful in the tracing mode, but you can use it for any mode.",Os,ht,Rn="<strong>Performance</strong>:",Xs,gt,Yn="As this module measures absolute <code>min</code>/`<code>max</code> of each weight of the model on every forward it’ll slow the training\ndown. Therefore remember to turn it off once the debugging needs have been met.",Zt,_e,Vt,vt,Gt;return g=new _t({props:{title:"Utilities for Trainer",local:"utilities-for-trainer",headingTag:"h1"}}),q=new _t({props:{title:"Utilities",local:"transformers.EvalPrediction",headingTag:"h2"}}),K=new D({props:{name:"class transformers.EvalPrediction",anchor:"transformers.EvalPrediction",parameters:[{name:"predictions",val:": typing.Union[numpy.ndarray, tuple[numpy.ndarray]]"},{name:"label_ids",val:": typing.Union[numpy.ndarray, tuple[numpy.ndarray]]"},{name:"inputs",val:": typing.Union[numpy.ndarray, tuple[numpy.ndarray], NoneType] = None"},{name:"losses",val:": typing.Union[numpy.ndarray, tuple[numpy.ndarray], NoneType] = None"}],parametersDescription:[{anchor:"transformers.EvalPrediction.predictions",description:"<strong>predictions</strong> (<code>np.ndarray</code>) &#x2014; Predictions of the model.",name:"predictions"},{anchor:"transformers.EvalPrediction.label_ids",description:"<strong>label_ids</strong> (<code>np.ndarray</code>) &#x2014; Targets to be matched.",name:"label_ids"},{anchor:"transformers.EvalPrediction.inputs",description:"<strong>inputs</strong> (<code>np.ndarray</code>, <em>optional</em>) &#x2014; Input data passed to the model.",name:"inputs"},{anchor:"transformers.EvalPrediction.losses",description:"<strong>losses</strong> (<code>np.ndarray</code>, <em>optional</em>) &#x2014; Loss values computed during evaluation.",name:"losses"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_utils.py#L155"}}),ee=new D({props:{name:"class transformers.IntervalStrategy",anchor:"transformers.IntervalStrategy",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_utils.py#L227"}}),te=new D({props:{name:"transformers.enable_full_determinism",anchor:"transformers.enable_full_determinism",parameters:[{name:"seed",val:": int"},{name:"warn_only",val:": bool = False"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_utils.py#L61"}}),se=new D({props:{name:"transformers.set_seed",anchor:"transformers.set_seed",parameters:[{name:"seed",val:": int"},{name:"deterministic",val:": bool = False"}],parametersDescription:[{anchor:"transformers.set_seed.seed",description:`<strong>seed</strong> (<code>int</code>) &#x2014;
The seed to set.`,name:"seed"},{anchor:"transformers.set_seed.deterministic",description:`<strong>deterministic</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether to use deterministic algorithms where available. Can slow down training.`,name:"deterministic"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_utils.py#L93"}}),ne=new D({props:{name:"transformers.torch_distributed_zero_first",anchor:"transformers.torch_distributed_zero_first",parameters:[{name:"local_rank",val:": int"}],parametersDescription:[{anchor:"transformers.torch_distributed_zero_first.local_rank",description:"<strong>local_rank</strong> (<code>int</code>) &#x2014; The rank of the local process.",name:"local_rank"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L249"}}),ae=new _t({props:{title:"Callbacks internals",local:"transformers.trainer_callback.CallbackHandler",headingTag:"h2"}}),re=new D({props:{name:"class transformers.trainer_callback.CallbackHandler",anchor:"transformers.trainer_callback.CallbackHandler",parameters:[{name:"callbacks",val:""},{name:"model",val:""},{name:"processing_class",val:""},{name:"optimizer",val:""},{name:"lr_scheduler",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_callback.py#L443"}}),le=new _t({props:{title:"Distributed Evaluation",local:"transformers.trainer_pt_utils.DistributedTensorGatherer",headingTag:"h2"}}),oe=new D({props:{name:"class transformers.trainer_pt_utils.DistributedTensorGatherer",anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer",parameters:[{name:"world_size",val:""},{name:"num_samples",val:""},{name:"make_multiple_of",val:" = None"},{name:"padding_index",val:" = -100"}],parametersDescription:[{anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.world_size",description:`<strong>world_size</strong> (<code>int</code>) &#x2014;
The number of processes used in the distributed training.`,name:"world_size"},{anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.num_samples",description:`<strong>num_samples</strong> (<code>int</code>) &#x2014;
The number of samples in our dataset.`,name:"num_samples"},{anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.make_multiple_of",description:`<strong>make_multiple_of</strong> (<code>int</code>, <em>optional</em>) &#x2014;
If passed, the class assumes the datasets passed to each process are made to be a multiple of this argument
(by adding samples).`,name:"make_multiple_of"},{anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.padding_index",description:`<strong>padding_index</strong> (<code>int</code>, <em>optional</em>, defaults to -100) &#x2014;
The padding index to use if the arrays don&#x2019;t all have the same sequence length.`,name:"padding_index"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L430"}}),ie=new D({props:{name:"add_arrays",anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.add_arrays",parameters:[{name:"arrays",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L490"}}),pe=new D({props:{name:"finalize",anchor:"transformers.trainer_pt_utils.DistributedTensorGatherer.finalize",parameters:[],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L526"}}),me=new _t({props:{title:"Trainer Argument Parser",local:"transformers.HfArgumentParser",headingTag:"h2"}}),de=new D({props:{name:"class transformers.HfArgumentParser",anchor:"transformers.HfArgumentParser",parameters:[{name:"dataclass_types",val:": typing.Union[transformers.hf_argparser.DataClassType, collections.abc.Iterable[transformers.hf_argparser.DataClassType], NoneType] = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.HfArgumentParser.dataclass_types",description:`<strong>dataclass_types</strong> (<code>DataClassType</code> or <code>Iterable[DataClassType]</code>, <em>optional</em>) &#x2014;
Dataclass type, or list of dataclass types for which we will &#x201C;fill&#x201D; instances with the parsed args.`,name:"dataclass_types"},{anchor:"transformers.HfArgumentParser.kwargs",description:`<strong>kwargs</strong> (<code>Dict[str, Any]</code>, <em>optional</em>) &#x2014;
Passed to <code>argparse.ArgumentParser()</code> in the regular way.`,name:"kwargs"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L111"}}),ce=new D({props:{name:"parse_args_into_dataclasses",anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses",parameters:[{name:"args",val:" = None"},{name:"return_remaining_strings",val:" = False"},{name:"look_for_args_file",val:" = True"},{name:"args_filename",val:" = None"},{name:"args_file_flag",val:" = None"}],parametersDescription:[{anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses.args",description:`<strong>args</strong> &#x2014;
List of strings to parse. The default is taken from sys.argv. (same as argparse.ArgumentParser)`,name:"args"},{anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses.return_remaining_strings",description:`<strong>return_remaining_strings</strong> &#x2014;
If true, also return a list of remaining argument strings.`,name:"return_remaining_strings"},{anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses.look_for_args_file",description:`<strong>look_for_args_file</strong> &#x2014;
If true, will look for a &#x201C;.args&#x201D; file with the same base name as the entry point script for this
process, and will append its potential content to the command line args.`,name:"look_for_args_file"},{anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses.args_filename",description:`<strong>args_filename</strong> &#x2014;
If not None, will uses this file instead of the &#x201C;.args&#x201D; file specified in the previous argument.`,name:"args_filename"},{anchor:"transformers.HfArgumentParser.parse_args_into_dataclasses.args_file_flag",description:`<strong>args_file_flag</strong> &#x2014;
If not None, will look for a file in the command-line args specified with this flag. The flag can be
specified multiple times and precedence is determined by the order (last one wins).`,name:"args_file_flag"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L285",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<ul>
<li>the dataclass instances in the same order as they were passed to the initializer.abspath</li>
<li>if applicable, an additional namespace for more (non-dataclass backed) arguments added to the parser
after initialization.</li>
<li>The potential list of remaining argument strings. (same as argparse.ArgumentParser.parse_known_args)</li>
</ul>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p>Tuple consisting of</p>
`}}),ue=new D({props:{name:"parse_dict",anchor:"transformers.HfArgumentParser.parse_dict",parameters:[{name:"args",val:": dict"},{name:"allow_extra_keys",val:": bool = False"}],parametersDescription:[{anchor:"transformers.HfArgumentParser.parse_dict.args",description:`<strong>args</strong> (<code>dict</code>) &#x2014;
dict containing config values`,name:"args"},{anchor:"transformers.HfArgumentParser.parse_dict.allow_extra_keys",description:`<strong>allow_extra_keys</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Defaults to False. If False, will raise an exception if the dict contains keys that are not parsed.`,name:"allow_extra_keys"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L371",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<ul>
<li>the dataclass instances in the same order as they were passed to the initializer.</li>
</ul>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p>Tuple consisting of</p>
`}}),fe=new D({props:{name:"parse_json_file",anchor:"transformers.HfArgumentParser.parse_json_file",parameters:[{name:"json_file",val:": typing.Union[str, os.PathLike]"},{name:"allow_extra_keys",val:": bool = False"}],parametersDescription:[{anchor:"transformers.HfArgumentParser.parse_json_file.json_file",description:`<strong>json_file</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
File name of the json file to parse`,name:"json_file"},{anchor:"transformers.HfArgumentParser.parse_json_file.allow_extra_keys",description:`<strong>allow_extra_keys</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Defaults to False. If False, will raise an exception if the json file contains keys that are not
parsed.`,name:"allow_extra_keys"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L399",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<ul>
<li>the dataclass instances in the same order as they were passed to the initializer.</li>
</ul>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p>Tuple consisting of</p>
`}}),he=new D({props:{name:"parse_yaml_file",anchor:"transformers.HfArgumentParser.parse_yaml_file",parameters:[{name:"yaml_file",val:": typing.Union[str, os.PathLike]"},{name:"allow_extra_keys",val:": bool = False"}],parametersDescription:[{anchor:"transformers.HfArgumentParser.parse_yaml_file.yaml_file",description:`<strong>yaml_file</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
File name of the yaml file to parse`,name:"yaml_file"},{anchor:"transformers.HfArgumentParser.parse_yaml_file.allow_extra_keys",description:`<strong>allow_extra_keys</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Defaults to False. If False, will raise an exception if the json file contains keys that are not
parsed.`,name:"allow_extra_keys"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L423",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<ul>
<li>the dataclass instances in the same order as they were passed to the initializer.</li>
</ul>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p>Tuple consisting of</p>
`}}),ge=new _t({props:{title:"Debug Utilities",local:"transformers.debug_utils.DebugUnderflowOverflow",headingTag:"h2"}}),be=new D({props:{name:"class transformers.debug_utils.DebugUnderflowOverflow",anchor:"transformers.debug_utils.DebugUnderflowOverflow",parameters:[{name:"model",val:""},{name:"max_frames_to_save",val:" = 21"},{name:"trace_batch_nums",val:" = []"},{name:"abort_after_batch_num",val:" = None"}],parametersDescription:[{anchor:"transformers.debug_utils.DebugUnderflowOverflow.model",description:`<strong>model</strong> (<code>nn.Module</code>) &#x2014;
The model to debug.`,name:"model"},{anchor:"transformers.debug_utils.DebugUnderflowOverflow.max_frames_to_save",description:`<strong>max_frames_to_save</strong> (<code>int</code>, <em>optional</em>, defaults to 21) &#x2014;
How many frames back to record`,name:"max_frames_to_save"},{anchor:"transformers.debug_utils.DebugUnderflowOverflow.trace_batch_nums(List[int],",description:`<strong>trace_batch_nums(<code>List[int]</code>,</strong> <em>optional</em>, defaults to <code>[]</code>) &#x2014;
Which batch numbers to trace (turns detection off)`,name:"trace_batch_nums(List[int],"},{anchor:"transformers.debug_utils.DebugUnderflowOverflow.abort_after_batch_num",description:"<strong>abort_after_batch_num</strong>  (`int&#x201C;, <em>optional</em>) &#x2014;\nWhether to abort after a certain batch number has finished",name:"abort_after_batch_num"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/debug_utils.py#L27"}}),F=new wt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example",$$slots:{default:[ta]},$$scope:{ctx:L}}}),R=new wt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-2",$$slots:{default:[sa]},$$scope:{ctx:L}}}),Y=new wt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-3",$$slots:{default:[na]},$$scope:{ctx:L}}}),S=new wt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-4",$$slots:{default:[aa]},$$scope:{ctx:L}}}),O=new wt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-5",$$slots:{default:[ra]},$$scope:{ctx:L}}}),_e=new ea({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/en/internal/trainer_utils.md"}}),{c(){c=r("meta"),T=s(),y=r("p"),u=s(),b(g.$$.fragment),a=s(),M=r("p"),M.innerHTML=qs,yt=s(),X=r("p"),X.textContent=Ks,jt=s(),b(q.$$.fragment),Mt=s(),J=r("div"),b(K.$$.fragment),Rt=s(),ye=r("p"),ye.textContent=en,Tt=s(),H=r("div"),b(ee.$$.fragment),Yt=s(),je=r("p"),je.textContent=tn,Ct=s(),A=r("div"),b(te.$$.fragment),St=s(),Me=r("p"),Me.textContent=sn,Ot=s(),Te=r("ul"),Te.innerHTML=nn,kt=s(),E=r("div"),b(se.$$.fragment),Xt=s(),Ce=r("p"),Ce.innerHTML=an,Ut=s(),Z=r("div"),b(ne.$$.fragment),qt=s(),ke=r("p"),ke.textContent=rn,Dt=s(),b(ae.$$.fragment),Pt=s(),V=r("div"),b(re.$$.fragment),Kt=s(),Ue=r("p"),Ue.textContent=ln,Lt=s(),b(le.$$.fragment),At=s(),h=r("div"),b(oe.$$.fragment),es=s(),De=r("p"),De.textContent=on,ts=s(),Pe=r("p"),Pe.textContent=pn,ss=s(),Le=r("p"),Le.innerHTML=mn,ns=s(),Ae=r("p"),Ae.textContent=dn,as=s(),Ie=r("ul"),Ie.innerHTML=cn,rs=s(),Je=r("p"),Je.textContent=un,ls=s(),He=r("ul"),He.innerHTML=fn,os=s(),Ee=r("p"),Ee.textContent=hn,is=s(),Ze=r("p"),Ze.innerHTML=gn,ps=s(),Ve=r("p"),Ve.textContent=bn,ms=s(),Ge=r("p"),Ge.innerHTML=_n,ds=s(),Ne=r("p"),Ne.textContent=vn,cs=s(),N=r("div"),b(ie.$$.fragment),us=s(),ze=r("p"),ze.innerHTML=wn,fs=s(),z=r("div"),b(pe.$$.fragment),hs=s(),We=r("p"),We.textContent=$n,It=s(),b(me.$$.fragment),Jt=s(),C=r("div"),b(de.$$.fragment),gs=s(),Be=r("p"),Be.innerHTML=xn,bs=s(),Qe=r("p"),Qe.innerHTML=yn,_s=s(),I=r("div"),b(ce.$$.fragment),vs=s(),Fe=r("p"),Fe.textContent=jn,ws=s(),Re=r("p"),Re.innerHTML=Mn,$s=s(),W=r("div"),b(ue.$$.fragment),xs=s(),Ye=r("p"),Ye.innerHTML=Tn,ys=s(),B=r("div"),b(fe.$$.fragment),js=s(),Se=r("p"),Se.innerHTML=Cn,Ms=s(),Q=r("div"),b(he.$$.fragment),Ts=s(),Oe=r("p"),Oe.innerHTML=kn,Ht=s(),b(ge.$$.fragment),Et=s(),i=r("div"),b(be.$$.fragment),Cs=s(),Xe=r("p"),Xe.innerHTML=Un,ks=s(),qe=r("p"),qe.textContent=Dn,Us=s(),Ke=r("ol"),Ke.innerHTML=Pn,Ds=s(),et=r("p"),et.textContent=Ln,Ps=s(),b(F.$$.fragment),Ls=s(),tt=r("p"),tt.innerHTML=An,As=s(),st=r("ol"),st.innerHTML=In,Is=s(),nt=r("p"),nt.innerHTML=Jn,Js=s(),b(R.$$.fragment),Hs=s(),at=r("p"),at.innerHTML=Hn,Es=s(),rt=r("p"),rt.textContent=En,Zs=s(),lt=r("p"),lt.innerHTML=Zn,Vs=s(),b(Y.$$.fragment),Gs=s(),ot=r("p"),ot.textContent=Vn,Ns=s(),it=r("p"),it.textContent=Gn,zs=s(),pt=r("p"),pt.textContent=Nn,Ws=s(),mt=r("p"),mt.innerHTML=zn,Bs=s(),b(S.$$.fragment),Qs=s(),dt=r("p"),dt.textContent=Wn,Fs=s(),ct=r("p"),ct.textContent=Bn,Rs=s(),ut=r("p"),ut.textContent=Qn,Ys=s(),b(O.$$.fragment),Ss=s(),ft=r("p"),ft.textContent=Fn,Os=s(),ht=r("p"),ht.innerHTML=Rn,Xs=s(),gt=r("p"),gt.innerHTML=Yn,Zt=s(),b(_e.$$.fragment),Vt=s(),vt=r("p"),this.h()},l(e){const m=Kn("svelte-u9bgzb",document.head);c=l(m,"META",{name:!0,content:!0}),m.forEach(o),T=n(e),y=l(e,"P",{}),k(y).forEach(o),u=n(e),_(g.$$.fragment,e),a=n(e),M=l(e,"P",{"data-svelte-h":!0}),p(M)!=="svelte-jkalqb"&&(M.innerHTML=qs),yt=n(e),X=l(e,"P",{"data-svelte-h":!0}),p(X)!=="svelte-13vwfn2"&&(X.textContent=Ks),jt=n(e),_(q.$$.fragment,e),Mt=n(e),J=l(e,"DIV",{class:!0});var ve=k(J);_(K.$$.fragment,ve),Rt=n(ve),ye=l(ve,"P",{"data-svelte-h":!0}),p(ye)!=="svelte-b01y7t"&&(ye.textContent=en),ve.forEach(o),Tt=n(e),H=l(e,"DIV",{class:!0});var we=k(H);_(ee.$$.fragment,we),Yt=n(we),je=l(we,"P",{"data-svelte-h":!0}),p(je)!=="svelte-ofujqi"&&(je.textContent=tn),we.forEach(o),Ct=n(e),A=l(e,"DIV",{class:!0});var G=k(A);_(te.$$.fragment,G),St=n(G),Me=l(G,"P",{"data-svelte-h":!0}),p(Me)!=="svelte-ajn1jc"&&(Me.textContent=sn),Ot=n(G),Te=l(G,"UL",{"data-svelte-h":!0}),p(Te)!=="svelte-1q4p6e6"&&(Te.innerHTML=nn),G.forEach(o),kt=n(e),E=l(e,"DIV",{class:!0});var $e=k(E);_(se.$$.fragment,$e),Xt=n($e),Ce=l($e,"P",{"data-svelte-h":!0}),p(Ce)!=="svelte-nlunew"&&(Ce.innerHTML=an),$e.forEach(o),Ut=n(e),Z=l(e,"DIV",{class:!0});var xe=k(Z);_(ne.$$.fragment,xe),qt=n(xe),ke=l(xe,"P",{"data-svelte-h":!0}),p(ke)!=="svelte-50krjz"&&(ke.textContent=rn),xe.forEach(o),Dt=n(e),_(ae.$$.fragment,e),Pt=n(e),V=l(e,"DIV",{class:!0});var Nt=k(V);_(re.$$.fragment,Nt),Kt=n(Nt),Ue=l(Nt,"P",{"data-svelte-h":!0}),p(Ue)!=="svelte-1xkzvlg"&&(Ue.textContent=ln),Nt.forEach(o),Lt=n(e),_(le.$$.fragment,e),At=n(e),h=l(e,"DIV",{class:!0});var j=k(h);_(oe.$$.fragment,j),es=n(j),De=l(j,"P",{"data-svelte-h":!0}),p(De)!=="svelte-1n8tp04"&&(De.textContent=on),ts=n(j),Pe=l(j,"P",{"data-svelte-h":!0}),p(Pe)!=="svelte-1bmnzk6"&&(Pe.textContent=pn),ss=n(j),Le=l(j,"P",{"data-svelte-h":!0}),p(Le)!=="svelte-1i3zlda"&&(Le.innerHTML=mn),ns=n(j),Ae=l(j,"P",{"data-svelte-h":!0}),p(Ae)!=="svelte-poxoov"&&(Ae.textContent=dn),as=n(j),Ie=l(j,"UL",{"data-svelte-h":!0}),p(Ie)!=="svelte-eccldq"&&(Ie.innerHTML=cn),rs=n(j),Je=l(j,"P",{"data-svelte-h":!0}),p(Je)!=="svelte-1einyo"&&(Je.textContent=un),ls=n(j),He=l(j,"UL",{"data-svelte-h":!0}),p(He)!=="svelte-1umurgm"&&(He.innerHTML=fn),os=n(j),Ee=l(j,"P",{"data-svelte-h":!0}),p(Ee)!=="svelte-he1scd"&&(Ee.textContent=hn),is=n(j),Ze=l(j,"P",{"data-svelte-h":!0}),p(Ze)!=="svelte-1qs6cxi"&&(Ze.innerHTML=gn),ps=n(j),Ve=l(j,"P",{"data-svelte-h":!0}),p(Ve)!=="svelte-x84c1n"&&(Ve.textContent=bn),ms=n(j),Ge=l(j,"P",{"data-svelte-h":!0}),p(Ge)!=="svelte-dcsxla"&&(Ge.innerHTML=_n),ds=n(j),Ne=l(j,"P",{"data-svelte-h":!0}),p(Ne)!=="svelte-fk4pq9"&&(Ne.textContent=vn),cs=n(j),N=l(j,"DIV",{class:!0});var zt=k(N);_(ie.$$.fragment,zt),us=n(zt),ze=l(zt,"P",{"data-svelte-h":!0}),p(ze)!=="svelte-18bdjbi"&&(ze.innerHTML=wn),zt.forEach(o),fs=n(j),z=l(j,"DIV",{class:!0});var Wt=k(z);_(pe.$$.fragment,Wt),hs=n(Wt),We=l(Wt,"P",{"data-svelte-h":!0}),p(We)!=="svelte-cxa3v7"&&(We.textContent=$n),Wt.forEach(o),j.forEach(o),It=n(e),_(me.$$.fragment,e),Jt=n(e),C=l(e,"DIV",{class:!0});var P=k(C);_(de.$$.fragment,P),gs=n(P),Be=l(P,"P",{"data-svelte-h":!0}),p(Be)!=="svelte-ym76lw"&&(Be.innerHTML=xn),bs=n(P),Qe=l(P,"P",{"data-svelte-h":!0}),p(Qe)!=="svelte-lsn7j7"&&(Qe.innerHTML=yn),_s=n(P),I=l(P,"DIV",{class:!0});var bt=k(I);_(ce.$$.fragment,bt),vs=n(bt),Fe=l(bt,"P",{"data-svelte-h":!0}),p(Fe)!=="svelte-p6utzx"&&(Fe.textContent=jn),ws=n(bt),Re=l(bt,"P",{"data-svelte-h":!0}),p(Re)!=="svelte-e7yqwr"&&(Re.innerHTML=Mn),bt.forEach(o),$s=n(P),W=l(P,"DIV",{class:!0});var Bt=k(W);_(ue.$$.fragment,Bt),xs=n(Bt),Ye=l(Bt,"P",{"data-svelte-h":!0}),p(Ye)!=="svelte-815dvz"&&(Ye.innerHTML=Tn),Bt.forEach(o),ys=n(P),B=l(P,"DIV",{class:!0});var Qt=k(B);_(fe.$$.fragment,Qt),js=n(Qt),Se=l(Qt,"P",{"data-svelte-h":!0}),p(Se)!=="svelte-1fm6x4h"&&(Se.innerHTML=Cn),Qt.forEach(o),Ms=n(P),Q=l(P,"DIV",{class:!0});var Ft=k(Q);_(he.$$.fragment,Ft),Ts=n(Ft),Oe=l(Ft,"P",{"data-svelte-h":!0}),p(Oe)!=="svelte-12wc0v2"&&(Oe.innerHTML=kn),Ft.forEach(o),P.forEach(o),Ht=n(e),_(ge.$$.fragment,e),Et=n(e),i=l(e,"DIV",{class:!0});var d=k(i);_(be.$$.fragment,d),Cs=n(d),Xe=l(d,"P",{"data-svelte-h":!0}),p(Xe)!=="svelte-7pufvy"&&(Xe.innerHTML=Un),ks=n(d),qe=l(d,"P",{"data-svelte-h":!0}),p(qe)!=="svelte-1sexrnb"&&(qe.textContent=Dn),Us=n(d),Ke=l(d,"OL",{"data-svelte-h":!0}),p(Ke)!=="svelte-1klaood"&&(Ke.innerHTML=Pn),Ds=n(d),et=l(d,"P",{"data-svelte-h":!0}),p(et)!=="svelte-4br128"&&(et.textContent=Ln),Ps=n(d),_(F.$$.fragment,d),Ls=n(d),tt=l(d,"P",{"data-svelte-h":!0}),p(tt)!=="svelte-1jokgs0"&&(tt.innerHTML=An),As=n(d),st=l(d,"OL",{"data-svelte-h":!0}),p(st)!=="svelte-tujq3x"&&(st.innerHTML=In),Is=n(d),nt=l(d,"P",{"data-svelte-h":!0}),p(nt)!=="svelte-1o699wi"&&(nt.innerHTML=Jn),Js=n(d),_(R.$$.fragment,d),Hs=n(d),at=l(d,"P",{"data-svelte-h":!0}),p(at)!=="svelte-ah92rt"&&(at.innerHTML=Hn),Es=n(d),rt=l(d,"P",{"data-svelte-h":!0}),p(rt)!=="svelte-y74rb4"&&(rt.textContent=En),Zs=n(d),lt=l(d,"P",{"data-svelte-h":!0}),p(lt)!=="svelte-1j494vd"&&(lt.innerHTML=Zn),Vs=n(d),_(Y.$$.fragment,d),Gs=n(d),ot=l(d,"P",{"data-svelte-h":!0}),p(ot)!=="svelte-10kqlwp"&&(ot.textContent=Vn),Ns=n(d),it=l(d,"P",{"data-svelte-h":!0}),p(it)!=="svelte-16tdr0"&&(it.textContent=Gn),zs=n(d),pt=l(d,"P",{"data-svelte-h":!0}),p(pt)!=="svelte-1hu51bp"&&(pt.textContent=Nn),Ws=n(d),mt=l(d,"P",{"data-svelte-h":!0}),p(mt)!=="svelte-1orvvp5"&&(mt.innerHTML=zn),Bs=n(d),_(S.$$.fragment,d),Qs=n(d),dt=l(d,"P",{"data-svelte-h":!0}),p(dt)!=="svelte-ev1hfq"&&(dt.textContent=Wn),Fs=n(d),ct=l(d,"P",{"data-svelte-h":!0}),p(ct)!=="svelte-1b66ig1"&&(ct.textContent=Bn),Rs=n(d),ut=l(d,"P",{"data-svelte-h":!0}),p(ut)!=="svelte-1hsaz31"&&(ut.textContent=Qn),Ys=n(d),_(O.$$.fragment,d),Ss=n(d),ft=l(d,"P",{"data-svelte-h":!0}),p(ft)!=="svelte-yuienj"&&(ft.textContent=Fn),Os=n(d),ht=l(d,"P",{"data-svelte-h":!0}),p(ht)!=="svelte-z6s5o1"&&(ht.innerHTML=Rn),Xs=n(d),gt=l(d,"P",{"data-svelte-h":!0}),p(gt)!=="svelte-1ery8m7"&&(gt.innerHTML=Yn),d.forEach(o),Zt=n(e),_(_e.$$.fragment,e),Vt=n(e),vt=l(e,"P",{}),k(vt).forEach(o),this.h()},h(){U(c,"name","hf:doc:metadata"),U(c,"content",oa),U(J,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(H,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(N,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(h,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(I,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(W,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(B,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(Q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),U(i,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,m){t(document.head,c),f(e,T,m),f(e,y,m),f(e,u,m),v(g,e,m),f(e,a,m),f(e,M,m),f(e,yt,m),f(e,X,m),f(e,jt,m),v(q,e,m),f(e,Mt,m),f(e,J,m),v(K,J,null),t(J,Rt),t(J,ye),f(e,Tt,m),f(e,H,m),v(ee,H,null),t(H,Yt),t(H,je),f(e,Ct,m),f(e,A,m),v(te,A,null),t(A,St),t(A,Me),t(A,Ot),t(A,Te),f(e,kt,m),f(e,E,m),v(se,E,null),t(E,Xt),t(E,Ce),f(e,Ut,m),f(e,Z,m),v(ne,Z,null),t(Z,qt),t(Z,ke),f(e,Dt,m),v(ae,e,m),f(e,Pt,m),f(e,V,m),v(re,V,null),t(V,Kt),t(V,Ue),f(e,Lt,m),v(le,e,m),f(e,At,m),f(e,h,m),v(oe,h,null),t(h,es),t(h,De),t(h,ts),t(h,Pe),t(h,ss),t(h,Le),t(h,ns),t(h,Ae),t(h,as),t(h,Ie),t(h,rs),t(h,Je),t(h,ls),t(h,He),t(h,os),t(h,Ee),t(h,is),t(h,Ze),t(h,ps),t(h,Ve),t(h,ms),t(h,Ge),t(h,ds),t(h,Ne),t(h,cs),t(h,N),v(ie,N,null),t(N,us),t(N,ze),t(h,fs),t(h,z),v(pe,z,null),t(z,hs),t(z,We),f(e,It,m),v(me,e,m),f(e,Jt,m),f(e,C,m),v(de,C,null),t(C,gs),t(C,Be),t(C,bs),t(C,Qe),t(C,_s),t(C,I),v(ce,I,null),t(I,vs),t(I,Fe),t(I,ws),t(I,Re),t(C,$s),t(C,W),v(ue,W,null),t(W,xs),t(W,Ye),t(C,ys),t(C,B),v(fe,B,null),t(B,js),t(B,Se),t(C,Ms),t(C,Q),v(he,Q,null),t(Q,Ts),t(Q,Oe),f(e,Ht,m),v(ge,e,m),f(e,Et,m),f(e,i,m),v(be,i,null),t(i,Cs),t(i,Xe),t(i,ks),t(i,qe),t(i,Us),t(i,Ke),t(i,Ds),t(i,et),t(i,Ps),v(F,i,null),t(i,Ls),t(i,tt),t(i,As),t(i,st),t(i,Is),t(i,nt),t(i,Js),v(R,i,null),t(i,Hs),t(i,at),t(i,Es),t(i,rt),t(i,Zs),t(i,lt),t(i,Vs),v(Y,i,null),t(i,Gs),t(i,ot),t(i,Ns),t(i,it),t(i,zs),t(i,pt),t(i,Ws),t(i,mt),t(i,Bs),v(S,i,null),t(i,Qs),t(i,dt),t(i,Fs),t(i,ct),t(i,Rs),t(i,ut),t(i,Ys),v(O,i,null),t(i,Ss),t(i,ft),t(i,Os),t(i,ht),t(i,Xs),t(i,gt),f(e,Zt,m),v(_e,e,m),f(e,Vt,m),f(e,vt,m),Gt=!0},p(e,[m]){const ve={};m&2&&(ve.$$scope={dirty:m,ctx:e}),F.$set(ve);const we={};m&2&&(we.$$scope={dirty:m,ctx:e}),R.$set(we);const G={};m&2&&(G.$$scope={dirty:m,ctx:e}),Y.$set(G);const $e={};m&2&&($e.$$scope={dirty:m,ctx:e}),S.$set($e);const xe={};m&2&&(xe.$$scope={dirty:m,ctx:e}),O.$set(xe)},i(e){Gt||(w(g.$$.fragment,e),w(q.$$.fragment,e),w(K.$$.fragment,e),w(ee.$$.fragment,e),w(te.$$.fragment,e),w(se.$$.fragment,e),w(ne.$$.fragment,e),w(ae.$$.fragment,e),w(re.$$.fragment,e),w(le.$$.fragment,e),w(oe.$$.fragment,e),w(ie.$$.fragment,e),w(pe.$$.fragment,e),w(me.$$.fragment,e),w(de.$$.fragment,e),w(ce.$$.fragment,e),w(ue.$$.fragment,e),w(fe.$$.fragment,e),w(he.$$.fragment,e),w(ge.$$.fragment,e),w(be.$$.fragment,e),w(F.$$.fragment,e),w(R.$$.fragment,e),w(Y.$$.fragment,e),w(S.$$.fragment,e),w(O.$$.fragment,e),w(_e.$$.fragment,e),Gt=!0)},o(e){$(g.$$.fragment,e),$(q.$$.fragment,e),$(K.$$.fragment,e),$(ee.$$.fragment,e),$(te.$$.fragment,e),$(se.$$.fragment,e),$(ne.$$.fragment,e),$(ae.$$.fragment,e),$(re.$$.fragment,e),$(le.$$.fragment,e),$(oe.$$.fragment,e),$(ie.$$.fragment,e),$(pe.$$.fragment,e),$(me.$$.fragment,e),$(de.$$.fragment,e),$(ce.$$.fragment,e),$(ue.$$.fragment,e),$(fe.$$.fragment,e),$(he.$$.fragment,e),$(ge.$$.fragment,e),$(be.$$.fragment,e),$(F.$$.fragment,e),$(R.$$.fragment,e),$(Y.$$.fragment,e),$(S.$$.fragment,e),$(O.$$.fragment,e),$(_e.$$.fragment,e),Gt=!1},d(e){e&&(o(T),o(y),o(u),o(a),o(M),o(yt),o(X),o(jt),o(Mt),o(J),o(Tt),o(H),o(Ct),o(A),o(kt),o(E),o(Ut),o(Z),o(Dt),o(Pt),o(V),o(Lt),o(At),o(h),o(It),o(Jt),o(C),o(Ht),o(Et),o(i),o(Zt),o(Vt),o(vt)),o(c),x(g,e),x(q,e),x(K),x(ee),x(te),x(se),x(ne),x(ae,e),x(re),x(le,e),x(oe),x(ie),x(pe),x(me,e),x(de),x(ce),x(ue),x(fe),x(he),x(ge,e),x(be),x(F),x(R),x(Y),x(S),x(O),x(_e,e)}}}const oa='{"title":"Utilities for Trainer","local":"utilities-for-trainer","sections":[{"title":"Utilities","local":"transformers.EvalPrediction","sections":[],"depth":2},{"title":"Callbacks internals","local":"transformers.trainer_callback.CallbackHandler","sections":[],"depth":2},{"title":"Distributed Evaluation","local":"transformers.trainer_pt_utils.DistributedTensorGatherer","sections":[],"depth":2},{"title":"Trainer Argument Parser","local":"transformers.HfArgumentParser","sections":[],"depth":2},{"title":"Debug Utilities","local":"transformers.debug_utils.DebugUnderflowOverflow","sections":[],"depth":2}],"depth":1}';function ia(L){return On(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ga extends Xn{constructor(c){super(),qn(this,c,ia,la,Sn,{})}}export{ga as component};
