Buckets:

rtrm's picture
download
raw
57.9 kB
import{s as Qe,o as Se,n as ms}from"../chunks/scheduler.5eb9d175.js";import{S as qe,i as Ae,g as j,s as o,r as f,A as Le,h as g,f as l,c as m,j as Ee,u as y,x as T,k as ze,y as Pe,a,v as u,d as $,t as b,w as d,m as De,n as Ke}from"../chunks/index.fcdcb606.js";import{T as we}from"../chunks/Tip.9272e506.js";import{Y as Ye}from"../chunks/Youtube.398fab2b.js";import{C as R}from"../chunks/CodeBlock.53177c36.js";import{D as Oe}from"../chunks/DocNotebookDropdown.1c391114.js";import{F as Te,M as zs}from"../chunks/Markdown.927e6a50.js";import{H as Es,E as st}from"../chunks/index.babee552.js";function et(k){let t,c='لمشاهدة جميع البنى والنسخ المتوافقة مع هذه المهمة، نوصي بالتحقق من <a href="https://huggingface.co/tasks/translation" rel="nofollow">صفحة المهمة</a>.';return{c(){t=j("p"),t.innerHTML=c},l(e){t=g(e,"P",{"data-svelte-h":!0}),T(t)!=="svelte-sem83l"&&(t.innerHTML=c)},m(e,i){a(e,t,i)},p:ms,d(e){e&&l(t)}}}function tt(k){let t,c;return t=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERhdGFDb2xsYXRvckZvclNlcTJTZXElMEElMEFkYXRhX2NvbGxhdG9yJTIwJTNEJTIwRGF0YUNvbGxhdG9yRm9yU2VxMlNlcSh0b2tlbml6ZXIlM0R0b2tlbml6ZXIlMkMlMjBtb2RlbCUzRGNoZWNrcG9pbnQp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DataCollatorForSeq2Seq
<span class="hljs-meta">&gt;&gt;&gt; </span>data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=checkpoint)`,wrap:!1}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p:ms,i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function lt(k){let t,c;return t=new zs({props:{$$slots:{default:[tt]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function at(k){let t,c;return t=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERhdGFDb2xsYXRvckZvclNlcTJTZXElMEElMEFkYXRhX2NvbGxhdG9yJTIwJTNEJTIwRGF0YUNvbGxhdG9yRm9yU2VxMlNlcSh0b2tlbml6ZXIlM0R0b2tlbml6ZXIlMkMlMjBtb2RlbCUzRGNoZWNrcG9pbnQlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnRmJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DataCollatorForSeq2Seq
<span class="hljs-meta">&gt;&gt;&gt; </span>data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=checkpoint, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)`,wrap:!1}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p:ms,i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function nt(k){let t,c;return t=new zs({props:{$$slots:{default:[at]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function pt(k){let t,c='إذا لم تكن معتادًا على ضبط دقيق نموذج باستخدام <code>Trainer</code>, فألقِ نظرة على البرنامج التعليمي الأساسي <a href="../training#train-with-pytorch-trainer">هنا</a>!';return{c(){t=j("p"),t.innerHTML=c},l(e){t=g(e,"P",{"data-svelte-h":!0}),T(t)!=="svelte-sj248x"&&(t.innerHTML=c)},m(e,i){a(e,t,i)},p:ms,d(e){e&&l(t)}}}function rt(k){let t,c,e,i="أنت جاهز لبدء تدريب نموذجك الآن! حمّل T5 باستخدام <code>AutoModelForSeq2SeqLM</code>:",h,Z,B,X,C="في هذه المرحلة، تبقى ثلاث خطوات فقط:",W,_,F="<li>حدد مُعاملات للتدريب في <code>Seq2SeqTrainingArguments</code>. المُعامل الوحيدة المطلوبة هي <code>output_dir</code> التي تحدد مكان حفظ النموذج الخاص بك. ستقوم بدفع هذا النموذج إلى Hub عن طريق تعيين <code>push_to_hub=True</code> (يجب عليك تسجيل الدخول إلى Hugging Face لتحميل نموذجك). في نهاية كل حقبة، سيقوم <code>Trainer</code> بتقييم مقياس SacreBLEU وحفظ نقطة تدقيق التدريب.</li> <li>مرر مُعاملات التدريب إلى <code>Seq2SeqTrainer</code> جنبًا إلى جنب مع النموذج ومجموعة البيانات والمعالج اللغوي وجامع البيانات ووظيفة <code>compute_metrics</code>.</li> <li>نفّذ <code>train()</code> لضبط نموذجك.</li>",G,J,x,r,U="بمجرد اكتمال التدريب، شارك نموذجك مع Hub باستخدام طريقة <code>push_to_hub()</code> حتى يتمكن الجميع من استخدام نموذجك:",I,H,V;return t=new we({props:{$$slots:{default:[pt]},$$scope:{ctx:k}}}),Z=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclNlcTJTZXFMTSUyQyUyMFNlcTJTZXFUcmFpbmluZ0FyZ3VtZW50cyUyQyUyMFNlcTJTZXFUcmFpbmVyJTBBJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JTZXEyU2VxTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSeq2SeqLM, Seq2SeqTrainingArguments, Seq2SeqTrainer
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForSeq2SeqLM.from_pretrained(checkpoint)`,wrap:!1}}),J=new R({props:{code:"dHJhaW5pbmdfYXJncyUyMCUzRCUyMFNlcTJTZXFUcmFpbmluZ0FyZ3VtZW50cyglMEElMjAlMjAlMjAlMjBvdXRwdXRfZGlyJTNEJTIybXlfYXdlc29tZV9vcHVzX2Jvb2tzX21vZGVsJTIyJTJDJTBBJTIwJTIwJTIwJTIwZXZhbF9zdHJhdGVneSUzRCUyMmVwb2NoJTIyJTJDJTBBJTIwJTIwJTIwJTIwbGVhcm5pbmdfcmF0ZSUzRDJlLTUlMkMlMEElMjAlMjAlMjAlMjBwZXJfZGV2aWNlX3RyYWluX2JhdGNoX3NpemUlM0QxNiUyQyUwQSUyMCUyMCUyMCUyMHBlcl9kZXZpY2VfZXZhbF9iYXRjaF9zaXplJTNEMTYlMkMlMEElMjAlMjAlMjAlMjB3ZWlnaHRfZGVjYXklM0QwLjAxJTJDJTBBJTIwJTIwJTIwJTIwc2F2ZV90b3RhbF9saW1pdCUzRDMlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fZXBvY2hzJTNEMiUyQyUwQSUyMCUyMCUyMCUyMHByZWRpY3Rfd2l0aF9nZW5lcmF0ZSUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBmcDE2JTNEVHJ1ZSUyQyUyMCUyM2NoYW5nZSUyMHRvJTIwYmYxNiUzRFRydWUlMjBmb3IlMjBYUFUlMEElMjAlMjAlMjAlMjBwdXNoX3RvX2h1YiUzRFRydWUlMkMlMEEpJTBBJTBBdHJhaW5lciUyMCUzRCUyMFNlcTJTZXFUcmFpbmVyKCUwQSUyMCUyMCUyMCUyMG1vZGVsJTNEbW9kZWwlMkMlMEElMjAlMjAlMjAlMjBhcmdzJTNEdHJhaW5pbmdfYXJncyUyQyUwQSUyMCUyMCUyMCUyMHRyYWluX2RhdGFzZXQlM0R0b2tlbml6ZWRfYm9va3MlNUIlMjJ0cmFpbiUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMGV2YWxfZGF0YXNldCUzRHRva2VuaXplZF9ib29rcyU1QiUyMnRlc3QlMjIlNUQlMkMlMEElMjAlMjAlMjAlMjBwcm9jZXNzaW5nX2NsYXNzJTNEdG9rZW5pemVyJTJDJTBBJTIwJTIwJTIwJTIwZGF0YV9jb2xsYXRvciUzRGRhdGFfY29sbGF0b3IlMkMlMEElMjAlMjAlMjAlMjBjb21wdXRlX21ldHJpY3MlM0Rjb21wdXRlX21ldHJpY3MlMkMlMEEpJTBBJTBBdHJhaW5lci50cmFpbigp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>training_args = Seq2SeqTrainingArguments(
<span class="hljs-meta">... </span> output_dir=<span class="hljs-string">&quot;my_awesome_opus_books_model&quot;</span>,
<span class="hljs-meta">... </span> eval_strategy=<span class="hljs-string">&quot;epoch&quot;</span>,
<span class="hljs-meta">... </span> learning_rate=<span class="hljs-number">2e-5</span>,
<span class="hljs-meta">... </span> per_device_train_batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> per_device_eval_batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> weight_decay=<span class="hljs-number">0.01</span>,
<span class="hljs-meta">... </span> save_total_limit=<span class="hljs-number">3</span>,
<span class="hljs-meta">... </span> num_train_epochs=<span class="hljs-number">2</span>,
<span class="hljs-meta">... </span> predict_with_generate=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span> fp16=<span class="hljs-literal">True</span>, <span class="hljs-comment">#change to bf16=True for XPU</span>
<span class="hljs-meta">... </span> push_to_hub=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>trainer = Seq2SeqTrainer(
<span class="hljs-meta">... </span> model=model,
<span class="hljs-meta">... </span> args=training_args,
<span class="hljs-meta">... </span> train_dataset=tokenized_books[<span class="hljs-string">&quot;train&quot;</span>],
<span class="hljs-meta">... </span> eval_dataset=tokenized_books[<span class="hljs-string">&quot;test&quot;</span>],
<span class="hljs-meta">... </span> processing_class=tokenizer,
<span class="hljs-meta">... </span> data_collator=data_collator,
<span class="hljs-meta">... </span> compute_metrics=compute_metrics,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.train()`,wrap:!1}}),H=new R({props:{code:"dHJhaW5lci5wdXNoX3RvX2h1Yigp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.push_to_hub()',wrap:!1}}),{c(){f(t.$$.fragment),c=o(),e=j("p"),e.innerHTML=i,h=o(),f(Z.$$.fragment),B=o(),X=j("p"),X.textContent=C,W=o(),_=j("ol"),_.innerHTML=F,G=o(),f(J.$$.fragment),x=o(),r=j("p"),r.innerHTML=U,I=o(),f(H.$$.fragment)},l(M){y(t.$$.fragment,M),c=m(M),e=g(M,"P",{"data-svelte-h":!0}),T(e)!=="svelte-o5vrcd"&&(e.innerHTML=i),h=m(M),y(Z.$$.fragment,M),B=m(M),X=g(M,"P",{"data-svelte-h":!0}),T(X)!=="svelte-1taxt6y"&&(X.textContent=C),W=m(M),_=g(M,"OL",{"data-svelte-h":!0}),T(_)!=="svelte-62dk4w"&&(_.innerHTML=F),G=m(M),y(J.$$.fragment,M),x=m(M),r=g(M,"P",{"data-svelte-h":!0}),T(r)!=="svelte-1tbeblz"&&(r.innerHTML=U),I=m(M),y(H.$$.fragment,M)},m(M,v){u(t,M,v),a(M,c,v),a(M,e,v),a(M,h,v),u(Z,M,v),a(M,B,v),a(M,X,v),a(M,W,v),a(M,_,v),a(M,G,v),u(J,M,v),a(M,x,v),a(M,r,v),a(M,I,v),u(H,M,v),V=!0},p(M,v){const N={};v&2&&(N.$$scope={dirty:v,ctx:M}),t.$set(N)},i(M){V||($(t.$$.fragment,M),$(Z.$$.fragment,M),$(J.$$.fragment,M),$(H.$$.fragment,M),V=!0)},o(M){b(t.$$.fragment,M),b(Z.$$.fragment,M),b(J.$$.fragment,M),b(H.$$.fragment,M),V=!1},d(M){M&&(l(c),l(e),l(h),l(B),l(X),l(W),l(_),l(G),l(x),l(r),l(I)),d(t,M),d(Z,M),d(J,M),d(H,M)}}}function ot(k){let t,c;return t=new zs({props:{$$slots:{default:[rt]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function mt(k){let t,c='إذا لم تكن معتادًا على ضبط نموذج باستخدام Keras، فألق نظرة على البرنامج التعليمي الأساسي <a href="../training#train-a-tensorflow-model-with-keras">هنا</a>!';return{c(){t=j("p"),t.innerHTML=c},l(e){t=g(e,"P",{"data-svelte-h":!0}),T(t)!=="svelte-1awyf5t"&&(t.innerHTML=c)},m(e,i){a(e,t,i)},p:ms,d(e){e&&l(t)}}}function ct(k){let t,c,e,i,h,Z="ثم يمكنك تحميل T5 باستخدام <code>TFAutoModelForSeq2SeqLM</code>:",B,X,C,W,_="حوّل مجموعات البيانات الخاصة بك إلى تنسيق <code>tf.data.Dataset</code> باستخدام <code>prepare_tf_dataset()</code>:",F,G,J,x,r='قم بتكوين النموذج للتدريب باستخدام <a href="https://keras.io/api/models/model_training_apis/#compile-method" rel="nofollow"><code>compile</code></a>. لاحظ أن جميع نماذج Transformers تحتوي على دالة خسارة ذات صلة بالمهمة بشكل افتراضي، لذلك لا تحتاج إلى تحديد واحدة إلا إذا كنت ترغب في ذلك:',U,I,H,V,M='آخر شيئين يجب إعدادهما قبل بدء التدريب هما حساب مقياس SacreBLEU من التوقعات، وتوفير طريقة لدفع نموذجك إلى Hub. يتم كلاهما باستخدام <a href="../main_classes/keras_callbacks">استدعاءات Keras</a>.',v,N,cs="مرر دالة <code>compute_metrics</code> الخاصة بك إلى <code>KerasMetricCallback</code>:",E,z,Y,es,is="حدد مكان دفع نموذجك ومعالجك اللغوي في <code>PushToHubCallback</code>:",Q,S,q,A,ts="ثم اجمع استدعاءاتك معًا:",Ms,L,P,D,ls='أخيرًا، أنت جاهز لبدء تدريب نموذجك! اتصل بـ <a href="https://keras.io/api/models/model_training_apis/#fit-method" rel="nofollow"><code>fit</code></a> مع مجموعات بيانات التدريب والتحقق من الصحة وعدد الحقب واستدعاءاتك لضبط النموذج:',fs,K,O,ss,as="بمجرد اكتمال التدريب، يتم تحميل نموذجك تلقائيًا إلى Hub حتى يتمكن الجميع من استخدامه!",ys;return t=new we({props:{$$slots:{default:[mt]},$$scope:{ctx:k}}}),e=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEFkYW1XZWlnaHREZWNheSUwQSUwQW9wdGltaXplciUyMCUzRCUyMEFkYW1XZWlnaHREZWNheShsZWFybmluZ19yYXRlJTNEMmUtNSUyQyUyMHdlaWdodF9kZWNheV9yYXRlJTNEMC4wMSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AdamWeightDecay
<span class="hljs-meta">&gt;&gt;&gt; </span>optimizer = AdamWeightDecay(learning_rate=<span class="hljs-number">2e-5</span>, weight_decay_rate=<span class="hljs-number">0.01</span>)`,wrap:!1}}),X=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VxMlNlcUxNJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvclNlcTJTZXFMTS5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSeq2SeqLM
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForSeq2SeqLM.from_pretrained(checkpoint)`,wrap:!1}}),G=new R({props:{code:"dGZfdHJhaW5fc2V0JTIwJTNEJTIwbW9kZWwucHJlcGFyZV90Zl9kYXRhc2V0KCUwQSUyMCUyMCUyMCUyMHRva2VuaXplZF9ib29rcyU1QiUyMnRyYWluJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwc2h1ZmZsZSUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBiYXRjaF9zaXplJTNEMTYlMkMlMEElMjAlMjAlMjAlMjBjb2xsYXRlX2ZuJTNEZGF0YV9jb2xsYXRvciUyQyUwQSklMEElMEF0Zl90ZXN0X3NldCUyMCUzRCUyMG1vZGVsLnByZXBhcmVfdGZfZGF0YXNldCglMEElMjAlMjAlMjAlMjB0b2tlbml6ZWRfYm9va3MlNUIlMjJ0ZXN0JTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwc2h1ZmZsZSUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwYmF0Y2hfc2l6ZSUzRDE2JTJDJTBBJTIwJTIwJTIwJTIwY29sbGF0ZV9mbiUzRGRhdGFfY29sbGF0b3IlMkMlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>tf_train_set = model.prepare_tf_dataset(
<span class="hljs-meta">... </span> tokenized_books[<span class="hljs-string">&quot;train&quot;</span>],
<span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span> batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> collate_fn=data_collator,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>tf_test_set = model.prepare_tf_dataset(
<span class="hljs-meta">... </span> tokenized_books[<span class="hljs-string">&quot;test&quot;</span>],
<span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">False</span>,
<span class="hljs-meta">... </span> batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> collate_fn=data_collator,
<span class="hljs-meta">... </span>)`,wrap:!1}}),I=new R({props:{code:"aW1wb3J0JTIwdGVuc29yZmxvdyUyMGFzJTIwdGYlMEElMEFtb2RlbC5jb21waWxlKG9wdGltaXplciUzRG9wdGltaXplciklMjAlMjAlMjMlMjBObyUyMGxvc3MlMjBhcmd1bWVudCE=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf
<span class="hljs-meta">&gt;&gt;&gt; </span>model.<span class="hljs-built_in">compile</span>(optimizer=optimizer) <span class="hljs-comment"># No loss argument!</span>`,wrap:!1}}),z=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5rZXJhc19jYWxsYmFja3MlMjBpbXBvcnQlMjBLZXJhc01ldHJpY0NhbGxiYWNrJTBBJTBBbWV0cmljX2NhbGxiYWNrJTIwJTNEJTIwS2VyYXNNZXRyaWNDYWxsYmFjayhtZXRyaWNfZm4lM0Rjb21wdXRlX21ldHJpY3MlMkMlMjBldmFsX2RhdGFzZXQlM0R0Zl90ZXN0X3NldCk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers.keras_callbacks <span class="hljs-keyword">import</span> KerasMetricCallback
<span class="hljs-meta">&gt;&gt;&gt; </span>metric_callback = KerasMetricCallback(metric_fn=compute_metrics, eval_dataset=tf_test_set)`,wrap:!1}}),S=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5rZXJhc19jYWxsYmFja3MlMjBpbXBvcnQlMjBQdXNoVG9IdWJDYWxsYmFjayUwQSUwQXB1c2hfdG9faHViX2NhbGxiYWNrJTIwJTNEJTIwUHVzaFRvSHViQ2FsbGJhY2soJTBBJTIwJTIwJTIwJTIwb3V0cHV0X2RpciUzRCUyMm15X2F3ZXNvbWVfb3B1c19ib29rc19tb2RlbCUyMiUyQyUwQSUyMCUyMCUyMCUyMHRva2VuaXplciUzRHRva2VuaXplciUyQyUwQSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers.keras_callbacks <span class="hljs-keyword">import</span> PushToHubCallback
<span class="hljs-meta">&gt;&gt;&gt; </span>push_to_hub_callback = PushToHubCallback(
<span class="hljs-meta">... </span> output_dir=<span class="hljs-string">&quot;my_awesome_opus_books_model&quot;</span>,
<span class="hljs-meta">... </span> tokenizer=tokenizer,
<span class="hljs-meta">... </span>)`,wrap:!1}}),L=new R({props:{code:"Y2FsbGJhY2tzJTIwJTNEJTIwJTVCbWV0cmljX2NhbGxiYWNrJTJDJTIwcHVzaF90b19odWJfY2FsbGJhY2slNUQ=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>callbacks = [metric_callback, push_to_hub_callback]',wrap:!1}}),K=new R({props:{code:"bW9kZWwuZml0KHglM0R0Zl90cmFpbl9zZXQlMkMlMjB2YWxpZGF0aW9uX2RhdGElM0R0Zl90ZXN0X3NldCUyQyUyMGVwb2NocyUzRDMlMkMlMjBjYWxsYmFja3MlM0RjYWxsYmFja3Mp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>model.fit(x=tf_train_set, validation_data=tf_test_set, epochs=<span class="hljs-number">3</span>, callbacks=callbacks)',wrap:!1}}),{c(){f(t.$$.fragment),c=De(`
لضبط نموذج في TensorFlow، ابدأ بإعداد دالة مُحسِّن وجدول معدل تعلم وبعض المعلمات الفائقة للتدريب:
`),f(e.$$.fragment),i=o(),h=j("p"),h.innerHTML=Z,B=o(),f(X.$$.fragment),C=o(),W=j("p"),W.innerHTML=_,F=o(),f(G.$$.fragment),J=o(),x=j("p"),x.innerHTML=r,U=o(),f(I.$$.fragment),H=o(),V=j("p"),V.innerHTML=M,v=o(),N=j("p"),N.innerHTML=cs,E=o(),f(z.$$.fragment),Y=o(),es=j("p"),es.innerHTML=is,Q=o(),f(S.$$.fragment),q=o(),A=j("p"),A.textContent=ts,Ms=o(),f(L.$$.fragment),P=o(),D=j("p"),D.innerHTML=ls,fs=o(),f(K.$$.fragment),O=o(),ss=j("p"),ss.textContent=as},l(p){y(t.$$.fragment,p),c=Ke(p,`
لضبط نموذج في TensorFlow، ابدأ بإعداد دالة مُحسِّن وجدول معدل تعلم وبعض المعلمات الفائقة للتدريب:
`),y(e.$$.fragment,p),i=m(p),h=g(p,"P",{"data-svelte-h":!0}),T(h)!=="svelte-jomjos"&&(h.innerHTML=Z),B=m(p),y(X.$$.fragment,p),C=m(p),W=g(p,"P",{"data-svelte-h":!0}),T(W)!=="svelte-tlcvmw"&&(W.innerHTML=_),F=m(p),y(G.$$.fragment,p),J=m(p),x=g(p,"P",{"data-svelte-h":!0}),T(x)!=="svelte-j3u6la"&&(x.innerHTML=r),U=m(p),y(I.$$.fragment,p),H=m(p),V=g(p,"P",{"data-svelte-h":!0}),T(V)!=="svelte-yfp5je"&&(V.innerHTML=M),v=m(p),N=g(p,"P",{"data-svelte-h":!0}),T(N)!=="svelte-1opb8y1"&&(N.innerHTML=cs),E=m(p),y(z.$$.fragment,p),Y=m(p),es=g(p,"P",{"data-svelte-h":!0}),T(es)!=="svelte-19wdw4t"&&(es.innerHTML=is),Q=m(p),y(S.$$.fragment,p),q=m(p),A=g(p,"P",{"data-svelte-h":!0}),T(A)!=="svelte-1g9bpud"&&(A.textContent=ts),Ms=m(p),y(L.$$.fragment,p),P=m(p),D=g(p,"P",{"data-svelte-h":!0}),T(D)!=="svelte-1wu45w4"&&(D.innerHTML=ls),fs=m(p),y(K.$$.fragment,p),O=m(p),ss=g(p,"P",{"data-svelte-h":!0}),T(ss)!=="svelte-2i53kw"&&(ss.textContent=as)},m(p,w){u(t,p,w),a(p,c,w),u(e,p,w),a(p,i,w),a(p,h,w),a(p,B,w),u(X,p,w),a(p,C,w),a(p,W,w),a(p,F,w),u(G,p,w),a(p,J,w),a(p,x,w),a(p,U,w),u(I,p,w),a(p,H,w),a(p,V,w),a(p,v,w),a(p,N,w),a(p,E,w),u(z,p,w),a(p,Y,w),a(p,es,w),a(p,Q,w),u(S,p,w),a(p,q,w),a(p,A,w),a(p,Ms,w),u(L,p,w),a(p,P,w),a(p,D,w),a(p,fs,w),u(K,p,w),a(p,O,w),a(p,ss,w),ys=!0},p(p,w){const us={};w&2&&(us.$$scope={dirty:w,ctx:p}),t.$set(us)},i(p){ys||($(t.$$.fragment,p),$(e.$$.fragment,p),$(X.$$.fragment,p),$(G.$$.fragment,p),$(I.$$.fragment,p),$(z.$$.fragment,p),$(S.$$.fragment,p),$(L.$$.fragment,p),$(K.$$.fragment,p),ys=!0)},o(p){b(t.$$.fragment,p),b(e.$$.fragment,p),b(X.$$.fragment,p),b(G.$$.fragment,p),b(I.$$.fragment,p),b(z.$$.fragment,p),b(S.$$.fragment,p),b(L.$$.fragment,p),b(K.$$.fragment,p),ys=!1},d(p){p&&(l(c),l(i),l(h),l(B),l(C),l(W),l(F),l(J),l(x),l(U),l(H),l(V),l(v),l(N),l(E),l(Y),l(es),l(Q),l(q),l(A),l(Ms),l(P),l(D),l(fs),l(O),l(ss)),d(t,p),d(e,p),d(X,p),d(G,p),d(I,p),d(z,p),d(S,p),d(L,p),d(K,p)}}}function it(k){let t,c;return t=new zs({props:{$$slots:{default:[ct]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function Mt(k){let t,c=`للحصول على مثال أكثر تعمقًا لكيفية ضبط نموذج للترجمة، ألق نظرة على <a href="https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/translation.ipynb" rel="nofollow">دفتر ملاحظات PyTorch</a> المقابل
أو <a href="https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/translation-tf.ipynb" rel="nofollow">دفتر ملاحظات TensorFlow</a>.`;return{c(){t=j("p"),t.innerHTML=c},l(e){t=g(e,"P",{"data-svelte-h":!0}),T(t)!=="svelte-1qr3o5v"&&(t.innerHTML=c)},m(e,i){a(e,t,i)},p:ms,d(e){e&&l(t)}}}function ft(k){let t,c="قم بتحويل النص إلى رموز وإرجاع <code>input_ids</code> كموترات PyTorch:",e,i,h,Z,B='استخدم الدالة <code>generate()</code> لإنشاء الترجمة. لمزيد من التفاصيل حول استراتيجيات توليد النصوص المختلفة والمعلمات للتحكم في التوليد، تحقق من واجهة برمجة تطبيقات <a href="../main_classes/text_generation">توليد النصوص</a>.',X,C,W,_,F="فك تشفير معرفات الرموز المولدة مرة أخرى إلى نص:",G,J,x;return i=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJ1c2VybmFtZSUyRm15X2F3ZXNvbWVfb3B1c19ib29rc19tb2RlbCUyMiklMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIodGV4dCUyQyUyMHJldHVybl90ZW5zb3JzJTNEJTIycHQlMjIpLmlucHV0X2lkcw==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;username/my_awesome_opus_books_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(text, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>).input_ids`,wrap:!1}}),C=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclNlcTJTZXFMTSUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yU2VxMlNlcUxNLmZyb21fcHJldHJhaW5lZCglMjJ1c2VybmFtZSUyRm15X2F3ZXNvbWVfb3B1c19ib29rc19tb2RlbCUyMiklMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwuZ2VuZXJhdGUoaW5wdXRzJTJDJTIwbWF4X25ld190b2tlbnMlM0Q0MCUyQyUyMGRvX3NhbXBsZSUzRFRydWUlMkMlMjB0b3BfayUzRDMwJTJDJTIwdG9wX3AlM0QwLjk1KQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSeq2SeqLM
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForSeq2SeqLM.from_pretrained(<span class="hljs-string">&quot;username/my_awesome_opus_books_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model.generate(inputs, max_new_tokens=<span class="hljs-number">40</span>, do_sample=<span class="hljs-literal">True</span>, top_k=<span class="hljs-number">30</span>, top_p=<span class="hljs-number">0.95</span>)`,wrap:!1}}),J=new R({props:{code:"dG9rZW5pemVyLmRlY29kZShvdXRwdXRzJTVCMCU1RCUyQyUyMHNraXBfc3BlY2lhbF90b2tlbnMlM0RUcnVlKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(outputs[<span class="hljs-number">0</span>], skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-string">&#x27;Les lignées partagent des ressources avec des bactéries enfixant l&#x27;</span>azote.<span class="hljs-string">&#x27;</span>`,wrap:!1}}),{c(){t=j("p"),t.innerHTML=c,e=o(),f(i.$$.fragment),h=o(),Z=j("p"),Z.innerHTML=B,X=o(),f(C.$$.fragment),W=o(),_=j("p"),_.textContent=F,G=o(),f(J.$$.fragment)},l(r){t=g(r,"P",{"data-svelte-h":!0}),T(t)!=="svelte-modqdz"&&(t.innerHTML=c),e=m(r),y(i.$$.fragment,r),h=m(r),Z=g(r,"P",{"data-svelte-h":!0}),T(Z)!=="svelte-1kforij"&&(Z.innerHTML=B),X=m(r),y(C.$$.fragment,r),W=m(r),_=g(r,"P",{"data-svelte-h":!0}),T(_)!=="svelte-qf3bdb"&&(_.textContent=F),G=m(r),y(J.$$.fragment,r)},m(r,U){a(r,t,U),a(r,e,U),u(i,r,U),a(r,h,U),a(r,Z,U),a(r,X,U),u(C,r,U),a(r,W,U),a(r,_,U),a(r,G,U),u(J,r,U),x=!0},p:ms,i(r){x||($(i.$$.fragment,r),$(C.$$.fragment,r),$(J.$$.fragment,r),x=!0)},o(r){b(i.$$.fragment,r),b(C.$$.fragment,r),b(J.$$.fragment,r),x=!1},d(r){r&&(l(t),l(e),l(h),l(Z),l(X),l(W),l(_),l(G)),d(i,r),d(C,r),d(J,r)}}}function yt(k){let t,c;return t=new zs({props:{$$slots:{default:[ft]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function ut(k){let t,c="قم بتحويل النص إلى رموز وإرجاع <code>input_ids</code> كموترات TensorFlow:",e,i,h,Z,B='استخدم طريقة <code>~transformers.generation_tf_utils.TFGenerationMixin.generate</code> لإنشاء الترجمة. لمزيد من التفاصيل حول استراتيجيات توليد النصوص المختلفة والمعلمات للتحكم في التوليد، تحقق من واجهة برمجة تطبيقات <a href="../main_classes/text_generation">توليد النصوص</a>.',X,C,W,_,F="فك تشفير معرفات الرموز المولدة مرة أخرى إلى نص:",G,J,x;return i=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJ1c2VybmFtZSUyRm15X2F3ZXNvbWVfb3B1c19ib29rc19tb2RlbCUyMiklMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIodGV4dCUyQyUyMHJldHVybl90ZW5zb3JzJTNEJTIydGYlMjIpLmlucHV0X2lkcw==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;username/my_awesome_opus_books_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(text, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>).input_ids`,wrap:!1}}),C=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VxMlNlcUxNJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvclNlcTJTZXFMTS5mcm9tX3ByZXRyYWluZWQoJTIydXNlcm5hbWUlMkZteV9hd2Vzb21lX29wdXNfYm9va3NfbW9kZWwlMjIpJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsLmdlbmVyYXRlKGlucHV0cyUyQyUyMG1heF9uZXdfdG9rZW5zJTNENDAlMkMlMjBkb19zYW1wbGUlM0RUcnVlJTJDJTIwdG9wX2slM0QzMCUyQyUyMHRvcF9wJTNEMC45NSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSeq2SeqLM
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForSeq2SeqLM.from_pretrained(<span class="hljs-string">&quot;username/my_awesome_opus_books_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model.generate(inputs, max_new_tokens=<span class="hljs-number">40</span>, do_sample=<span class="hljs-literal">True</span>, top_k=<span class="hljs-number">30</span>, top_p=<span class="hljs-number">0.95</span>)`,wrap:!1}}),J=new R({props:{code:"dG9rZW5pemVyLmRlY29kZShvdXRwdXRzJTVCMCU1RCUyQyUyMHNraXBfc3BlY2lhbF90b2tlbnMlM0RUcnVlKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(outputs[<span class="hljs-number">0</span>], skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-string">&#x27;Les lugumes partagent les ressources avec des bactéries fixatrices d&#x27;</span>azote.<span class="hljs-string">&#x27;</span>`,wrap:!1}}),{c(){t=j("p"),t.innerHTML=c,e=o(),f(i.$$.fragment),h=o(),Z=j("p"),Z.innerHTML=B,X=o(),f(C.$$.fragment),W=o(),_=j("p"),_.textContent=F,G=o(),f(J.$$.fragment)},l(r){t=g(r,"P",{"data-svelte-h":!0}),T(t)!=="svelte-utf4z3"&&(t.innerHTML=c),e=m(r),y(i.$$.fragment,r),h=m(r),Z=g(r,"P",{"data-svelte-h":!0}),T(Z)!=="svelte-d2qkfz"&&(Z.innerHTML=B),X=m(r),y(C.$$.fragment,r),W=m(r),_=g(r,"P",{"data-svelte-h":!0}),T(_)!=="svelte-qf3bdb"&&(_.textContent=F),G=m(r),y(J.$$.fragment,r)},m(r,U){a(r,t,U),a(r,e,U),u(i,r,U),a(r,h,U),a(r,Z,U),a(r,X,U),u(C,r,U),a(r,W,U),a(r,_,U),a(r,G,U),u(J,r,U),x=!0},p:ms,i(r){x||($(i.$$.fragment,r),$(C.$$.fragment,r),$(J.$$.fragment,r),x=!0)},o(r){b(i.$$.fragment,r),b(C.$$.fragment,r),b(J.$$.fragment,r),x=!1},d(r){r&&(l(t),l(e),l(h),l(Z),l(X),l(W),l(_),l(G)),d(i,r),d(C,r),d(J,r)}}}function $t(k){let t,c;return t=new zs({props:{$$slots:{default:[ut]},$$scope:{ctx:k}}}),{c(){f(t.$$.fragment)},l(e){y(t.$$.fragment,e)},m(e,i){u(t,e,i),c=!0},p(e,i){const h={};i&2&&(h.$$scope={dirty:i,ctx:e}),t.$set(h)},i(e){c||($(t.$$.fragment,e),c=!0)},o(e){b(t.$$.fragment,e),c=!1},d(e){d(t,e)}}}function bt(k){let t,c,e,i,h,Z,B,X,C,W,_,F="الترجمة هي عملية تحويل سلسلة نصية من لغة إلى أخرى. وهي إحدى المهام التي يمكن صياغتها كمسألة تسلسل إلى تسلسل، وهو إطار عمل قوي لإنتاج مخرجات من مدخلات، مثل الترجمة أو التلخيص. تُستخدم أنظمة الترجمة عادةً للترجمة بين نصوص لغات مختلفة، ويمكن استخدامها أيضًا لترجمة الكلام أو لمهام تجمع بين النصوص والكلام، مثل تحويل النص إلى كلام أو تحويل الكلام إلى نص.",G,J,x="سيوضح لك هذا الدليل كيفية:",r,U,I='<li>ضبط دقيق لنموذج <a href="https://huggingface.co/google-t5/t5-small" rel="nofollow">T5</a> على المجموعة الفرعية الإنجليزية-الفرنسية من مجموعة بيانات <a href="https://huggingface.co/datasets/opus_books" rel="nofollow">OPUS Books</a> لترجمة النص الإنجليزي إلى الفرنسية.</li> <li>استخدام النموذج المضبوط بدقة للاستدلال.</li>',H,V,M,v,N="قبل البدء، تأكد من تثبيت جميع المكتبات الضرورية:",cs,E,z,Y,es="نشجعك على تسجيل الدخول إلى حساب Hugging Face الخاص بك حتى تتمكن من تحميل نموذجك ومشاركته مع المجتمع. عند الطلب، أدخل الرمز المميز الخاص بك لتسجيل الدخول:",is,Q,S,q,A,ts,Ms='ابدأ بتحميل المجموعة الفرعية الإنجليزية-الفرنسية من مجموعة بيانات <a href="https://huggingface.co/datasets/opus_books" rel="nofollow">OPUS Books</a> من مكتبة 🤗 Datasets:',L,P,D,ls,fs="قسّم مجموعة البيانات إلى مجموعة تدريب ومجموعة اختبار باستخدام طريقة <code>train_test_split</code>:",K,O,ss,as,ys="ثم ألقِ نظرة على مثال:",p,w,us,$s,Ue="<code>translation</code>: ترجمة إنجليزية وفرنسية للنص.",Qs,bs,Ss,ds,qs,hs,Je="الخطوة التالية هي تحميل مُجزئ T5 لمعالجة أزواج اللغة الإنجليزية-الفرنسية:",As,js,Ls,gs,_e="يجب أن تقوم دالة المعالجة المسبقة التي تُريد إنشاءها بما يلي:",Ps,ws,ke="<li>إضافة بادئة إلى المُدخل بمُوجه حتى يعرف T5 أن هذه مهمة ترجمة. تتطلب بعض النماذج القادرة على أداء مهام متعددة توجيهًا لمهام مُحددة.</li> <li>تعيين اللغة الهدف (الفرنسية) في معامل <code>text_target</code> لضمان معالجة المُجزئ للنص بشكل صحيح. إذا لم تُعيّن <code>text_target</code>، فسيُعالج المُجزئ النص على أنه إنجليزي.</li> <li>اقتطاع التسلسلات بحيث لا يزيد طولها عن الحد الأقصى الذي يحدده معامل <code>max_length</code>.</li>",Ds,Ts,Ks,Us,Ze="لتطبيق دالة المعالجة المسبقة على مجموعة البيانات بأكملها، استخدم طريقة <code>map</code> من 🤗 Datasets. يمكنك تسريع دالة <code>map</code> عن طريق تعيين <code>batched=True</code> لمعالجة عناصر متعددة من مجموعة البيانات في وقت واحد:",Os,Js,se,_s,Ce="الآن أنشئ دفعة من الأمثلة باستخدام <code>DataCollatorForSeq2Seq</code>. من الأكثر كفاءة <em>الحشو الديناميكي</em> للجمل إلى أطول طول في دفعة أثناء التجميع، بدلاً من حشو مجموعة البيانات بأكملها إلى الحد الأقصى للطول.",ee,ns,te,ks,le,Zs,ve='غالباً ما يكون تضمين مقياس أثناء التدريب مفيداً لتقييم أداء نموذجك. يمكنك تحميل طريقة تقييم بسرعة باستخدام مكتبة 🤗 <a href="https://huggingface.co/docs/evaluate/index" rel="nofollow">Evaluate</a>. لهذه المهمة، حمّل مقياس <a href="https://huggingface.co/spaces/evaluate-metric/sacrebleu" rel="nofollow">SacreBLEU</a> (راجع <a href="https://huggingface.co/docs/evaluate/a_quick_tour" rel="nofollow">الجولة السريعة</a> لـ 🤗 Evaluate لمعرفة المزيد حول كيفية تحميل وحساب مقياس):',ae,Cs,ne,vs,Re="ثم أنشئ دالة تُمرر تنبؤاتك وتسمياتك إلى <code>compute</code> لحساب درجة SacreBLEU:",pe,Rs,re,Xs,Xe="دالة <code>compute_metrics</code> الخاصة بك جاهزة الآن، وسوف تعود إليها عند إعداد التدريب.",oe,Ws,me,ps,ce,rs,ie,Gs,Me,xs,We="رائع، الآن بعد أن قمت بضبط نموذج، يمكنك استخدامه للاستدلال!",fe,Bs,Ge="أحضر بعض النصوص التي ترغب في ترجمتها إلى لغة أخرى. بالنسبة لـ T5، تحتاج إلى إضافة بادئة إلى مدخلاتك اعتمادًا على المهمة التي تعمل عليها. للترجمة من الإنجليزية إلى الفرنسية، يجب عليك إضافة بادئة إلى مدخلاتك كما هو موضح أدناه:",ye,Vs,ue,Hs,xe="أبسط طريقة لتجربة نموذجك المضبوط للاستدلال هي استخدامه في <code>pipeline()</code>. قم بإنشاء مثيل لـ <code>pipeline</code> للترجمة باستخدام نموذجك، ومرر النص الخاص بك إليه:",$e,Fs,be,Is,Be="يمكنك أيضًا تكرار نتائج <code>pipeline</code> يدويًا إذا أردت:",de,os,he,Ns,je,Ys,ge;return h=new Es({props:{title:"الترجمة(Translation)",local:"الترجمةtranslation",headingTag:"h1"}}),B=new Oe({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/translation.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/translation.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/translation.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/translation.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/translation.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/translation.ipynb"}]}}),C=new Ye({props:{id:"1JvfrvZgi6c"}}),V=new we({props:{$$slots:{default:[et]},$$scope:{ctx:k}}}),E=new R({props:{code:"cGlwJTIwaW5zdGFsbCUyMHRyYW5zZm9ybWVycyUyMGRhdGFzZXRzJTIwZXZhbHVhdGUlMjBzYWNyZWJsZXU=",highlighted:"pip install transformers datasets evaluate sacrebleu",wrap:!1}}),Q=new R({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login
<span class="hljs-meta">&gt;&gt;&gt; </span>notebook_login()`,wrap:!1}}),q=new Es({props:{title:"تحميل مجموعة بيانات OPUS Books",local:"تحميل-مجموعة-بيانات-opus-books",headingTag:"h2"}}),P=new R({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBYm9va3MlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyb3B1c19ib29rcyUyMiUyQyUyMCUyMmVuLWZyJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
<span class="hljs-meta">&gt;&gt;&gt; </span>books = load_dataset(<span class="hljs-string">&quot;opus_books&quot;</span>, <span class="hljs-string">&quot;en-fr&quot;</span>)`,wrap:!1}}),O=new R({props:{code:"Ym9va3MlMjAlM0QlMjBib29rcyU1QiUyMnRyYWluJTIyJTVELnRyYWluX3Rlc3Rfc3BsaXQodGVzdF9zaXplJTNEMC4yKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>books = books[<span class="hljs-string">&quot;train&quot;</span>].train_test_split(test_size=<span class="hljs-number">0.2</span>)',wrap:!1}}),w=new R({props:{code:"Ym9va3MlNUIlMjJ0cmFpbiUyMiU1RCU1QjAlNUQ=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>books[<span class="hljs-string">&quot;train&quot;</span>][<span class="hljs-number">0</span>]
{<span class="hljs-string">&#x27;id&#x27;</span>: <span class="hljs-string">&#x27;90560&#x27;</span>,
<span class="hljs-string">&#x27;translation&#x27;</span>: {<span class="hljs-string">&#x27;en&#x27;</span>: <span class="hljs-string">&#x27;But this lofty plateau measured only a few fathoms, and soon we reentered Our Element.&#x27;</span>,
<span class="hljs-string">&#x27;fr&#x27;</span>: <span class="hljs-string">&#x27;Mais ce plateau élevé ne mesurait que quelques toises, et bientôt nous fûmes rentrés dans notre élément.&#x27;</span>}}`,wrap:!1}}),bs=new Es({props:{title:"المعالجة المسبقة(Preprocess)",local:"المعالجة-المسبقةpreprocess",headingTag:"h2"}}),ds=new Ye({props:{id:"XAR8jnZZuUs"}}),js=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEFjaGVja3BvaW50JTIwJTNEJTIwJTIyZ29vZ2xlLXQ1JTJGdDUtc21hbGwlMjIlMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>checkpoint = <span class="hljs-string">&quot;google-t5/t5-small&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}}),Ts=new R({props:{code:"c291cmNlX2xhbmclMjAlM0QlMjAlMjJlbiUyMiUwQXRhcmdldF9sYW5nJTIwJTNEJTIwJTIyZnIlMjIlMEFwcmVmaXglMjAlM0QlMjAlMjJ0cmFuc2xhdGUlMjBFbmdsaXNoJTIwdG8lMjBGcmVuY2glM0ElMjAlMjIlMEElMEFkZWYlMjBwcmVwcm9jZXNzX2Z1bmN0aW9uKGV4YW1wbGVzKSUzQSUwQSUyMCUyMCUyMCUyMGlucHV0cyUyMCUzRCUyMCU1QnByZWZpeCUyMCUyQiUyMGV4YW1wbGUlNUJzb3VyY2VfbGFuZyU1RCUyMGZvciUyMGV4YW1wbGUlMjBpbiUyMGV4YW1wbGVzJTVCJTIydHJhbnNsYXRpb24lMjIlNUQlNUQlMEElMjAlMjAlMjAlMjB0YXJnZXRzJTIwJTNEJTIwJTVCZXhhbXBsZSU1QnRhcmdldF9sYW5nJTVEJTIwZm9yJTIwZXhhbXBsZSUyMGluJTIwZXhhbXBsZXMlNUIlMjJ0cmFuc2xhdGlvbiUyMiU1RCU1RCUwQSUyMCUyMCUyMCUyMG1vZGVsX2lucHV0cyUyMCUzRCUyMHRva2VuaXplcihpbnB1dHMlMkMlMjB0ZXh0X3RhcmdldCUzRHRhcmdldHMlMkMlMjBtYXhfbGVuZ3RoJTNEMTI4JTJDJTIwdHJ1bmNhdGlvbiUzRFRydWUpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwbW9kZWxfaW5wdXRz",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>source_lang = <span class="hljs-string">&quot;en&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>target_lang = <span class="hljs-string">&quot;fr&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>prefix = <span class="hljs-string">&quot;translate English to French: &quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">preprocess_function</span>(<span class="hljs-params">examples</span>):
<span class="hljs-meta">... </span> inputs = [prefix + example[source_lang] <span class="hljs-keyword">for</span> example <span class="hljs-keyword">in</span> examples[<span class="hljs-string">&quot;translation&quot;</span>]]
<span class="hljs-meta">... </span> targets = [example[target_lang] <span class="hljs-keyword">for</span> example <span class="hljs-keyword">in</span> examples[<span class="hljs-string">&quot;translation&quot;</span>]]
<span class="hljs-meta">... </span> model_inputs = tokenizer(inputs, text_target=targets, max_length=<span class="hljs-number">128</span>, truncation=<span class="hljs-literal">True</span>)
<span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> model_inputs`,wrap:!1}}),Js=new R({props:{code:"dG9rZW5pemVkX2Jvb2tzJTIwJTNEJTIwYm9va3MubWFwKHByZXByb2Nlc3NfZnVuY3Rpb24lMkMlMjBiYXRjaGVkJTNEVHJ1ZSk=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tokenized_books = books.<span class="hljs-built_in">map</span>(preprocess_function, batched=<span class="hljs-literal">True</span>)',wrap:!1}}),ns=new Te({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[nt],pytorch:[lt]},$$scope:{ctx:k}}}),ks=new Es({props:{title:"التقييم (Evaluate)",local:"التقييم-evaluate",headingTag:"h2"}}),Cs=new R({props:{code:"aW1wb3J0JTIwZXZhbHVhdGUlMEElMEFtZXRyaWMlMjAlM0QlMjBldmFsdWF0ZS5sb2FkKCUyMnNhY3JlYmxldSUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> evaluate
<span class="hljs-meta">&gt;&gt;&gt; </span>metric = evaluate.load(<span class="hljs-string">&quot;sacrebleu&quot;</span>)`,wrap:!1}}),Rs=new R({props:{code:"aW1wb3J0JTIwbnVtcHklMjBhcyUyMG5wJTBBJTBBZGVmJTIwcG9zdHByb2Nlc3NfdGV4dChwcmVkcyUyQyUyMGxhYmVscyklM0ElMEElMjAlMjAlMjAlMjBwcmVkcyUyMCUzRCUyMCU1QnByZWQuc3RyaXAoKSUyMGZvciUyMHByZWQlMjBpbiUyMHByZWRzJTVEJTBBJTIwJTIwJTIwJTIwbGFiZWxzJTIwJTNEJTIwJTVCJTVCbGFiZWwuc3RyaXAoKSU1RCUyMGZvciUyMGxhYmVsJTIwaW4lMjBsYWJlbHMlNUQlMEElMEElMjAlMjAlMjAlMjByZXR1cm4lMjBwcmVkcyUyQyUyMGxhYmVscyUwQSUwQWRlZiUyMGNvbXB1dGVfbWV0cmljcyhldmFsX3ByZWRzKSUzQSUwQSUyMCUyMCUyMCUyMHByZWRzJTJDJTIwbGFiZWxzJTIwJTNEJTIwZXZhbF9wcmVkcyUwQSUyMCUyMCUyMCUyMGlmJTIwaXNpbnN0YW5jZShwcmVkcyUyQyUyMHR1cGxlKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByZWRzJTIwJTNEJTIwcHJlZHMlNUIwJTVEJTBBJTIwJTIwJTIwJTIwZGVjb2RlZF9wcmVkcyUyMCUzRCUyMHRva2VuaXplci5iYXRjaF9kZWNvZGUocHJlZHMlMkMlMjBza2lwX3NwZWNpYWxfdG9rZW5zJTNEVHJ1ZSklMEElMEElMjAlMjAlMjAlMjBsYWJlbHMlMjAlM0QlMjBucC53aGVyZShsYWJlbHMlMjAhJTNEJTIwLTEwMCUyQyUyMGxhYmVscyUyQyUyMHRva2VuaXplci5wYWRfdG9rZW5faWQpJTBBJTIwJTIwJTIwJTIwZGVjb2RlZF9sYWJlbHMlMjAlM0QlMjB0b2tlbml6ZXIuYmF0Y2hfZGVjb2RlKGxhYmVscyUyQyUyMHNraXBfc3BlY2lhbF90b2tlbnMlM0RUcnVlKSUwQSUwQSUyMCUyMCUyMCUyMGRlY29kZWRfcHJlZHMlMkMlMjBkZWNvZGVkX2xhYmVscyUyMCUzRCUyMHBvc3Rwcm9jZXNzX3RleHQoZGVjb2RlZF9wcmVkcyUyQyUyMGRlY29kZWRfbGFiZWxzKSUwQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMG1ldHJpYy5jb21wdXRlKHByZWRpY3Rpb25zJTNEZGVjb2RlZF9wcmVkcyUyQyUyMHJlZmVyZW5jZXMlM0RkZWNvZGVkX2xhYmVscyklMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjAlN0IlMjJibGV1JTIyJTNBJTIwcmVzdWx0JTVCJTIyc2NvcmUlMjIlNUQlN0QlMEElMEElMjAlMjAlMjAlMjBwcmVkaWN0aW9uX2xlbnMlMjAlM0QlMjAlNUJucC5jb3VudF9ub256ZXJvKHByZWQlMjAhJTNEJTIwdG9rZW5pemVyLnBhZF90b2tlbl9pZCklMjBmb3IlMjBwcmVkJTIwaW4lMjBwcmVkcyU1RCUwQSUyMCUyMCUyMCUyMHJlc3VsdCU1QiUyMmdlbl9sZW4lMjIlNUQlMjAlM0QlMjBucC5tZWFuKHByZWRpY3Rpb25fbGVucyklMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjAlN0JrJTNBJTIwcm91bmQodiUyQyUyMDQpJTIwZm9yJTIwayUyQyUyMHYlMjBpbiUyMHJlc3VsdC5pdGVtcygpJTdEJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwcmVzdWx0",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">postprocess_text</span>(<span class="hljs-params">preds, labels</span>):
<span class="hljs-meta">... </span> preds = [pred.strip() <span class="hljs-keyword">for</span> pred <span class="hljs-keyword">in</span> preds]
<span class="hljs-meta">... </span> labels = [[label.strip()] <span class="hljs-keyword">for</span> label <span class="hljs-keyword">in</span> labels]
<span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> preds, labels
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">compute_metrics</span>(<span class="hljs-params">eval_preds</span>):
<span class="hljs-meta">... </span> preds, labels = eval_preds
<span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> <span class="hljs-built_in">isinstance</span>(preds, <span class="hljs-built_in">tuple</span>):
<span class="hljs-meta">... </span> preds = preds[<span class="hljs-number">0</span>]
<span class="hljs-meta">... </span> decoded_preds = tokenizer.batch_decode(preds, skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-meta">... </span> labels = np.where(labels != -<span class="hljs-number">100</span>, labels, tokenizer.pad_token_id)
<span class="hljs-meta">... </span> decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-meta">... </span> decoded_preds, decoded_labels = postprocess_text(decoded_preds, decoded_labels)
<span class="hljs-meta">... </span> result = metric.compute(predictions=decoded_preds, references=decoded_labels)
<span class="hljs-meta">... </span> result = {<span class="hljs-string">&quot;bleu&quot;</span>: result[<span class="hljs-string">&quot;score&quot;</span>]}
<span class="hljs-meta">... </span> prediction_lens = [np.count_nonzero(pred != tokenizer.pad_token_id) <span class="hljs-keyword">for</span> pred <span class="hljs-keyword">in</span> preds]
<span class="hljs-meta">... </span> result[<span class="hljs-string">&quot;gen_len&quot;</span>] = np.mean(prediction_lens)
<span class="hljs-meta">... </span> result = {k: <span class="hljs-built_in">round</span>(v, <span class="hljs-number">4</span>) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> result.items()}
<span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> result`,wrap:!1}}),Ws=new Es({props:{title:"التدريب (Train)",local:"التدريب-train",headingTag:"h2"}}),ps=new Te({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[it],pytorch:[ot]},$$scope:{ctx:k}}}),rs=new we({props:{$$slots:{default:[Mt]},$$scope:{ctx:k}}}),Gs=new Es({props:{title:"الاستدلال (Inference)",local:"الاستدلال-inference",headingTag:"h2"}}),Vs=new R({props:{code:"dGV4dCUyMCUzRCUyMCUyMnRyYW5zbGF0ZSUyMEVuZ2xpc2glMjB0byUyMEZyZW5jaCUzQSUyMExlZ3VtZXMlMjBzaGFyZSUyMHJlc291cmNlcyUyMHdpdGglMjBuaXRyb2dlbi1maXhpbmclMjBiYWN0ZXJpYS4lMjI=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>text = <span class="hljs-string">&quot;translate English to French: Legumes share resources with nitrogen-fixing bacteria.&quot;</span>',wrap:!1}}),Fs=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBdHJhbnNsYXRvciUyMCUzRCUyMHBpcGVsaW5lKCUyMnRyYW5zbGF0aW9uX3h4X3RvX3l5JTIyJTJDJTIwbW9kZWwlM0QlMjJ1c2VybmFtZSUyRm15X2F3ZXNvbWVfb3B1c19ib29rc19tb2RlbCUyMiklMEF0cmFuc2xhdG9yKHRleHQp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline
<span class="hljs-comment"># تغيير \`xx\` إلى لغة الإدخال و \`yy\` إلى لغة المخرجات المطلوبة.</span>
<span class="hljs-comment"># أمثلة: &quot;en&quot; للغة الإنجليزية، &quot;fr&quot; للغة الفرنسية، &quot;de&quot; للغة الألمانية، &quot;es&quot; للغة الإسبانية، &quot;zh&quot; للغة الصينية، إلخ؛ translation_en_to_fr تترجم من الإنجليزية إلى الفرنسية</span>
<span class="hljs-comment"># يمكنك عرض جميع قوائم اللغات هنا - https://huggingface.co/languages</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>translator = pipeline(<span class="hljs-string">&quot;translation_xx_to_yy&quot;</span>, model=<span class="hljs-string">&quot;username/my_awesome_opus_books_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>translator(text)
[{<span class="hljs-string">&#x27;translation_text&#x27;</span>: <span class="hljs-string">&#x27;Legumes partagent des ressources avec des bactéries azotantes.&#x27;</span>}]`,wrap:!1}}),os=new Te({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[$t],pytorch:[yt]},$$scope:{ctx:k}}}),Ns=new st({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ar/tasks/translation.md"}}),{c(){t=j("meta"),c=o(),e=j("p"),i=o(),f(h.$$.fragment),Z=o(),f(B.$$.fragment),X=o(),f(C.$$.fragment),W=o(),_=j("p"),_.textContent=F,G=o(),J=j("p"),J.textContent=x,r=o(),U=j("ol"),U.innerHTML=I,H=o(),f(V.$$.fragment),M=o(),v=j("p"),v.textContent=N,cs=o(),f(E.$$.fragment),z=o(),Y=j("p"),Y.textContent=es,is=o(),f(Q.$$.fragment),S=o(),f(q.$$.fragment),A=o(),ts=j("p"),ts.innerHTML=Ms,L=o(),f(P.$$.fragment),D=o(),ls=j("p"),ls.innerHTML=fs,K=o(),f(O.$$.fragment),ss=o(),as=j("p"),as.textContent=ys,p=o(),f(w.$$.fragment),us=o(),$s=j("p"),$s.innerHTML=Ue,Qs=o(),f(bs.$$.fragment),Ss=o(),f(ds.$$.fragment),qs=o(),hs=j("p"),hs.textContent=Je,As=o(),f(js.$$.fragment),Ls=o(),gs=j("p"),gs.textContent=_e,Ps=o(),ws=j("ol"),ws.innerHTML=ke,Ds=o(),f(Ts.$$.fragment),Ks=o(),Us=j("p"),Us.innerHTML=Ze,Os=o(),f(Js.$$.fragment),se=o(),_s=j("p"),_s.innerHTML=Ce,ee=o(),f(ns.$$.fragment),te=o(),f(ks.$$.fragment),le=o(),Zs=j("p"),Zs.innerHTML=ve,ae=o(),f(Cs.$$.fragment),ne=o(),vs=j("p"),vs.innerHTML=Re,pe=o(),f(Rs.$$.fragment),re=o(),Xs=j("p"),Xs.innerHTML=Xe,oe=o(),f(Ws.$$.fragment),me=o(),f(ps.$$.fragment),ce=o(),f(rs.$$.fragment),ie=o(),f(Gs.$$.fragment),Me=o(),xs=j("p"),xs.textContent=We,fe=o(),Bs=j("p"),Bs.textContent=Ge,ye=o(),f(Vs.$$.fragment),ue=o(),Hs=j("p"),Hs.innerHTML=xe,$e=o(),f(Fs.$$.fragment),be=o(),Is=j("p"),Is.innerHTML=Be,de=o(),f(os.$$.fragment),he=o(),f(Ns.$$.fragment),je=o(),Ys=j("p"),this.h()},l(s){const n=Le("svelte-u9bgzb",document.head);t=g(n,"META",{name:!0,content:!0}),n.forEach(l),c=m(s),e=g(s,"P",{}),Ee(e).forEach(l),i=m(s),y(h.$$.fragment,s),Z=m(s),y(B.$$.fragment,s),X=m(s),y(C.$$.fragment,s),W=m(s),_=g(s,"P",{"data-svelte-h":!0}),T(_)!=="svelte-1ie1z4f"&&(_.textContent=F),G=m(s),J=g(s,"P",{"data-svelte-h":!0}),T(J)!=="svelte-lp8700"&&(J.textContent=x),r=m(s),U=g(s,"OL",{"data-svelte-h":!0}),T(U)!=="svelte-8s9slk"&&(U.innerHTML=I),H=m(s),y(V.$$.fragment,s),M=m(s),v=g(s,"P",{"data-svelte-h":!0}),T(v)!=="svelte-1vj7g14"&&(v.textContent=N),cs=m(s),y(E.$$.fragment,s),z=m(s),Y=g(s,"P",{"data-svelte-h":!0}),T(Y)!=="svelte-hyzor3"&&(Y.textContent=es),is=m(s),y(Q.$$.fragment,s),S=m(s),y(q.$$.fragment,s),A=m(s),ts=g(s,"P",{"data-svelte-h":!0}),T(ts)!=="svelte-v4urxv"&&(ts.innerHTML=Ms),L=m(s),y(P.$$.fragment,s),D=m(s),ls=g(s,"P",{"data-svelte-h":!0}),T(ls)!=="svelte-pl1q68"&&(ls.innerHTML=fs),K=m(s),y(O.$$.fragment,s),ss=m(s),as=g(s,"P",{"data-svelte-h":!0}),T(as)!=="svelte-9v40eo"&&(as.textContent=ys),p=m(s),y(w.$$.fragment,s),us=m(s),$s=g(s,"P",{"data-svelte-h":!0}),T($s)!=="svelte-duosro"&&($s.innerHTML=Ue),Qs=m(s),y(bs.$$.fragment,s),Ss=m(s),y(ds.$$.fragment,s),qs=m(s),hs=g(s,"P",{"data-svelte-h":!0}),T(hs)!=="svelte-d5a1zd"&&(hs.textContent=Je),As=m(s),y(js.$$.fragment,s),Ls=m(s),gs=g(s,"P",{"data-svelte-h":!0}),T(gs)!=="svelte-g2hdnd"&&(gs.textContent=_e),Ps=m(s),ws=g(s,"OL",{"data-svelte-h":!0}),T(ws)!=="svelte-kvo0z2"&&(ws.innerHTML=ke),Ds=m(s),y(Ts.$$.fragment,s),Ks=m(s),Us=g(s,"P",{"data-svelte-h":!0}),T(Us)!=="svelte-sfjb0s"&&(Us.innerHTML=Ze),Os=m(s),y(Js.$$.fragment,s),se=m(s),_s=g(s,"P",{"data-svelte-h":!0}),T(_s)!=="svelte-1clb64p"&&(_s.innerHTML=Ce),ee=m(s),y(ns.$$.fragment,s),te=m(s),y(ks.$$.fragment,s),le=m(s),Zs=g(s,"P",{"data-svelte-h":!0}),T(Zs)!=="svelte-zf5jsm"&&(Zs.innerHTML=ve),ae=m(s),y(Cs.$$.fragment,s),ne=m(s),vs=g(s,"P",{"data-svelte-h":!0}),T(vs)!=="svelte-edul4o"&&(vs.innerHTML=Re),pe=m(s),y(Rs.$$.fragment,s),re=m(s),Xs=g(s,"P",{"data-svelte-h":!0}),T(Xs)!=="svelte-1g0ragj"&&(Xs.innerHTML=Xe),oe=m(s),y(Ws.$$.fragment,s),me=m(s),y(ps.$$.fragment,s),ce=m(s),y(rs.$$.fragment,s),ie=m(s),y(Gs.$$.fragment,s),Me=m(s),xs=g(s,"P",{"data-svelte-h":!0}),T(xs)!=="svelte-25dfys"&&(xs.textContent=We),fe=m(s),Bs=g(s,"P",{"data-svelte-h":!0}),T(Bs)!=="svelte-1jmmsr4"&&(Bs.textContent=Ge),ye=m(s),y(Vs.$$.fragment,s),ue=m(s),Hs=g(s,"P",{"data-svelte-h":!0}),T(Hs)!=="svelte-qipxwd"&&(Hs.innerHTML=xe),$e=m(s),y(Fs.$$.fragment,s),be=m(s),Is=g(s,"P",{"data-svelte-h":!0}),T(Is)!=="svelte-asb9jo"&&(Is.innerHTML=Be),de=m(s),y(os.$$.fragment,s),he=m(s),y(Ns.$$.fragment,s),je=m(s),Ys=g(s,"P",{}),Ee(Ys).forEach(l),this.h()},h(){ze(t,"name","hf:doc:metadata"),ze(t,"content",dt)},m(s,n){Pe(document.head,t),a(s,c,n),a(s,e,n),a(s,i,n),u(h,s,n),a(s,Z,n),u(B,s,n),a(s,X,n),u(C,s,n),a(s,W,n),a(s,_,n),a(s,G,n),a(s,J,n),a(s,r,n),a(s,U,n),a(s,H,n),u(V,s,n),a(s,M,n),a(s,v,n),a(s,cs,n),u(E,s,n),a(s,z,n),a(s,Y,n),a(s,is,n),u(Q,s,n),a(s,S,n),u(q,s,n),a(s,A,n),a(s,ts,n),a(s,L,n),u(P,s,n),a(s,D,n),a(s,ls,n),a(s,K,n),u(O,s,n),a(s,ss,n),a(s,as,n),a(s,p,n),u(w,s,n),a(s,us,n),a(s,$s,n),a(s,Qs,n),u(bs,s,n),a(s,Ss,n),u(ds,s,n),a(s,qs,n),a(s,hs,n),a(s,As,n),u(js,s,n),a(s,Ls,n),a(s,gs,n),a(s,Ps,n),a(s,ws,n),a(s,Ds,n),u(Ts,s,n),a(s,Ks,n),a(s,Us,n),a(s,Os,n),u(Js,s,n),a(s,se,n),a(s,_s,n),a(s,ee,n),u(ns,s,n),a(s,te,n),u(ks,s,n),a(s,le,n),a(s,Zs,n),a(s,ae,n),u(Cs,s,n),a(s,ne,n),a(s,vs,n),a(s,pe,n),u(Rs,s,n),a(s,re,n),a(s,Xs,n),a(s,oe,n),u(Ws,s,n),a(s,me,n),u(ps,s,n),a(s,ce,n),u(rs,s,n),a(s,ie,n),u(Gs,s,n),a(s,Me,n),a(s,xs,n),a(s,fe,n),a(s,Bs,n),a(s,ye,n),u(Vs,s,n),a(s,ue,n),a(s,Hs,n),a(s,$e,n),u(Fs,s,n),a(s,be,n),a(s,Is,n),a(s,de,n),u(os,s,n),a(s,he,n),u(Ns,s,n),a(s,je,n),a(s,Ys,n),ge=!0},p(s,[n]){const Ve={};n&2&&(Ve.$$scope={dirty:n,ctx:s}),V.$set(Ve);const He={};n&2&&(He.$$scope={dirty:n,ctx:s}),ns.$set(He);const Fe={};n&2&&(Fe.$$scope={dirty:n,ctx:s}),ps.$set(Fe);const Ie={};n&2&&(Ie.$$scope={dirty:n,ctx:s}),rs.$set(Ie);const Ne={};n&2&&(Ne.$$scope={dirty:n,ctx:s}),os.$set(Ne)},i(s){ge||($(h.$$.fragment,s),$(B.$$.fragment,s),$(C.$$.fragment,s),$(V.$$.fragment,s),$(E.$$.fragment,s),$(Q.$$.fragment,s),$(q.$$.fragment,s),$(P.$$.fragment,s),$(O.$$.fragment,s),$(w.$$.fragment,s),$(bs.$$.fragment,s),$(ds.$$.fragment,s),$(js.$$.fragment,s),$(Ts.$$.fragment,s),$(Js.$$.fragment,s),$(ns.$$.fragment,s),$(ks.$$.fragment,s),$(Cs.$$.fragment,s),$(Rs.$$.fragment,s),$(Ws.$$.fragment,s),$(ps.$$.fragment,s),$(rs.$$.fragment,s),$(Gs.$$.fragment,s),$(Vs.$$.fragment,s),$(Fs.$$.fragment,s),$(os.$$.fragment,s),$(Ns.$$.fragment,s),ge=!0)},o(s){b(h.$$.fragment,s),b(B.$$.fragment,s),b(C.$$.fragment,s),b(V.$$.fragment,s),b(E.$$.fragment,s),b(Q.$$.fragment,s),b(q.$$.fragment,s),b(P.$$.fragment,s),b(O.$$.fragment,s),b(w.$$.fragment,s),b(bs.$$.fragment,s),b(ds.$$.fragment,s),b(js.$$.fragment,s),b(Ts.$$.fragment,s),b(Js.$$.fragment,s),b(ns.$$.fragment,s),b(ks.$$.fragment,s),b(Cs.$$.fragment,s),b(Rs.$$.fragment,s),b(Ws.$$.fragment,s),b(ps.$$.fragment,s),b(rs.$$.fragment,s),b(Gs.$$.fragment,s),b(Vs.$$.fragment,s),b(Fs.$$.fragment,s),b(os.$$.fragment,s),b(Ns.$$.fragment,s),ge=!1},d(s){s&&(l(c),l(e),l(i),l(Z),l(X),l(W),l(_),l(G),l(J),l(r),l(U),l(H),l(M),l(v),l(cs),l(z),l(Y),l(is),l(S),l(A),l(ts),l(L),l(D),l(ls),l(K),l(ss),l(as),l(p),l(us),l($s),l(Qs),l(Ss),l(qs),l(hs),l(As),l(Ls),l(gs),l(Ps),l(ws),l(Ds),l(Ks),l(Us),l(Os),l(se),l(_s),l(ee),l(te),l(le),l(Zs),l(ae),l(ne),l(vs),l(pe),l(re),l(Xs),l(oe),l(me),l(ce),l(ie),l(Me),l(xs),l(fe),l(Bs),l(ye),l(ue),l(Hs),l($e),l(be),l(Is),l(de),l(he),l(je),l(Ys)),l(t),d(h,s),d(B,s),d(C,s),d(V,s),d(E,s),d(Q,s),d(q,s),d(P,s),d(O,s),d(w,s),d(bs,s),d(ds,s),d(js,s),d(Ts,s),d(Js,s),d(ns,s),d(ks,s),d(Cs,s),d(Rs,s),d(Ws,s),d(ps,s),d(rs,s),d(Gs,s),d(Vs,s),d(Fs,s),d(os,s),d(Ns,s)}}}const dt='{"title":"الترجمة(Translation)","local":"الترجمةtranslation","sections":[{"title":"تحميل مجموعة بيانات OPUS Books","local":"تحميل-مجموعة-بيانات-opus-books","sections":[],"depth":2},{"title":"المعالجة المسبقة(Preprocess)","local":"المعالجة-المسبقةpreprocess","sections":[],"depth":2},{"title":"التقييم (Evaluate)","local":"التقييم-evaluate","sections":[],"depth":2},{"title":"التدريب (Train)","local":"التدريب-train","sections":[],"depth":2},{"title":"الاستدلال (Inference)","local":"الاستدلال-inference","sections":[],"depth":2}],"depth":1}';function ht(k){return Se(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Zt extends qe{constructor(t){super(),Ae(this,t,ht,bt,Qe,{})}}export{Zt as component};

Xet Storage Details

Size:
57.9 kB
·
Xet hash:
b81423ae3b55f88f7bc2f2e40b03bf29e1f4b7eaebb4df460f9b90a1544dd85a

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