import{s as Rs,o as Ys,n as $t}from"../chunks/scheduler.9991993c.js";import{S as Ss,i as Xs,g as r,s as n,r as b,A as Os,h as l,f as o,c as s,j as k,u as _,x as p,k as L,y as t,a as f,v,d as $,t as w,w as x}from"../chunks/index.7fc9a5e7.js";import{D as U}from"../chunks/Docstring.8180f571.js";import{C as wt}from"../chunks/CodeBlock.e11cba92.js";import{E as vt}from"../chunks/ExampleCodeBlock.a03fccd6.js";import{H as bt}from"../chunks/Heading.e3de321f.js";function qs(D){let c,T="To activate the underflow/overflow detection, initialize the object with the model :",j,u,g;return u=new wt({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsKQ==",highlighted:"debug_overflow = DebugUnderflowOverflow(model)",wrap:!1}}),{c(){c=r("p"),c.textContent=T,j=n(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-e61xrj"&&(c.textContent=T),j=s(a),_(u.$$.fragment,a)},m(a,y){f(a,c,y),f(a,j,y),v(u,a,y),g=!0},p:$t,i(a){g||($(u.$$.fragment,a),g=!0)},o(a){w(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(j)),x(u,a)}}}function Ks(D){let c,T="mixed precision :",j,u,g;return u=new wt({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,j=n(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-1705ugl"&&(c.textContent=T),j=s(a),_(u.$$.fragment,a)},m(a,y){f(a,c,y),f(a,j,y),v(u,a,y),g=!0},p:$t,i(a){g||($(u.$$.fragment,a),g=!0)},o(a){w(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(j)),x(u,a)}}}function ea(D){let c,T="By default the last 21 frames are printed. You can change the default to adjust for your needs. For example :",j,u,g;return u=new wt({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,j=n(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-jxu20j"&&(c.textContent=T),j=s(a),_(u.$$.fragment,a)},m(a,y){f(a,c,y),f(a,j,y),v(u,a,y),g=!0},p:$t,i(a){g||($(u.$$.fragment,a),g=!0)},o(a){w(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(j)),x(u,a)}}}function ta(D){let c,T="given batch, and only do that for batches 1 and 3. Then you instantiate this class as :",j,u,g;return u=new wt({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,j=n(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-1009pyu"&&(c.textContent=T),j=s(a),_(u.$$.fragment,a)},m(a,y){f(a,c,y),f(a,j,y),v(u,a,y),g=!0},p:$t,i(a){g||($(u.$$.fragment,a),g=!0)},o(a){w(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(j)),x(u,a)}}}function na(D){let c,T="You can also specify the batch number after which to stop the training, with :",j,u,g;return u=new wt({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,j=n(),b(u.$$.fragment)},l(a){c=l(a,"P",{"data-svelte-h":!0}),p(c)!=="svelte-psjyqa"&&(c.textContent=T),j=s(a),_(u.$$.fragment,a)},m(a,y){f(a,c,y),f(a,j,y),v(u,a,y),g=!0},p:$t,i(a){g||($(u.$$.fragment,a),g=!0)},o(a){w(u.$$.fragment,a),g=!1},d(a){a&&(o(c),o(j)),x(u,a)}}}function sa(D){let c,T,j,u,g,a,y,On="此页面列出了 <code>Trainer</code> 使用的所有实用函数。",xt,O,qn="其中大多数仅在您研究库中Trainer的代码时有用。",jt,q,Mt,A,K,Qt,xe,Kn="Evaluation output (always contains labels), to be used to compute metrics.",yt,H,ee,Ft,je,es="An enumeration.",Tt,I,te,Rt,Me,ts="Helper function for reproducible behavior during distributed training. See",Yt,ye,ns='<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>',Ct,Z,ne,St,Te,ss="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).",kt,V,se,Xt,Ce,as="Decorator to make all processes in distributed training wait for each local_master to do something.",Lt,ae,Ut,E,re,Ot,ke,rs="Internal class that just calls the list of callbacks in order.",Jt,le,Dt,h,oe,qt,Le,ls="A class responsible for properly gathering tensors (or nested list/tuple of tensors) on the CPU by chunks.",Kt,Ue,os=`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:`,en,Je,is="<code>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1]</code>",tn,De,ps=`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:`,nn,Ie,ds="<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>",sn,Pe,ms="The first batch treated on each process will be",an,Ae,cs="<li>P0: <code>[0, 1]</code></li> <li>P1: <code>[6, 7]</code></li> <li>P2: <code>[12, 13]</code></li>",rn,He,us=`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:`,ln,Ze,fs="<code>[0, 1, 6, 7, 12, 13]</code>",on,Ve,hs=`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:`,pn,Ee,gs="<code>[0, 1, 6, 7, 12, 13, 2, 3, 8, 9, 14, 15, 4, 5, 10, 11, 0, 1]</code>",dn,Ge,bs="For some reason, that’s not going to roll their boat. This class is there to solve that problem.",mn,z,ie,cn,ze,_s=`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.`,un,N,pe,fn,Ne,vs=`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,de,Pt,C,me,hn,We,$s="This subclass of <code>argparse.ArgumentParser</code> uses type hints on dataclasses to generate arguments.",gn,Be,ws=`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.`,bn,P,ce,_n,Qe,xs="Parse command-line args into instances of the specified dataclass types.",vn,Fe,js=`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`,$n,W,ue,wn,Re,Ms=`Alternative helper method that does not use <code>argparse</code> at all, instead uses a dict and populating the dataclass
types.`,xn,B,fe,jn,Ye,ys=`Alternative helper method that does not use <code>argparse</code> at all, instead loading a json file and populating the
dataclass types.`,Mn,Q,he,yn,Se,Ts=`Alternative helper method that does not use <code>argparse</code> at all, instead loading a yaml file and populating the
dataclass types.`,At,ge,Ht,i,be,Tn,Xe,Cs=`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.`,Cn,Oe,ks="There are 2 working modes:",kn,qe,Ls="<li>Underflow/overflow detection (default)</li> <li>Specific batch absolute min/max tracing without detection</li>",Ln,Ke,Us="Mode 1: Underflow/overflow detection",Un,F,Jn,et,Js=`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`,Dn,tt,Ds="<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>",In,nt,Is="For example, here is the header and the last few frames in detection report for <code>google/mt5-small</code> run in fp16",Pn,R,An,st,Ps=`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 overlow.`,Hn,at,As=`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.`,Zn,rt,Hs="The tracking is done in a forward hook, which gets invoked immediately after <code>forward</code> has completed.",Vn,Y,En,lt,Zs=`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.`,Gn,ot,Vs="Mode 2. Specific batch absolute min/max tracing without detection",zn,it,Es="The second work mode is per-batch tracing with the underflow/overflow detection feature turned off.",Nn,pt,Gs="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",Wn,S,Bn,dt,zs="And now full batches 1 and 3 will be traced using the same format as explained above. Batches are 0-indexed.",Qn,mt,Ns=`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.`,Fn,ct,Ws="Early stopping:",Rn,X,Yn,ut,Bs="This feature is mainly useful in the tracing mode, but you can use it for any mode.",Sn,ft,Qs="<strong>Performance</strong>:",Xn,ht,Fs="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,_t,Vt;return g=new bt({props:{title:"Trainer的工具",local:"trainer的工具",headingTag:"h1"}}),q=new bt({props:{title:"工具",local:"transformers.EvalPrediction",headingTag:"h2"}}),K=new U({props:{name:"class transformers.EvalPrediction",anchor:"transformers.EvalPrediction",parameters:[{name:"predictions",val:": Union"},{name:"label_ids",val:": Union"},{name:"inputs",val:": Union = 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;",name:"inputs"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_utils.py#L144"}}),ee=new U({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#L218"}}),te=new U({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#L59"}}),ne=new U({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#L86"}}),se=new U({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#L259"}}),ae=new bt({props:{title:"Callbacks内部机制",local:"transformers.trainer_callback.CallbackHandler",headingTag:"h2"}}),re=new U({props:{name:"class transformers.trainer_callback.CallbackHandler",anchor:"transformers.trainer_callback.CallbackHandler",parameters:[{name:"callbacks",val:""},{name:"model",val:""},{name:"tokenizer",val:""},{name:"optimizer",val:""},{name:"lr_scheduler",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_callback.py#L307"}}),le=new bt({props:{title:"分布式评估",local:"transformers.trainer_pt_utils.DistributedTensorGatherer",headingTag:"h2"}}),oe=new U({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#L388"}}),ie=new U({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#L448"}}),pe=new U({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#L484"}}),de=new bt({props:{title:"Trainer参数解析",local:"transformers.HfArgumentParser",headingTag:"h2"}}),me=new U({props:{name:"class transformers.HfArgumentParser",anchor:"transformers.HfArgumentParser",parameters:[{name:"dataclass_types",val:": Union"},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L109"}}),ce=new U({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"}],source:"https://github.com/huggingface/transformers/blob/main/src/transformers/hf_argparser.py#L265",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 U({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#L351",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 U({props:{name:"parse_json_file",anchor:"transformers.HfArgumentParser.parse_json_file",parameters:[{name:"json_file",val:": str"},{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#L379",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 U({props:{name:"parse_yaml_file",anchor:"transformers.HfArgumentParser.parse_yaml_file",parameters:[{name:"yaml_file",val:": str"},{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#L401",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 bt({props:{title:"Debug工具",local:"transformers.debug_utils.DebugUnderflowOverflow",headingTag:"h2"}}),be=new U({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 vt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example",$$slots:{default:[qs]},$$scope:{ctx:D}}}),R=new vt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-2",$$slots:{default:[Ks]},$$scope:{ctx:D}}}),Y=new vt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-3",$$slots:{default:[ea]},$$scope:{ctx:D}}}),S=new vt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-4",$$slots:{default:[ta]},$$scope:{ctx:D}}}),X=new vt({props:{anchor:"transformers.debug_utils.DebugUnderflowOverflow.example-5",$$slots:{default:[na]},$$scope:{ctx:D}}}),{c(){c=r("meta"),T=n(),j=r("p"),u=n(),b(g.$$.fragment),a=n(),y=r("p"),y.innerHTML=On,xt=n(),O=r("p"),O.textContent=qn,jt=n(),b(q.$$.fragment),Mt=n(),A=r("div"),b(K.$$.fragment),Qt=n(),xe=r("p"),xe.textContent=Kn,yt=n(),H=r("div"),b(ee.$$.fragment),Ft=n(),je=r("p"),je.textContent=es,Tt=n(),I=r("div"),b(te.$$.fragment),Rt=n(),Me=r("p"),Me.textContent=ts,Yt=n(),ye=r("ul"),ye.innerHTML=ns,Ct=n(),Z=r("div"),b(ne.$$.fragment),St=n(),Te=r("p"),Te.innerHTML=ss,kt=n(),V=r("div"),b(se.$$.fragment),Xt=n(),Ce=r("p"),Ce.textContent=as,Lt=n(),b(ae.$$.fragment),Ut=n(),E=r("div"),b(re.$$.fragment),Ot=n(),ke=r("p"),ke.textContent=rs,Jt=n(),b(le.$$.fragment),Dt=n(),h=r("div"),b(oe.$$.fragment),qt=n(),Le=r("p"),Le.textContent=ls,Kt=n(),Ue=r("p"),Ue.textContent=os,en=n(),Je=r("p"),Je.innerHTML=is,tn=n(),De=r("p"),De.textContent=ps,nn=n(),Ie=r("ul"),Ie.innerHTML=ds,sn=n(),Pe=r("p"),Pe.textContent=ms,an=n(),Ae=r("ul"),Ae.innerHTML=cs,rn=n(),He=r("p"),He.textContent=us,ln=n(),Ze=r("p"),Ze.innerHTML=fs,on=n(),Ve=r("p"),Ve.textContent=hs,pn=n(),Ee=r("p"),Ee.innerHTML=gs,dn=n(),Ge=r("p"),Ge.textContent=bs,mn=n(),z=r("div"),b(ie.$$.fragment),cn=n(),ze=r("p"),ze.innerHTML=_s,un=n(),N=r("div"),b(pe.$$.fragment),fn=n(),Ne=r("p"),Ne.textContent=vs,It=n(),b(de.$$.fragment),Pt=n(),C=r("div"),b(me.$$.fragment),hn=n(),We=r("p"),We.innerHTML=$s,gn=n(),Be=r("p"),Be.innerHTML=ws,bn=n(),P=r("div"),b(ce.$$.fragment),_n=n(),Qe=r("p"),Qe.textContent=xs,vn=n(),Fe=r("p"),Fe.innerHTML=js,$n=n(),W=r("div"),b(ue.$$.fragment),wn=n(),Re=r("p"),Re.innerHTML=Ms,xn=n(),B=r("div"),b(fe.$$.fragment),jn=n(),Ye=r("p"),Ye.innerHTML=ys,Mn=n(),Q=r("div"),b(he.$$.fragment),yn=n(),Se=r("p"),Se.innerHTML=Ts,At=n(),b(ge.$$.fragment),Ht=n(),i=r("div"),b(be.$$.fragment),Tn=n(),Xe=r("p"),Xe.innerHTML=Cs,Cn=n(),Oe=r("p"),Oe.textContent=ks,kn=n(),qe=r("ol"),qe.innerHTML=Ls,Ln=n(),Ke=r("p"),Ke.textContent=Us,Un=n(),b(F.$$.fragment),Jn=n(),et=r("p"),et.innerHTML=Js,Dn=n(),tt=r("ol"),tt.innerHTML=Ds,In=n(),nt=r("p"),nt.innerHTML=Is,Pn=n(),b(R.$$.fragment),An=n(),st=r("p"),st.innerHTML=Ps,Hn=n(),at=r("p"),at.textContent=As,Zn=n(),rt=r("p"),rt.innerHTML=Hs,Vn=n(),b(Y.$$.fragment),En=n(),lt=r("p"),lt.textContent=Zs,Gn=n(),ot=r("p"),ot.textContent=Vs,zn=n(),it=r("p"),it.textContent=Es,Nn=n(),pt=r("p"),pt.innerHTML=Gs,Wn=n(),b(S.$$.fragment),Bn=n(),dt=r("p"),dt.textContent=zs,Qn=n(),mt=r("p"),mt.textContent=Ns,Fn=n(),ct=r("p"),ct.textContent=Ws,Rn=n(),b(X.$$.fragment),Yn=n(),ut=r("p"),ut.textContent=Bs,Sn=n(),ft=r("p"),ft.innerHTML=Qs,Xn=n(),ht=r("p"),ht.innerHTML=Fs,Zt=n(),_t=r("p"),this.h()},l(e){const d=Os("svelte-u9bgzb",document.head);c=l(d,"META",{name:!0,content:!0}),d.forEach(o),T=s(e),j=l(e,"P",{}),k(j).forEach(o),u=s(e),_(g.$$.fragment,e),a=s(e),y=l(e,"P",{"data-svelte-h":!0}),p(y)!=="svelte-1vclv53"&&(y.innerHTML=On),xt=s(e),O=l(e,"P",{"data-svelte-h":!0}),p(O)!=="svelte-1qoa5vj"&&(O.textContent=qn),jt=s(e),_(q.$$.fragment,e),Mt=s(e),A=l(e,"DIV",{class:!0});var _e=k(A);_(K.$$.fragment,_e),Qt=s(_e),xe=l(_e,"P",{"data-svelte-h":!0}),p(xe)!=="svelte-b01y7t"&&(xe.textContent=Kn),_e.forEach(o),yt=s(e),H=l(e,"DIV",{class:!0});var ve=k(H);_(ee.$$.fragment,ve),Ft=s(ve),je=l(ve,"P",{"data-svelte-h":!0}),p(je)!=="svelte-ofujqi"&&(je.textContent=es),ve.forEach(o),Tt=s(e),I=l(e,"DIV",{class:!0});var G=k(I);_(te.$$.fragment,G),Rt=s(G),Me=l(G,"P",{"data-svelte-h":!0}),p(Me)!=="svelte-ajn1jc"&&(Me.textContent=ts),Yt=s(G),ye=l(G,"UL",{"data-svelte-h":!0}),p(ye)!=="svelte-1q4p6e6"&&(ye.innerHTML=ns),G.forEach(o),Ct=s(e),Z=l(e,"DIV",{class:!0});var $e=k(Z);_(ne.$$.fragment,$e),St=s($e),Te=l($e,"P",{"data-svelte-h":!0}),p(Te)!=="svelte-nlunew"&&(Te.innerHTML=ss),$e.forEach(o),kt=s(e),V=l(e,"DIV",{class:!0});var we=k(V);_(se.$$.fragment,we),Xt=s(we),Ce=l(we,"P",{"data-svelte-h":!0}),p(Ce)!=="svelte-50krjz"&&(Ce.textContent=as),we.forEach(o),Lt=s(e),_(ae.$$.fragment,e),Ut=s(e),E=l(e,"DIV",{class:!0});var Et=k(E);_(re.$$.fragment,Et),Ot=s(Et),ke=l(Et,"P",{"data-svelte-h":!0}),p(ke)!=="svelte-1xkzvlg"&&(ke.textContent=rs),Et.forEach(o),Jt=s(e),_(le.$$.fragment,e),Dt=s(e),h=l(e,"DIV",{class:!0});var M=k(h);_(oe.$$.fragment,M),qt=s(M),Le=l(M,"P",{"data-svelte-h":!0}),p(Le)!=="svelte-1n8tp04"&&(Le.textContent=ls),Kt=s(M),Ue=l(M,"P",{"data-svelte-h":!0}),p(Ue)!=="svelte-1bmnzk6"&&(Ue.textContent=os),en=s(M),Je=l(M,"P",{"data-svelte-h":!0}),p(Je)!=="svelte-1i3zlda"&&(Je.innerHTML=is),tn=s(M),De=l(M,"P",{"data-svelte-h":!0}),p(De)!=="svelte-poxoov"&&(De.textContent=ps),nn=s(M),Ie=l(M,"UL",{"data-svelte-h":!0}),p(Ie)!=="svelte-eccldq"&&(Ie.innerHTML=ds),sn=s(M),Pe=l(M,"P",{"data-svelte-h":!0}),p(Pe)!=="svelte-dr8jii"&&(Pe.textContent=ms),an=s(M),Ae=l(M,"UL",{"data-svelte-h":!0}),p(Ae)!=="svelte-1umurgm"&&(Ae.innerHTML=cs),rn=s(M),He=l(M,"P",{"data-svelte-h":!0}),p(He)!=="svelte-he1scd"&&(He.textContent=us),ln=s(M),Ze=l(M,"P",{"data-svelte-h":!0}),p(Ze)!=="svelte-1qs6cxi"&&(Ze.innerHTML=fs),on=s(M),Ve=l(M,"P",{"data-svelte-h":!0}),p(Ve)!=="svelte-x84c1n"&&(Ve.textContent=hs),pn=s(M),Ee=l(M,"P",{"data-svelte-h":!0}),p(Ee)!=="svelte-dcsxla"&&(Ee.innerHTML=gs),dn=s(M),Ge=l(M,"P",{"data-svelte-h":!0}),p(Ge)!=="svelte-fk4pq9"&&(Ge.textContent=bs),mn=s(M),z=l(M,"DIV",{class:!0});var Gt=k(z);_(ie.$$.fragment,Gt),cn=s(Gt),ze=l(Gt,"P",{"data-svelte-h":!0}),p(ze)!=="svelte-18bdjbi"&&(ze.innerHTML=_s),Gt.forEach(o),un=s(M),N=l(M,"DIV",{class:!0});var zt=k(N);_(pe.$$.fragment,zt),fn=s(zt),Ne=l(zt,"P",{"data-svelte-h":!0}),p(Ne)!=="svelte-cxa3v7"&&(Ne.textContent=vs),zt.forEach(o),M.forEach(o),It=s(e),_(de.$$.fragment,e),Pt=s(e),C=l(e,"DIV",{class:!0});var J=k(C);_(me.$$.fragment,J),hn=s(J),We=l(J,"P",{"data-svelte-h":!0}),p(We)!=="svelte-ym76lw"&&(We.innerHTML=$s),gn=s(J),Be=l(J,"P",{"data-svelte-h":!0}),p(Be)!=="svelte-lsn7j7"&&(Be.innerHTML=ws),bn=s(J),P=l(J,"DIV",{class:!0});var gt=k(P);_(ce.$$.fragment,gt),_n=s(gt),Qe=l(gt,"P",{"data-svelte-h":!0}),p(Qe)!=="svelte-p6utzx"&&(Qe.textContent=xs),vn=s(gt),Fe=l(gt,"P",{"data-svelte-h":!0}),p(Fe)!=="svelte-e7yqwr"&&(Fe.innerHTML=js),gt.forEach(o),$n=s(J),W=l(J,"DIV",{class:!0});var Nt=k(W);_(ue.$$.fragment,Nt),wn=s(Nt),Re=l(Nt,"P",{"data-svelte-h":!0}),p(Re)!=="svelte-815dvz"&&(Re.innerHTML=Ms),Nt.forEach(o),xn=s(J),B=l(J,"DIV",{class:!0});var Wt=k(B);_(fe.$$.fragment,Wt),jn=s(Wt),Ye=l(Wt,"P",{"data-svelte-h":!0}),p(Ye)!=="svelte-1fm6x4h"&&(Ye.innerHTML=ys),Wt.forEach(o),Mn=s(J),Q=l(J,"DIV",{class:!0});var Bt=k(Q);_(he.$$.fragment,Bt),yn=s(Bt),Se=l(Bt,"P",{"data-svelte-h":!0}),p(Se)!=="svelte-12wc0v2"&&(Se.innerHTML=Ts),Bt.forEach(o),J.forEach(o),At=s(e),_(ge.$$.fragment,e),Ht=s(e),i=l(e,"DIV",{class:!0});var m=k(i);_(be.$$.fragment,m),Tn=s(m),Xe=l(m,"P",{"data-svelte-h":!0}),p(Xe)!=="svelte-7pufvy"&&(Xe.innerHTML=Cs),Cn=s(m),Oe=l(m,"P",{"data-svelte-h":!0}),p(Oe)!=="svelte-1sexrnb"&&(Oe.textContent=ks),kn=s(m),qe=l(m,"OL",{"data-svelte-h":!0}),p(qe)!=="svelte-1klaood"&&(qe.innerHTML=Ls),Ln=s(m),Ke=l(m,"P",{"data-svelte-h":!0}),p(Ke)!=="svelte-4br128"&&(Ke.textContent=Us),Un=s(m),_(F.$$.fragment,m),Jn=s(m),et=l(m,"P",{"data-svelte-h":!0}),p(et)!=="svelte-1jokgs0"&&(et.innerHTML=Js),Dn=s(m),tt=l(m,"OL",{"data-svelte-h":!0}),p(tt)!=="svelte-tujq3x"&&(tt.innerHTML=Ds),In=s(m),nt=l(m,"P",{"data-svelte-h":!0}),p(nt)!=="svelte-1o699wi"&&(nt.innerHTML=Is),Pn=s(m),_(R.$$.fragment,m),An=s(m),st=l(m,"P",{"data-svelte-h":!0}),p(st)!=="svelte-drqgcb"&&(st.innerHTML=Ps),Hn=s(m),at=l(m,"P",{"data-svelte-h":!0}),p(at)!=="svelte-y74rb4"&&(at.textContent=As),Zn=s(m),rt=l(m,"P",{"data-svelte-h":!0}),p(rt)!=="svelte-1j494vd"&&(rt.innerHTML=Hs),Vn=s(m),_(Y.$$.fragment,m),En=s(m),lt=l(m,"P",{"data-svelte-h":!0}),p(lt)!=="svelte-10kqlwp"&&(lt.textContent=Zs),Gn=s(m),ot=l(m,"P",{"data-svelte-h":!0}),p(ot)!=="svelte-16tdr0"&&(ot.textContent=Vs),zn=s(m),it=l(m,"P",{"data-svelte-h":!0}),p(it)!=="svelte-1hu51bp"&&(it.textContent=Es),Nn=s(m),pt=l(m,"P",{"data-svelte-h":!0}),p(pt)!=="svelte-1orvvp5"&&(pt.innerHTML=Gs),Wn=s(m),_(S.$$.fragment,m),Bn=s(m),dt=l(m,"P",{"data-svelte-h":!0}),p(dt)!=="svelte-ev1hfq"&&(dt.textContent=zs),Qn=s(m),mt=l(m,"P",{"data-svelte-h":!0}),p(mt)!=="svelte-1b66ig1"&&(mt.textContent=Ns),Fn=s(m),ct=l(m,"P",{"data-svelte-h":!0}),p(ct)!=="svelte-1hsaz31"&&(ct.textContent=Ws),Rn=s(m),_(X.$$.fragment,m),Yn=s(m),ut=l(m,"P",{"data-svelte-h":!0}),p(ut)!=="svelte-yuienj"&&(ut.textContent=Bs),Sn=s(m),ft=l(m,"P",{"data-svelte-h":!0}),p(ft)!=="svelte-z6s5o1"&&(ft.innerHTML=Qs),Xn=s(m),ht=l(m,"P",{"data-svelte-h":!0}),p(ht)!=="svelte-1ery8m7"&&(ht.innerHTML=Fs),m.forEach(o),Zt=s(e),_t=l(e,"P",{}),k(_t).forEach(o),this.h()},h(){L(c,"name","hf:doc:metadata"),L(c,"content",aa),L(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(H,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(I,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(N,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(h,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(W,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(B,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(Q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),L(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,d){t(document.head,c),f(e,T,d),f(e,j,d),f(e,u,d),v(g,e,d),f(e,a,d),f(e,y,d),f(e,xt,d),f(e,O,d),f(e,jt,d),v(q,e,d),f(e,Mt,d),f(e,A,d),v(K,A,null),t(A,Qt),t(A,xe),f(e,yt,d),f(e,H,d),v(ee,H,null),t(H,Ft),t(H,je),f(e,Tt,d),f(e,I,d),v(te,I,null),t(I,Rt),t(I,Me),t(I,Yt),t(I,ye),f(e,Ct,d),f(e,Z,d),v(ne,Z,null),t(Z,St),t(Z,Te),f(e,kt,d),f(e,V,d),v(se,V,null),t(V,Xt),t(V,Ce),f(e,Lt,d),v(ae,e,d),f(e,Ut,d),f(e,E,d),v(re,E,null),t(E,Ot),t(E,ke),f(e,Jt,d),v(le,e,d),f(e,Dt,d),f(e,h,d),v(oe,h,null),t(h,qt),t(h,Le),t(h,Kt),t(h,Ue),t(h,en),t(h,Je),t(h,tn),t(h,De),t(h,nn),t(h,Ie),t(h,sn),t(h,Pe),t(h,an),t(h,Ae),t(h,rn),t(h,He),t(h,ln),t(h,Ze),t(h,on),t(h,Ve),t(h,pn),t(h,Ee),t(h,dn),t(h,Ge),t(h,mn),t(h,z),v(ie,z,null),t(z,cn),t(z,ze),t(h,un),t(h,N),v(pe,N,null),t(N,fn),t(N,Ne),f(e,It,d),v(de,e,d),f(e,Pt,d),f(e,C,d),v(me,C,null),t(C,hn),t(C,We),t(C,gn),t(C,Be),t(C,bn),t(C,P),v(ce,P,null),t(P,_n),t(P,Qe),t(P,vn),t(P,Fe),t(C,$n),t(C,W),v(ue,W,null),t(W,wn),t(W,Re),t(C,xn),t(C,B),v(fe,B,null),t(B,jn),t(B,Ye),t(C,Mn),t(C,Q),v(he,Q,null),t(Q,yn),t(Q,Se),f(e,At,d),v(ge,e,d),f(e,Ht,d),f(e,i,d),v(be,i,null),t(i,Tn),t(i,Xe),t(i,Cn),t(i,Oe),t(i,kn),t(i,qe),t(i,Ln),t(i,Ke),t(i,Un),v(F,i,null),t(i,Jn),t(i,et),t(i,Dn),t(i,tt),t(i,In),t(i,nt),t(i,Pn),v(R,i,null),t(i,An),t(i,st),t(i,Hn),t(i,at),t(i,Zn),t(i,rt),t(i,Vn),v(Y,i,null),t(i,En),t(i,lt),t(i,Gn),t(i,ot),t(i,zn),t(i,it),t(i,Nn),t(i,pt),t(i,Wn),v(S,i,null),t(i,Bn),t(i,dt),t(i,Qn),t(i,mt),t(i,Fn),t(i,ct),t(i,Rn),v(X,i,null),t(i,Yn),t(i,ut),t(i,Sn),t(i,ft),t(i,Xn),t(i,ht),f(e,Zt,d),f(e,_t,d),Vt=!0},p(e,[d]){const _e={};d&2&&(_e.$$scope={dirty:d,ctx:e}),F.$set(_e);const ve={};d&2&&(ve.$$scope={dirty:d,ctx:e}),R.$set(ve);const G={};d&2&&(G.$$scope={dirty:d,ctx:e}),Y.$set(G);const $e={};d&2&&($e.$$scope={dirty:d,ctx:e}),S.$set($e);const we={};d&2&&(we.$$scope={dirty:d,ctx:e}),X.$set(we)},i(e){Vt||($(g.$$.fragment,e),$(q.$$.fragment,e),$(K.$$.fragment,e),$(ee.$$.fragment,e),$(te.$$.fragment,e),$(ne.$$.fragment,e),$(se.$$.fragment,e),$(ae.$$.fragment,e),$(re.$$.fragment,e),$(le.$$.fragment,e),$(oe.$$.fragment,e),$(ie.$$.fragment,e),$(pe.$$.fragment,e),$(de.$$.fragment,e),$(me.$$.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),$(X.$$.fragment,e),Vt=!0)},o(e){w(g.$$.fragment,e),w(q.$$.fragment,e),w(K.$$.fragment,e),w(ee.$$.fragment,e),w(te.$$.fragment,e),w(ne.$$.fragment,e),w(se.$$.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(de.$$.fragment,e),w(me.$$.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(X.$$.fragment,e),Vt=!1},d(e){e&&(o(T),o(j),o(u),o(a),o(y),o(xt),o(O),o(jt),o(Mt),o(A),o(yt),o(H),o(Tt),o(I),o(Ct),o(Z),o(kt),o(V),o(Lt),o(Ut),o(E),o(Jt),o(Dt),o(h),o(It),o(Pt),o(C),o(At),o(Ht),o(i),o(Zt),o(_t)),o(c),x(g,e),x(q,e),x(K),x(ee),x(te),x(ne),x(se),x(ae,e),x(re),x(le,e),x(oe),x(ie),x(pe),x(de,e),x(me),x(ce),x(ue),x(fe),x(he),x(ge,e),x(be),x(F),x(R),x(Y),x(S),x(X)}}}const aa='{"title":"Trainer的工具","local":"trainer的工具","sections":[{"title":"工具","local":"transformers.EvalPrediction","sections":[],"depth":2},{"title":"Callbacks内部机制","local":"transformers.trainer_callback.CallbackHandler","sections":[],"depth":2},{"title":"分布式评估","local":"transformers.trainer_pt_utils.DistributedTensorGatherer","sections":[],"depth":2},{"title":"Trainer参数解析","local":"transformers.HfArgumentParser","sections":[],"depth":2},{"title":"Debug工具","local":"transformers.debug_utils.DebugUnderflowOverflow","sections":[],"depth":2}],"depth":1}';function ra(D){return Ys(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ca extends Ss{constructor(c){super(),Xs(this,c,ra,sa,Rs,{})}}export{ca as component};
