Buckets:

rtrm's picture
download
raw
18.4 kB
import{s as ke,n as Ne,o as Ve}from"../chunks/scheduler.b108d059.js";import{S as Re,i as xe,g as y,s,r as p,A as Qe,h as w,f as t,c as n,j as ve,u as M,x as o,k as _e,y as Ee,a,v as i,d as c,t as m,w as r}from"../chunks/index.008de539.js";import{H as F,C as j,E as Fe}from"../chunks/index.285b9217.js";function He(he){let J,z,H,K,T,L,d,Ie='जैसे-जैसे मॉडल बड़े होते हैं, समानांतरता सीमित हार्डवेयर पर बड़े मॉडल को प्रशिक्षित करने और प्रशिक्षण की गति को कई आदेशों के आकार में तेज करने के लिए एक रणनीति के रूप में उभरी है। हगिंग फेस में, हमने उपयोगकर्ताओं को किसी भी प्रकार के वितरित सेटअप पर 🤗 ट्रांसफार्मर्स मॉडल को आसानी से प्रशिक्षित करने में मदद करने के लिए <a href="https://huggingface.co/docs/accelerate" rel="nofollow">🤗 Accelerate</a> पुस्तकालय बनाया है, चाहे वह एक मशीन पर कई GPU हों या कई मशीनों में कई GPU। इस ट्यूटोरियल में, जानें कि अपने मूल PyTorch प्रशिक्षण लूप को कैसे अनुकूलित किया जाए ताकि वितरित वातावरण में प्रशिक्षण सक्षम हो सके।',P,U,q,f,ue="🤗 Accelerate स्थापित करके शुरू करें:",D,b,O,$,Ce="फिर एक <code>Accelerator</code> ऑब्जेक्ट आयात करें और बनाएं। <code>Accelerator</code> स्वचालित रूप से आपके वितरित सेटअप के प्रकार का पता लगाएगा और प्रशिक्षण के लिए सभी आवश्यक घटकों को प्रारंभ करेगा। आपको अपने मॉडल को किसी डिवाइस पर स्पष्ट रूप से रखने की आवश्यकता नहीं है।",ee,h,le,I,te,u,Be="अगला कदम सभी प्रासंगिक प्रशिक्षण वस्तुओं को <code>prepare</code> विधि में पास करना है। इसमें आपके प्रशिक्षण और मूल्यांकन DataLoaders, एक मॉडल और एक ऑप्टिमाइज़र शामिल हैं:",ae,C,se,B,ne,Z,Ze="अंतिम जोड़ यह है कि आपके प्रशिक्षण लूप में सामान्य <code>loss.backward()</code> को 🤗 Accelerate के <code>backward</code> विधि से बदलें:",pe,g,Me,A,ge="जैसा कि आप निम्नलिखित कोड में देख सकते हैं, आपको वितरित प्रशिक्षण सक्षम करने के लिए अपने प्रशिक्षण लूप में केवल चार अतिरिक्त कोड की पंक्तियाँ जोड़ने की आवश्यकता है!",ie,W,ce,G,me,X,Ae="एक बार जब आपने प्रासंगिक कोड की पंक्तियाँ जोड़ दी हैं, तो अपने प्रशिक्षण को स्क्रिप्ट या कोलैबोरेटरी जैसे नोटबुक में लॉन्च करें।",re,Y,ye,v,We="यदि आप स्क्रिप्ट से अपना प्रशिक्षण चला रहे हैं, तो एक कॉन्फ़िगरेशन फ़ाइल बनाने और सहेजने के लिए निम्नलिखित कमांड चलाएँ:",we,_,oe,k,Ge="फिर अपने प्रशिक्षण को इस तरह लॉन्च करें:",Je,N,je,V,Te,R,Xe="🤗 Accelerate एक नोटबुक में भी चल सकता है यदि आप Colaboratory के TPU का उपयोग करने की योजना बना रहे हैं। प्रशिक्षण के लिए जिम्मेदार सभी कोड को एक फ़ंक्शन में लपेटें, और इसे <code>notebook_launcher</code> में पास करें:",de,x,Ue,Q,Ye='🤗 Accelerate और इसकी समृद्ध सुविधाओं के बारे में अधिक जानकारी के लिए, <a href="https://huggingface.co/docs/accelerate" rel="nofollow">दस्तावेज़ीकरण</a> देखें।',fe,E,be,S,$e;return T=new F({props:{title:"वितरित प्रशिक्षण के साथ 🤗 Accelerate",local:"वतरत-परशकषण-क-सथ--accelerate",headingTag:"h1"}}),U=new F({props:{title:"सेटअप",local:"सटअप",headingTag:"h2"}}),b=new j({props:{code:"cGlwJTIwaW5zdGFsbCUyMGFjY2VsZXJhdGU=",highlighted:"pip install accelerate",wrap:!1}}),h=new j({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUlMjBpbXBvcnQlMjBBY2NlbGVyYXRvciUwQSUwQWFjY2VsZXJhdG9yJTIwJTNEJTIwQWNjZWxlcmF0b3IoKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> accelerate <span class="hljs-keyword">import</span> Accelerator
<span class="hljs-meta">&gt;&gt;&gt; </span>accelerator = Accelerator()`,wrap:!1}}),I=new F({props:{title:"तेजी लाने की तैयारी",local:"तज-लन-क-तयर",headingTag:"h2"}}),C=new j({props:{code:"dHJhaW5fZGF0YWxvYWRlciUyQyUyMGV2YWxfZGF0YWxvYWRlciUyQyUyMG1vZGVsJTJDJTIwb3B0aW1pemVyJTIwJTNEJTIwYWNjZWxlcmF0b3IucHJlcGFyZSglMEElMjAlMjAlMjAlMjB0cmFpbl9kYXRhbG9hZGVyJTJDJTIwZXZhbF9kYXRhbG9hZGVyJTJDJTIwbW9kZWwlMkMlMjBvcHRpbWl6ZXIlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(
<span class="hljs-meta">... </span> train_dataloader, eval_dataloader, model, optimizer
<span class="hljs-meta">... </span>)`,wrap:!1}}),B=new F({props:{title:"बैकवर्ड",local:"बकवरड",headingTag:"h2"}}),g=new j({props:{code:"Zm9yJTIwZXBvY2glMjBpbiUyMHJhbmdlKG51bV9lcG9jaHMpJTNBJTBBJTIwJTIwJTIwJTIwZm9yJTIwYmF0Y2glMjBpbiUyMHRyYWluX2RhdGFsb2FkZXIlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKipiYXRjaCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsb3NzJTIwJTNEJTIwb3V0cHV0cy5sb3NzJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYWNjZWxlcmF0b3IuYmFja3dhcmQobG9zcyklMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvcHRpbWl6ZXIuc3RlcCgpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbHJfc2NoZWR1bGVyLnN0ZXAoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG9wdGltaXplci56ZXJvX2dyYWQoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByb2dyZXNzX2Jhci51cGRhdGUoMSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">for</span> epoch <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(num_epochs):
<span class="hljs-meta">... </span> <span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> train_dataloader:
<span class="hljs-meta">... </span> outputs = model(**batch)
<span class="hljs-meta">... </span> loss = outputs.loss
<span class="hljs-meta">... </span> accelerator.backward(loss)
<span class="hljs-meta">... </span> optimizer.step()
<span class="hljs-meta">... </span> lr_scheduler.step()
<span class="hljs-meta">... </span> optimizer.zero_grad()
<span class="hljs-meta">... </span> progress_bar.update(<span class="hljs-number">1</span>)`,wrap:!1}}),W=new j({props:{code:"JTJCJTIwZnJvbSUyMGFjY2VsZXJhdGUlMjBpbXBvcnQlMjBBY2NlbGVyYXRvciUwQSUyMCUyMGZyb20lMjB0cmFuc2Zvcm1lcnMlMjBpbXBvcnQlMjBBZGFtVyUyQyUyMEF1dG9Nb2RlbEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24lMkMlMjBnZXRfc2NoZWR1bGVyJTBBJTBBJTJCJTIwYWNjZWxlcmF0b3IlMjAlM0QlMjBBY2NlbGVyYXRvcigpJTBBJTBBJTIwJTIwbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50JTJDJTIwbnVtX2xhYmVscyUzRDIpJTBBJTIwJTIwb3B0aW1pemVyJTIwJTNEJTIwQWRhbVcobW9kZWwucGFyYW1ldGVycygpJTJDJTIwbHIlM0QzZS01KSUwQSUwQS0lMjBkZXZpY2UlMjAlM0QlMjB0b3JjaC5kZXZpY2UoJTIyY3VkYSUyMiklMjBpZiUyMHRvcmNoLmN1ZGEuaXNfYXZhaWxhYmxlKCklMjBlbHNlJTIwdG9yY2guZGV2aWNlKCUyMmNwdSUyMiklMEEtJTIwbW9kZWwudG8oZGV2aWNlKSUwQSUwQSUyQiUyMHRyYWluX2RhdGFsb2FkZXIlMkMlMjBldmFsX2RhdGFsb2FkZXIlMkMlMjBtb2RlbCUyQyUyMG9wdGltaXplciUyMCUzRCUyMGFjY2VsZXJhdG9yLnByZXBhcmUoJTBBJTJCJTIwJTIwJTIwJTIwJTIwdHJhaW5fZGF0YWxvYWRlciUyQyUyMGV2YWxfZGF0YWxvYWRlciUyQyUyMG1vZGVsJTJDJTIwb3B0aW1pemVyJTBBJTJCJTIwKSUwQSUwQSUyMCUyMG51bV9lcG9jaHMlMjAlM0QlMjAzJTBBJTIwJTIwbnVtX3RyYWluaW5nX3N0ZXBzJTIwJTNEJTIwbnVtX2Vwb2NocyUyMColMjBsZW4odHJhaW5fZGF0YWxvYWRlciklMEElMjAlMjBscl9zY2hlZHVsZXIlMjAlM0QlMjBnZXRfc2NoZWR1bGVyKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMmxpbmVhciUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMG9wdGltaXplciUzRG9wdGltaXplciUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMG51bV93YXJtdXBfc3RlcHMlM0QwJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwbnVtX3RyYWluaW5nX3N0ZXBzJTNEbnVtX3RyYWluaW5nX3N0ZXBzJTBBJTIwJTIwKSUwQSUwQSUyMCUyMHByb2dyZXNzX2JhciUyMCUzRCUyMHRxZG0ocmFuZ2UobnVtX3RyYWluaW5nX3N0ZXBzKSklMEElMEElMjAlMjBtb2RlbC50cmFpbigpJTBBJTIwJTIwZm9yJTIwZXBvY2glMjBpbiUyMHJhbmdlKG51bV9lcG9jaHMpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwZm9yJTIwYmF0Y2glMjBpbiUyMHRyYWluX2RhdGFsb2FkZXIlM0ElMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYmF0Y2glMjAlM0QlMjAlN0JrJTNBJTIwdi50byhkZXZpY2UpJTIwZm9yJTIwayUyQyUyMHYlMjBpbiUyMGJhdGNoLml0ZW1zKCklN0QlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKipiYXRjaCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsb3NzJTIwJTNEJTIwb3V0cHV0cy5sb3NzJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxvc3MuYmFja3dhcmQoKSUwQSUyQiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFjY2VsZXJhdG9yLmJhY2t3YXJkKGxvc3MpJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwb3B0aW1pemVyLnN0ZXAoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxyX3NjaGVkdWxlci5zdGVwKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvcHRpbWl6ZXIuemVyb19ncmFkKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcm9ncmVzc19iYXIudXBkYXRlKDEp",highlighted:`<span class="hljs-addition">+ from accelerate import Accelerator</span>
from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler
<span class="hljs-addition">+ accelerator = Accelerator()</span>
model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)
optimizer = AdamW(model.parameters(), lr=3e-5)
<span class="hljs-deletion">- device = torch.device(&quot;cuda&quot;) if torch.cuda.is_available() else torch.device(&quot;cpu&quot;)</span>
<span class="hljs-deletion">- model.to(device)</span>
<span class="hljs-addition">+ train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(</span>
<span class="hljs-addition">+ train_dataloader, eval_dataloader, model, optimizer</span>
<span class="hljs-addition">+ )</span>
num_epochs = 3
num_training_steps = num_epochs * len(train_dataloader)
lr_scheduler = get_scheduler(
&quot;linear&quot;,
optimizer=optimizer,
num_warmup_steps=0,
num_training_steps=num_training_steps
)
progress_bar = tqdm(range(num_training_steps))
model.train()
for epoch in range(num_epochs):
for batch in train_dataloader:
<span class="hljs-deletion">- batch = {k: v.to(device) for k, v in batch.items()}</span>
outputs = model(**batch)
loss = outputs.loss
<span class="hljs-deletion">- loss.backward()</span>
<span class="hljs-addition">+ accelerator.backward(loss)</span>
optimizer.step()
lr_scheduler.step()
optimizer.zero_grad()
progress_bar.update(1)`,wrap:!1}}),G=new F({props:{title:"प्रशिक्षण",local:"परशकषण",headingTag:"h2"}}),Y=new F({props:{title:"स्क्रिप्ट के साथ प्रशिक्षण",local:"सकरपट-क-सथ-परशकषण",headingTag:"h3"}}),_=new j({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZw==",highlighted:"accelerate config",wrap:!1}}),N=new j({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluLnB5",highlighted:"accelerate launch train.py",wrap:!1}}),V=new F({props:{title:"नोटबुक के साथ प्रशिक्षण",local:"नटबक-क-सथ-परशकषण",headingTag:"h3"}}),x=new j({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUlMjBpbXBvcnQlMjBub3RlYm9va19sYXVuY2hlciUwQSUwQW5vdGVib29rX2xhdW5jaGVyKHRyYWluaW5nX2Z1bmN0aW9uKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> accelerate <span class="hljs-keyword">import</span> notebook_launcher
<span class="hljs-meta">&gt;&gt;&gt; </span>notebook_launcher(training_function)`,wrap:!1}}),E=new Fe({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/hi/accelerate.md"}}),{c(){J=y("meta"),z=s(),H=y("p"),K=s(),p(T.$$.fragment),L=s(),d=y("p"),d.innerHTML=Ie,P=s(),p(U.$$.fragment),q=s(),f=y("p"),f.textContent=ue,D=s(),p(b.$$.fragment),O=s(),$=y("p"),$.innerHTML=Ce,ee=s(),p(h.$$.fragment),le=s(),p(I.$$.fragment),te=s(),u=y("p"),u.innerHTML=Be,ae=s(),p(C.$$.fragment),se=s(),p(B.$$.fragment),ne=s(),Z=y("p"),Z.innerHTML=Ze,pe=s(),p(g.$$.fragment),Me=s(),A=y("p"),A.textContent=ge,ie=s(),p(W.$$.fragment),ce=s(),p(G.$$.fragment),me=s(),X=y("p"),X.textContent=Ae,re=s(),p(Y.$$.fragment),ye=s(),v=y("p"),v.textContent=We,we=s(),p(_.$$.fragment),oe=s(),k=y("p"),k.textContent=Ge,Je=s(),p(N.$$.fragment),je=s(),p(V.$$.fragment),Te=s(),R=y("p"),R.innerHTML=Xe,de=s(),p(x.$$.fragment),Ue=s(),Q=y("p"),Q.innerHTML=Ye,fe=s(),p(E.$$.fragment),be=s(),S=y("p"),this.h()},l(e){const l=Qe("svelte-u9bgzb",document.head);J=w(l,"META",{name:!0,content:!0}),l.forEach(t),z=n(e),H=w(e,"P",{}),ve(H).forEach(t),K=n(e),M(T.$$.fragment,e),L=n(e),d=w(e,"P",{"data-svelte-h":!0}),o(d)!=="svelte-1uu5k1b"&&(d.innerHTML=Ie),P=n(e),M(U.$$.fragment,e),q=n(e),f=w(e,"P",{"data-svelte-h":!0}),o(f)!=="svelte-8xekpb"&&(f.textContent=ue),D=n(e),M(b.$$.fragment,e),O=n(e),$=w(e,"P",{"data-svelte-h":!0}),o($)!=="svelte-1s4ede8"&&($.innerHTML=Ce),ee=n(e),M(h.$$.fragment,e),le=n(e),M(I.$$.fragment,e),te=n(e),u=w(e,"P",{"data-svelte-h":!0}),o(u)!=="svelte-clerjr"&&(u.innerHTML=Be),ae=n(e),M(C.$$.fragment,e),se=n(e),M(B.$$.fragment,e),ne=n(e),Z=w(e,"P",{"data-svelte-h":!0}),o(Z)!=="svelte-xv9n4g"&&(Z.innerHTML=Ze),pe=n(e),M(g.$$.fragment,e),Me=n(e),A=w(e,"P",{"data-svelte-h":!0}),o(A)!=="svelte-xtud3m"&&(A.textContent=ge),ie=n(e),M(W.$$.fragment,e),ce=n(e),M(G.$$.fragment,e),me=n(e),X=w(e,"P",{"data-svelte-h":!0}),o(X)!=="svelte-q45mqi"&&(X.textContent=Ae),re=n(e),M(Y.$$.fragment,e),ye=n(e),v=w(e,"P",{"data-svelte-h":!0}),o(v)!=="svelte-qoa6o3"&&(v.textContent=We),we=n(e),M(_.$$.fragment,e),oe=n(e),k=w(e,"P",{"data-svelte-h":!0}),o(k)!=="svelte-1s7odta"&&(k.textContent=Ge),Je=n(e),M(N.$$.fragment,e),je=n(e),M(V.$$.fragment,e),Te=n(e),R=w(e,"P",{"data-svelte-h":!0}),o(R)!=="svelte-1jej053"&&(R.innerHTML=Xe),de=n(e),M(x.$$.fragment,e),Ue=n(e),Q=w(e,"P",{"data-svelte-h":!0}),o(Q)!=="svelte-1r04btg"&&(Q.innerHTML=Ye),fe=n(e),M(E.$$.fragment,e),be=n(e),S=w(e,"P",{}),ve(S).forEach(t),this.h()},h(){_e(J,"name","hf:doc:metadata"),_e(J,"content",Se)},m(e,l){Ee(document.head,J),a(e,z,l),a(e,H,l),a(e,K,l),i(T,e,l),a(e,L,l),a(e,d,l),a(e,P,l),i(U,e,l),a(e,q,l),a(e,f,l),a(e,D,l),i(b,e,l),a(e,O,l),a(e,$,l),a(e,ee,l),i(h,e,l),a(e,le,l),i(I,e,l),a(e,te,l),a(e,u,l),a(e,ae,l),i(C,e,l),a(e,se,l),i(B,e,l),a(e,ne,l),a(e,Z,l),a(e,pe,l),i(g,e,l),a(e,Me,l),a(e,A,l),a(e,ie,l),i(W,e,l),a(e,ce,l),i(G,e,l),a(e,me,l),a(e,X,l),a(e,re,l),i(Y,e,l),a(e,ye,l),a(e,v,l),a(e,we,l),i(_,e,l),a(e,oe,l),a(e,k,l),a(e,Je,l),i(N,e,l),a(e,je,l),i(V,e,l),a(e,Te,l),a(e,R,l),a(e,de,l),i(x,e,l),a(e,Ue,l),a(e,Q,l),a(e,fe,l),i(E,e,l),a(e,be,l),a(e,S,l),$e=!0},p:Ne,i(e){$e||(c(T.$$.fragment,e),c(U.$$.fragment,e),c(b.$$.fragment,e),c(h.$$.fragment,e),c(I.$$.fragment,e),c(C.$$.fragment,e),c(B.$$.fragment,e),c(g.$$.fragment,e),c(W.$$.fragment,e),c(G.$$.fragment,e),c(Y.$$.fragment,e),c(_.$$.fragment,e),c(N.$$.fragment,e),c(V.$$.fragment,e),c(x.$$.fragment,e),c(E.$$.fragment,e),$e=!0)},o(e){m(T.$$.fragment,e),m(U.$$.fragment,e),m(b.$$.fragment,e),m(h.$$.fragment,e),m(I.$$.fragment,e),m(C.$$.fragment,e),m(B.$$.fragment,e),m(g.$$.fragment,e),m(W.$$.fragment,e),m(G.$$.fragment,e),m(Y.$$.fragment,e),m(_.$$.fragment,e),m(N.$$.fragment,e),m(V.$$.fragment,e),m(x.$$.fragment,e),m(E.$$.fragment,e),$e=!1},d(e){e&&(t(z),t(H),t(K),t(L),t(d),t(P),t(q),t(f),t(D),t(O),t($),t(ee),t(le),t(te),t(u),t(ae),t(se),t(ne),t(Z),t(pe),t(Me),t(A),t(ie),t(ce),t(me),t(X),t(re),t(ye),t(v),t(we),t(oe),t(k),t(Je),t(je),t(Te),t(R),t(de),t(Ue),t(Q),t(fe),t(be),t(S)),t(J),r(T,e),r(U,e),r(b,e),r(h,e),r(I,e),r(C,e),r(B,e),r(g,e),r(W,e),r(G,e),r(Y,e),r(_,e),r(N,e),r(V,e),r(x,e),r(E,e)}}}const Se='{"title":"वितरित प्रशिक्षण के साथ 🤗 Accelerate","local":"वतरत-परशकषण-क-सथ--accelerate","sections":[{"title":"सेटअप","local":"सटअप","sections":[],"depth":2},{"title":"तेजी लाने की तैयारी","local":"तज-लन-क-तयर","sections":[],"depth":2},{"title":"बैकवर्ड","local":"बकवरड","sections":[],"depth":2},{"title":"प्रशिक्षण","local":"परशकषण","sections":[{"title":"स्क्रिप्ट के साथ प्रशिक्षण","local":"सकरपट-क-सथ-परशकषण","sections":[],"depth":3},{"title":"नोटबुक के साथ प्रशिक्षण","local":"नटबक-क-सथ-परशकषण","sections":[],"depth":3}],"depth":2}],"depth":1}';function ze(he){return Ve(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class qe extends Re{constructor(J){super(),xe(this,J,ze,He,ke,{})}}export{qe as component};

Xet Storage Details

Size:
18.4 kB
·
Xet hash:
eb7e62b47bbb9332ab4f8c59351b8b4d822f873dac153a2384f715448a82a00a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.