Buckets:

rtrm's picture
download
raw
58.1 kB
import{s as Ks,o as Os}from"../chunks/scheduler.47c1f99a.js";import{S as en,i as tn,e as u,s as p,c as J,h as ln,a as M,d as y,b as o,f as k,g as U,j as T,k as $,l as n,m as g,n as j,o as d,q as P,t as m,p as w,r as K}from"../chunks/index.1514974e.js";import{C as sn,H as $t,E as nn}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.67f26230.js";import{Y as qs}from"../chunks/Youtube.471cebef.js";import{C as _}from"../chunks/CodeBlock.6953c38b.js";import{C as Ps}from"../chunks/CourseFloatingBanner.af09b263.js";import{F as an}from"../chunks/FrameworkSwitchCourse.d0260c3d.js";function rn(f){let l,r;return l=new Ps({props:{chapter:2,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fa/chapter2/section2_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fa/chapter2/section2_tf.ipynb"}]}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function cn(f){let l,r;return l=new Ps({props:{chapter:2,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fa/chapter2/section2_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fa/chapter2/section2_pt.ipynb"}]}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function pn(f){let l,r;return l=new qs({props:{id:"wVN12smEvqg"}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function on(f){let l,r;return l=new qs({props:{id:"1pedAIvTWXk"}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function un(f){let l,r;return l=new _({props:{code:"cmF3X2lucHV0cyUyMCUzRCUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMkkndmUlMjBiZWVuJTIwd2FpdGluZyUyMGZvciUyMGElMjBIdWdnaW5nRmFjZSUyMGNvdXJzZSUyMG15JTIwd2hvbGUlMjBsaWZlLiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMkklMjBoYXRlJTIwdGhpcyUyMHNvJTIwbXVjaCElMjIlMkMlMEElNUQlMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIocmF3X2lucHV0cyUyQyUyMHBhZGRpbmclM0RUcnVlJTJDJTIwdHJ1bmNhdGlvbiUzRFRydWUlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnRmJTIyKSUwQXByaW50KGlucHV0cyk=",highlighted:`raw_inputs = [
<span class="hljs-string">&quot;I&#x27;ve been waiting for a HuggingFace course my whole life.&quot;</span>,
<span class="hljs-string">&quot;I hate this so much!&quot;</span>,
]
inputs = tokenizer(raw_inputs, padding=<span class="hljs-literal">True</span>, truncation=<span class="hljs-literal">True</span>, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)
<span class="hljs-built_in">print</span>(inputs)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function Mn(f){let l,r;return l=new _({props:{code:"cmF3X2lucHV0cyUyMCUzRCUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMkkndmUlMjBiZWVuJTIwd2FpdGluZyUyMGZvciUyMGElMjBIdWdnaW5nRmFjZSUyMGNvdXJzZSUyMG15JTIwd2hvbGUlMjBsaWZlLiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMkklMjBoYXRlJTIwdGhpcyUyMHNvJTIwbXVjaCElMjIlMkMlMEElNUQlMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIocmF3X2lucHV0cyUyQyUyMHBhZGRpbmclM0RUcnVlJTJDJTIwdHJ1bmNhdGlvbiUzRFRydWUlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQXByaW50KGlucHV0cyk=",highlighted:`raw_inputs = [
<span class="hljs-string">&quot;I&#x27;ve been waiting for a HuggingFace course my whole life.&quot;</span>,
<span class="hljs-string">&quot;I hate this so much!&quot;</span>,
]
inputs = tokenizer(raw_inputs, padding=<span class="hljs-literal">True</span>, truncation=<span class="hljs-literal">True</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
<span class="hljs-built_in">print</span>(inputs)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function dn(f){let l,r="خروجی تِنسورهای تِنسورفِلو به این شکل است:",t,c,i,b;return i=new _({props:{code:"JTdCJTBBJTIwJTIwJTIwJTIwJ2lucHV0X2lkcyclM0ElMjAlM0N0Zi5UZW5zb3IlM0ElMjBzaGFwZSUzRCgyJTJDJTIwMTYpJTJDJTIwZHR5cGUlM0RpbnQzMiUyQyUyMG51bXB5JTNEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYXJyYXkoJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwJTIwMTAxJTJDJTIwJTIwMTA0NSUyQyUyMCUyMDEwMDUlMkMlMjAlMjAyMzEwJTJDJTIwJTIwMjA0MiUyQyUyMCUyMDM0MDMlMkMlMjAlMjAyMDA1JTJDJTIwJTIwMTAzNyUyQyUyMDE3NjYyJTJDJTIwMTIxNzIlMkMlMjAlMjAyNjA3JTJDJTIwJTIwMjAyNiUyQyUyMCUyMDI4NzglMkMlMjAlMjAyMTY2JTJDJTIwJTIwMTAxMiUyQyUyMCUyMCUyMDEwMiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QiUyMCUyMDEwMSUyQyUyMCUyMDEwNDUlMkMlMjAlMjA1MjIzJTJDJTIwJTIwMjAyMyUyQyUyMCUyMDIwNjElMkMlMjAlMjAyMTcyJTJDJTIwJTIwJTIwOTk5JTJDJTIwJTIwJTIwMTAyJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlMkMlMjAlMjAlMjAlMjAlMjAwJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlMkMlMjAlMjAlMjAlMjAlMjAwJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUQlMkMlMjBkdHlwZSUzRGludDMyKSUzRSUyQyUwQSUyMCUyMCUyMCUyMCdhdHRlbnRpb25fbWFzayclM0ElMjAlM0N0Zi5UZW5zb3IlM0ElMjBzaGFwZSUzRCgyJTJDJTIwMTYpJTJDJTIwZHR5cGUlM0RpbnQzMiUyQyUyMG51bXB5JTNEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYXJyYXkoJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QjElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAwJTJDJTIwMCUyQyUyMDAlMkMlMjAwJTJDJTIwMCUyQyUyMDAlMkMlMjAwJTJDJTIwMCUyQyUyMDAlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUQlMkMlMjBkdHlwZSUzRGludDMyKSUzRSUwQSU3RA==",highlighted:`{
<span class="hljs-string">&#x27;input_ids&#x27;</span>: &lt;tf.Tensor: shape=(<span class="hljs-number">2</span>, <span class="hljs-number">16</span>), dtype=int32, numpy=
array([
[ <span class="hljs-number">101</span>, <span class="hljs-number">1045</span>, <span class="hljs-number">1005</span>, <span class="hljs-number">2310</span>, <span class="hljs-number">2042</span>, <span class="hljs-number">3403</span>, <span class="hljs-number">2005</span>, <span class="hljs-number">1037</span>, <span class="hljs-number">17662</span>, <span class="hljs-number">12172</span>, <span class="hljs-number">2607</span>, <span class="hljs-number">2026</span>, <span class="hljs-number">2878</span>, <span class="hljs-number">2166</span>, <span class="hljs-number">1012</span>, <span class="hljs-number">102</span>],
[ <span class="hljs-number">101</span>, <span class="hljs-number">1045</span>, <span class="hljs-number">5223</span>, <span class="hljs-number">2023</span>, <span class="hljs-number">2061</span>, <span class="hljs-number">2172</span>, <span class="hljs-number">999</span>, <span class="hljs-number">102</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>]
], dtype=int32)&gt;,
<span class="hljs-string">&#x27;attention_mask&#x27;</span>: &lt;tf.Tensor: shape=(<span class="hljs-number">2</span>, <span class="hljs-number">16</span>), dtype=int32, numpy=
array([
[<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>],
[<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>]
], dtype=int32)&gt;
}`,wrap:!1}}),{c(){l=u("p"),l.textContent=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-g0tbuv"&&(l.textContent=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function mn(f){let l,r="خروجی تِنسورهای پایتورچ به این شکل است:",t,c,i,b;return i=new _({props:{code:"JTdCJTBBJTIwJTIwJTIwJTIwJ2lucHV0X2lkcyclM0ElMjB0ZW5zb3IoJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwJTIwMTAxJTJDJTIwJTIwMTA0NSUyQyUyMCUyMDEwMDUlMkMlMjAlMjAyMzEwJTJDJTIwJTIwMjA0MiUyQyUyMCUyMDM0MDMlMkMlMjAlMjAyMDA1JTJDJTIwJTIwMTAzNyUyQyUyMDE3NjYyJTJDJTIwMTIxNzIlMkMlMjAyNjA3JTJDJTIwJTIwMjAyNiUyQyUyMCUyMDI4NzglMkMlMjAlMjAyMTY2JTJDJTIwJTIwMTAxMiUyQyUyMCUyMCUyMDEwMiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QiUyMCUyMDEwMSUyQyUyMCUyMDEwNDUlMkMlMjAlMjA1MjIzJTJDJTIwJTIwMjAyMyUyQyUyMCUyMDIwNjElMkMlMjAlMjAyMTcyJTJDJTIwJTIwJTIwOTk5JTJDJTIwJTIwJTIwMTAyJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlMkMlMjAlMjAlMjAlMjAlMjAwJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlMkMlMjAlMjAlMjAlMjAlMjAwJTJDJTIwJTIwJTIwJTIwJTIwMCUyQyUyMCUyMCUyMCUyMCUyMDAlNUQlMEElMjAlMjAlMjAlMjAlNUQpJTJDJTBBJTIwJTIwJTIwJTIwJ2F0dGVudGlvbl9tYXNrJyUzQSUyMHRlbnNvciglNUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUIxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDElMkMlMjAxJTJDJTIwMSUyQyUyMDAlMkMlMjAwJTJDJTIwMCUyQyUyMDAlMkMlMjAwJTJDJTIwMCUyQyUyMDAlMkMlMjAwJTJDJTIwMCU1RCUwQSUyMCUyMCUyMCUyMCU1RCklMEElN0Q=",highlighted:`{
<span class="hljs-string">&#x27;input_ids&#x27;</span>: tensor([
[ <span class="hljs-number">101</span>, <span class="hljs-number">1045</span>, <span class="hljs-number">1005</span>, <span class="hljs-number">2310</span>, <span class="hljs-number">2042</span>, <span class="hljs-number">3403</span>, <span class="hljs-number">2005</span>, <span class="hljs-number">1037</span>, <span class="hljs-number">17662</span>, <span class="hljs-number">12172</span>, <span class="hljs-number">2607</span>, <span class="hljs-number">2026</span>, <span class="hljs-number">2878</span>, <span class="hljs-number">2166</span>, <span class="hljs-number">1012</span>, <span class="hljs-number">102</span>],
[ <span class="hljs-number">101</span>, <span class="hljs-number">1045</span>, <span class="hljs-number">5223</span>, <span class="hljs-number">2023</span>, <span class="hljs-number">2061</span>, <span class="hljs-number">2172</span>, <span class="hljs-number">999</span>, <span class="hljs-number">102</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>]
]),
<span class="hljs-string">&#x27;attention_mask&#x27;</span>: tensor([
[<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>],
[<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>]
])
}`,wrap:!1}}),{c(){l=u("p"),l.textContent=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-sncp1g"&&(l.textContent=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function hn(f){let l,r='می‌توانیم مدل از پیش تعلیم دیده را، همانند آنچه در مورد توکِنایزر انجام شد، دانلود کنیم. ترنسوفورمرهای هاگینگ‌فِیس کلاس <code>TFAutoModel</code> را ارا‌ئه می‌دهد که آن هم تابعی به نام <span dir="ltr"><code>from_pretrained()</code></span> دارد:',t,c,i,b;return i=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkLWZpbmV0dW5lZC1zc3QtMi1lbmdsaXNoJTIyJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbC5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModel
checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased-finetuned-sst-2-english&quot;</span>
model = TFAutoModel.from_pretrained(checkpoint)`,wrap:!1}}),{c(){l=u("p"),l.innerHTML=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-6xeou"&&(l.innerHTML=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function yn(f){let l,r='می‌توانیم مدل از پیش تعلیم دیده را، همانند آن چه در مورد توکِنایزر انجام شد، دانلود کنیم. ترنسوفورمرهای هاگینگ‌فِیس کلاس <code>AutoModel</code> را ارا‌ئه می‌دهد که آن هم تابعی به نام <span dir="ltr"><code>from_pretrained()</code></span> دارد:',t,c,i,b;return i=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbCUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3N0LTItZW5nbGlzaCUyMiUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModel
checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased-finetuned-sst-2-english&quot;</span>
model = AutoModel.from_pretrained(checkpoint)`,wrap:!1}}),{c(){l=u("p"),l.innerHTML=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-174s3c6"&&(l.innerHTML=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function fn(f){let l,r,t,c;return l=new _({props:{code:"b3V0cHV0cyUyMCUzRCUyMG1vZGVsKGlucHV0cyklMEFwcmludChvdXRwdXRzLmxhc3RfaGlkZGVuX3N0YXRlLnNoYXBlKQ==",highlighted:`outputs = model(inputs)
<span class="hljs-built_in">print</span>(outputs.last_hidden_state.shape)`,wrap:!1}}),t=new _({props:{code:"KDIlMkMlMjAxNiUyQyUyMDc2OCk=",highlighted:'(<span class="hljs-number">2</span>, <span class="hljs-number">16</span>, <span class="hljs-number">768</span>)',wrap:!1}}),{c(){J(l.$$.fragment),r=p(),J(t.$$.fragment)},l(i){U(l.$$.fragment,i),r=o(i),U(t.$$.fragment,i)},m(i,b){j(l,i,b),g(i,r,b),j(t,i,b),c=!0},i(i){c||(m(l.$$.fragment,i),m(t.$$.fragment,i),c=!0)},o(i){d(l.$$.fragment,i),d(t.$$.fragment,i),c=!1},d(i){i&&y(r),w(l,i),w(t,i)}}}function Tn(f){let l,r,t,c;return l=new _({props:{code:"b3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQXByaW50KG91dHB1dHMubGFzdF9oaWRkZW5fc3RhdGUuc2hhcGUp",highlighted:`outputs = model(**inputs)
<span class="hljs-built_in">print</span>(outputs.last_hidden_state.shape)`,wrap:!1}}),t=new _({props:{code:"dG9yY2guU2l6ZSglNUIyJTJDJTIwMTYlMkMlMjA3NjglNUQp",highlighted:'torch.Size([<span class="hljs-number">2</span>, <span class="hljs-number">16</span>, <span class="hljs-number">768</span>])',wrap:!1}}),{c(){J(l.$$.fragment),r=p(),J(t.$$.fragment)},l(i){U(l.$$.fragment,i),r=o(i),U(t.$$.fragment,i)},m(i,b){j(l,i,b),g(i,r,b),j(t,i,b),c=!0},i(i){c||(m(l.$$.fragment,i),m(t.$$.fragment,i),c=!0)},o(i){d(l.$$.fragment,i),d(t.$$.fragment,i),c=!1},d(i){i&&y(r),w(l,i),w(t,i)}}}function bn(f){let l,r="برای این مثال، نیازمند مدلی با سَر مخصوص دسته‌بندی رشته‌ها (برای تشخیص منفی یا مثبت بودن جملات) هستیم. پس به جای کلاس <code>TFAutoModel</code> از کلاس <code>TFAutoModelForSequenceClassification</code> استفاده می‌کنیم:",t,c,i,b;return i=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbiUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3N0LTItZW5nbGlzaCUyMiUwQW1vZGVsJTIwJTNEJTIwVEZBdXRvTW9kZWxGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQW91dHB1dHMlMjAlM0QlMjBtb2RlbChpbnB1dHMp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSequenceClassification
checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased-finetuned-sst-2-english&quot;</span>
model = TFAutoModelForSequenceClassification.from_pretrained(checkpoint)
outputs = model(inputs)`,wrap:!1}}),{c(){l=u("p"),l.innerHTML=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-ksgvvn"&&(l.innerHTML=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function Jn(f){let l,r="برای این مثال، نیازمند مدلی با سَر مخصوص دسته‌بندی رشته‌ها (برای تشخیص منفی یا مثبت بودن جملات) هستیم. پس به جای کلاس <code>AutoModel</code> از کلاس <code>AutoModelForSequenceClassification</code> استفاده می‌کنیم:",t,c,i,b;return i=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24lMEElMEFjaGVja3BvaW50JTIwJTNEJTIwJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNzdC0yLWVuZ2xpc2glMjIlMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSequenceClassification
checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased-finetuned-sst-2-english&quot;</span>
model = AutoModelForSequenceClassification.from_pretrained(checkpoint)
outputs = model(**inputs)`,wrap:!1}}),{c(){l=u("p"),l.innerHTML=r,t=p(),c=u("div"),J(i.$$.fragment),this.h()},l(e){l=M(e,"P",{"data-svelte-h":!0}),T(l)!=="svelte-16a98u3"&&(l.innerHTML=r),t=o(e),c=M(e,"DIV",{dir:!0});var h=k(c);U(i.$$.fragment,h),h.forEach(y),this.h()},h(){$(c,"dir","ltr")},m(e,h){g(e,l,h),g(e,t,h),g(e,c,h),j(i,c,null),b=!0},i(e){b||(m(i.$$.fragment,e),b=!0)},o(e){d(i.$$.fragment,e),b=!1},d(e){e&&(y(l),y(t),y(c)),w(i)}}}function Un(f){let l,r;return l=new _({props:{code:"KDIlMkMlMjAyKQ==",highlighted:'(<span class="hljs-number">2</span>, <span class="hljs-number">2</span>)',wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function jn(f){let l,r;return l=new _({props:{code:"dG9yY2guU2l6ZSglNUIyJTJDJTIwMiU1RCk=",highlighted:'torch.Size([<span class="hljs-number">2</span>, <span class="hljs-number">2</span>])',wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function wn(f){let l,r;return l=new _({props:{code:"JTNDdGYuVGVuc29yJTNBJTIwc2hhcGUlM0QoMiUyQyUyMDIpJTJDJTIwZHR5cGUlM0RmbG9hdDMyJTJDJTIwbnVtcHklM0QlMEElMjAlMjAlMjAlMjBhcnJheSglNUIlNUItMS41NjA2OTkxJTJDJTIwJTIwMS42MTIyODQyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwNC4xNjkyMzElMjAlMkMlMjAtMy4zNDY0NDcyJTVEJTVEJTJDJTIwZHR5cGUlM0RmbG9hdDMyKSUzRQ==",highlighted:`&lt;tf.Tensor: shape=(<span class="hljs-number">2</span>, <span class="hljs-number">2</span>), dtype=float32, numpy=
array([[-<span class="hljs-number">1.5606991</span>, <span class="hljs-number">1.6122842</span>],
[ <span class="hljs-number">4.169231</span> , -<span class="hljs-number">3.3464472</span>]], dtype=float32)&gt;`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function gn(f){let l,r;return l=new _({props:{code:"dGVuc29yKCU1QiU1Qi0xLjU2MDclMkMlMjAlMjAxLjYxMjMlNUQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUIlMjA0LjE2OTIlMkMlMjAtMy4zNDY0JTVEJTVEJTJDJTIwZ3JhZF9mbiUzRCUzQ0FkZG1tQmFja3dhcmQlM0Up",highlighted:`tensor([[-<span class="hljs-number">1.5607</span>, <span class="hljs-number">1.6123</span>],
[ <span class="hljs-number">4.1692</span>, -<span class="hljs-number">3.3464</span>]], grad_fn=&lt;AddmmBackward&gt;)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function _n(f){let l,r;return l=new _({props:{code:"aW1wb3J0JTIwdGVuc29yZmxvdyUyMGFzJTIwdGYlMEElMEFwcmVkaWN0aW9ucyUyMCUzRCUyMHRmLm1hdGguc29mdG1heChvdXRwdXRzLmxvZ2l0cyUyQyUyMGF4aXMlM0QtMSklMEFwcmludChwcmVkaWN0aW9ucyk=",highlighted:`<span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf
predictions = tf.math.softmax(outputs.logits, axis=-<span class="hljs-number">1</span>)
<span class="hljs-built_in">print</span>(predictions)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function Cn(f){let l,r;return l=new _({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFwcmVkaWN0aW9ucyUyMCUzRCUyMHRvcmNoLm5uLmZ1bmN0aW9uYWwuc29mdG1heChvdXRwdXRzLmxvZ2l0cyUyQyUyMGRpbSUzRC0xKSUwQXByaW50KHByZWRpY3Rpb25zKQ==",highlighted:`<span class="hljs-keyword">import</span> torch
predictions = torch.nn.functional.softmax(outputs.logits, dim=-<span class="hljs-number">1</span>)
<span class="hljs-built_in">print</span>(predictions)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function $n(f){let l,r;return l=new _({props:{code:"dGYuVGVuc29yKCUwQSU1QiU1QjQuMDE5NTE2NzFlLTAyJTIwOS41OTgwNDgzM2UtMDElNUQlMEElMjAlNUI5Ljk5NDU1ODdlLTAxJTIwNS40NDE4NDI0ZS0wNCU1RCU1RCUyQyUyMHNoYXBlJTNEKDIlMkMlMjAyKSUyQyUyMGR0eXBlJTNEZmxvYXQzMik=",highlighted:`tf.Tensor(
[[<span class="hljs-number">4.01951671e-02</span> <span class="hljs-number">9.59804833e-01</span>]
[<span class="hljs-number">9.9945587e-01</span> <span class="hljs-number">5.4418424e-04</span>]], shape=(<span class="hljs-number">2</span>, <span class="hljs-number">2</span>), dtype=float32)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function kn(f){let l,r;return l=new _({props:{code:"dGVuc29yKCU1QiU1QjQuMDE5NWUtMDIlMkMlMjA5LjU5ODBlLTAxJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCOS45OTQ2ZS0wMSUyQyUyMDUuNDQxOGUtMDQlNUQlNUQlMkMlMjBncmFkX2ZuJTNEJTNDU29mdG1heEJhY2t3YXJkJTNFKQ==",highlighted:`tensor([[<span class="hljs-number">4.0195e-02</span>, <span class="hljs-number">9.5980e-01</span>],
[<span class="hljs-number">9.9946e-01</span>, <span class="hljs-number">5.4418e-04</span>]], grad_fn=&lt;SoftmaxBackward&gt;)`,wrap:!1}}),{c(){J(l.$$.fragment)},l(t){U(l.$$.fragment,t)},m(t,c){j(l,t,c),r=!0},i(t){r||(m(l.$$.fragment,t),r=!0)},o(t){d(l.$$.fragment,t),r=!1},d(t){w(l,t)}}}function In(f){let l,r,t,c,i,b,e,h,Gt,ce,Zt,I,v,It,ie,Wl="<p>این اولین بخشی است که محتوای آن بسته به اینکه از پایتورچ یا تِنسورفِلو استفاده می‌کنید کمی متفاوت است. از سویچ بالای صفحه برای انتخاب پلتفرمی که ترجیح می‌دهید استفاده کنید!</p>",Ht,A,x,vt,Ge,Bl='بگذارید با یک مثال کامل شروع کنیم. نگاهی می‌اندازیم به آنچه در پشت صحنه در اثر اجرای این قطعه کد در <a href="/course/chapter1">فصل اول</a> رخ داد:',Rt,Ze,pe,St,He,zl="این خروجی را دریافت کردیم:",Wt,Re,oe,Bt,Se,Ll="همان طور که در در فصل اول دیدیم، این خط تولید از سه مرحله تشکیل شده است: پیش‌پردازش، پردازش ورودی‌ها در مدل و پس‌پردازش.",zt,ue,Fl='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter2/full_nlp_pipeline.svg" alt="The full NLP pipeline: tokenization of text, conversion to IDs, and inference through the Transformer model and the model head."/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter2/full_nlp_pipeline-dark.svg" alt="The full NLP pipeline: tokenization of text, conversion to IDs, and inference through the Transformer model and the model head."/>',Lt,We,Xl="به صورت خلاصه هرکدام از این مراحل را بررسی می‌کنیم.",Ft,Me,Xt,Be,Yl="مثل شبکه‌های عصبی دیگر، مدل‌های ترنسفورمر هم نمی‌توانند نوشته خام را پردازش کنند. پس اولین قدم در خط تولید ما، تبدیل نوشته خام ورودی به اعدادی است که مدل قادر به فهم آنها باشد. برای این کار از یک <em>توکِنایزر</em> استفاده می‌کنیم، که مسئولیت‌های زیر را بر عهده دارد:",Yt,ze,ql="<li>شکستن نوشته به کلمات، زیرکلمات و علامت‌ها (مانند علائم نگارشی) که به آنها ‌<em>توکِن</em> می‌گوییم.</li> <li>انتخاب عدد صحیح معادل برای هر توکِن.</li> <li>اضافه‌کردن ورودی‌های دیگری که ممکن است برای مدل مفید باشند.</li>",qt,Le,Pl='همه مراحل این پیش‌پردازش باید دقیقا همان طور که قبلا هنگام تعلیم مدل انجام شده، دنبال شوند. این اطلاعات در <a href="https://huggingface.co/models" rel="nofollow">هاب مدل‌ها</a> موجود است و توسط تابع <span dir="ltr"><code>from_pretrained()</code></span> از کلاس <code>AutoTokenizer</code> دانلود می‌شود. با استفاده از نام کامل مدل که شامل نقطه تعلیم است، این تابع به صورت خودکار داده‌های توکِنایزر مدل را دریافت نموده و در سیستم شما ذخیره می‌کند. به این ترتیب این داده‌ها فقط بار اولی که کد زیر را اجرا می‌کنید دانلود می‌شوند.',Pt,Fe,Kl='خط تولید <code>تحلیل احساسات</code> نقطه تعلیم پیش‌فرضی به نام <code>distilbert-base-uncased-finetuned-sst-2-english</code> دارد. صفحه توضیحات این مدل را می‌توانید در <a href="https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english" rel="nofollow">اینجا مشاهده کنید</a>. با اجرای کد زیر آن را دانلود می‌کنیم:',Kt,Xe,de,Ot,Ye,Ol="پس از دریافت توکِنایزر، می‌توانیم جملات خود را مستقیماً وارد آن کنیم و دیکشنری خروجی را دریافت کنیم که آماده است تا به عنوان ورودی مدل مورد استفاده قرار گیرد! تنها کار باقی مانده، تبدیل لیست شناسه‌های ورودی به تِنسور است.",el,qe,es="شما می‌توانید از ترنسفورمرهای هاگینگ‌فِیس بدون اطلاع از اینکه کدام فریمورک یادگیری ماشین در پشت صحنه درگیر می‌شود استفاده کنید. ممکن است از پایتورچ، تِنسورفِلو یا حتی فلَکس برای بعضی مدل‌ها استفاده شده باشد. با این وجود، مدل‌های ترسفورمر فقط <em>تِنسور</em>‌ها را به عنوان ورودی قبول می‌کنند. اگر این بار اولی است که کلمه تِنسور را می‌شنوید، تصور کنید مانند آرایه‌های NumPy هستند. این آرایه‌ها می‌توانند عددی (تک بُعدی)، برداری (یک بُعدی)، ماتریس (دو بُعدی) یا با ابعاد بیشتر باشند. آن‌ها در واقع تِنسور هستند و تِنسورها در فریمورک‌های یادگیری ماشین رفتاری شبیه به آرایه‌های NumPy دارند و به همان سادگی هم ساخته می‌شوند.",tl,Pe,ts="برای مشخص کردن نوع تِنسوری که می‌خواهیم به عنوان خروجی دریافت کنیم (پایتورچ، تِنسورفِلو یا NumPy ساده)، از آرگومان <code>return_tensors</code> استفاده می‌کنیم:",ll,me,D,Q,sl,Ke,ls="هنوز لازم نیست نگران آرگومان‌های <code>padding</code> و <code>truncation</code> باشید؛ زیرا بعدتر به آنها خواهیم پرداخت. مسئله اصلی که باید به به خاطر بسپارید، امکان دادن جمله یا آرایه‌ای از جمله‌ها به عنوان ورودی و مشخص کردن نوع تِنسورهای خروجی است. اگر نوع خروجی را مشخص نکنید، لیستی از لیست‌ها را دریافت خواهید کرد.",nl,E,N,At,Oe,ss="خروجی یک دیکشنری با دو کلید <code>input_ids</code> و <code>attention_mask</code> است. <code>input_ids</code> دو ردیف عدد صحیح (یک ردیف برای هر جمله) است که شناسه‌های منحصر به فرد توکِن‌های هر جمله هستند. <code>attention_mask</code> را بعدتر در همین فصل توضیح خواهیم داد.",al,he,rl,V,G,xt,et,ns="در این قطعه کد، همان نقطه تعلیمی که قبلا در خط تولید استفاده کردیم را دانلود کرده و مدلی جدید بر اساس آن می‌سازیم. این نقطه تعلیم احتمالا قبلا دانلود شده و در سیستم شما موجود است؛ پس نیازی به دانلود مجدد ندارد.",cl,tt,as="این معماری تنها شامل ماژول پایهٔ ترنسفورمر است: با دریافت ورودی،‌ تنها <em>وضعیت پنهان</em> را در خروجی تحویل می‌دهد. به این وضعیت‌های پنهان، <em>فیچر</em> هم می‌گوییم. برای هر ورودی مدل، برداری با بُعد بالا دریافت می‌کنیم که معادل «درک کلی مدل ترنسفورمر از آن ورودی» است.",il,lt,rs="نگران نباشید اگر درک این مفاهیم سخت است. همه آنها را بعدتر توضیح خواهیم داد.",pl,st,cs='با وجود آنکه وضعیت‌های پنهان به خودی خود هم مفید هستند، آن‌ها معمولا ورودی بخش دیگری از مدل به نام <em>سَر مدل</em> هستند. در <a href="/course/chapter1">فصل اول</a>، می‌توانستیم همه مسائل مختلف را توسط تنها یک معماری حل کنیم، و سپس خروجی را به سر متفاوتی در ادامه مدل پاس بدهیم.',ol,ye,ul,nt,is="خروجی ماژول <code>Transformer</code> معمولا تِنسوری بزرگ است که اکثراً سه بُعد دارد:",Ml,at,ps="<li><strong>اندازه بتچ</strong>: تعداد رشته‌های مورد پردازش در یک دسته، که در مثال ما دو عدد است.</li> <li><strong>طول رشته</strong>: تعداد بردار‌های عددی معادل هر رشته‌، که در مثال ما ۱۶ است.</li> <li><strong>اندازه پنهان</strong>: ابعاد بردار نماینده هر ورودی مدل.</li>",dl,rt,os="به خاطر همین مقدار آخر به این تِنسور «بُعد بالا» می‌گوییم. اندازه پنهان می‌تواند بسیار بزرگ باشد (معمولا ۷۶۸ برای مدل‌های کوچک‌تر، و در مدل‌های بزرگ‌تر این عدد به ۳۰۷۲ یا بیشتر هم می‌رسد).",ml,ct,us="با پاس دادن ورودی‌های پیش‌پردازش شده به مدل خود می‌توانیم این تِنسور را ببینیم:",hl,fe,Z,H,yl,it,Ms="توجه کنید که خروجی‌های ترنسفورمرهای هاگینگ‌فِیس، رفتاری شبیه <code>namedtuple</code>‌ یا دیکشنری‌ دارند. شما می‌توانید به هر عضو، با استفاده از نامش (مانند آنچه ما انجام دادیم) یا با کلیدش (<code>outputs[&quot;last_hidden_state&quot;]</code>) یا حتی اگر دقیقاً از مکان آن اطلاع دارید با اندیس‌اش (<code>outputs[0]</code>) دسترسی پیدا کنید.",fl,Te,Tl,pt,ds="قسمت سَر، بردارهای بُعد بالای وضعیت پنهان را به عنوان ورودی می‌پذیرد و آنها را به بُعدی دیگر می‌برد. سَرها معمولا از یک یا چند لایه خطی تشکیل شده‌اند.",bl,be,ms='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter2/transformer_and_head.svg" alt="A Transformer network alongside its head."/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter2/transformer_and_head-dark.svg" alt="A Transformer network alongside its head."/>',Jl,ot,hs="خروجی مدل ترنسفورمر، مستقیماً به سَر مدل برای پردازش پاس داده می‌شود. در این نمودار، مدل ترنسفورمر به لایه embeddings و لایه‌های بعدی آن تقسیم شده است. لایه embeddings هر شناسه ورودی در ورودی توکِن‌شده را به یک بردار که نماینده آن توکِن است تبدیل می‌کند. لایه‌های بعدی با دستکاری در این بردار‌ها توسط مکانیزم توجه، شکل پایانی بردار نماینده جملات را تولید می‌کنند.",Ul,ut,ys="تعداد زیادی از معماری‌‌های مختلف در ترنسفورمر‌های هاگینگ‌فِیس موجود است و هرکدام برای حل یک مسئله خاص طراحی شده‌اند. در این‌جا فهرست کوتاهی از‌ آنها را می‌آوریم:",jl,Mt,fs="<li><code>*Model</code> (برای دسترسی به وضعیت‌های پنهان)</li> <li><code>*ForCausalLM</code></li> <li><code>*ForMaskedLM</code></li> <li><code>*ForMultipleChoice</code></li> <li><code>*ForQuestionAnswering</code></li> <li><code>*ForSequenceClassification</code></li> <li><code>*ForTokenClassification</code></li> <li>و نمونه‌های دیگر در ‌هاگینگ‌فِیس</li>",wl,R,S,Dt,dt,Ts="اگر نگاهی به شکل ورودی‌ها بیاندازیم، خواهیم دید که حالا تعداد ابعاد آنها بسیار کمتر است: قسمت سَر مدل، بردارهای بُعد بالایی که قبلا دیدیم را به عنوان ورودی دریافت کرده و در خروجی خود، بردارهایی با دو عضو (یکی به ازای هر برچسب دسته‌بندی) تولید می‌کند.",gl,ee,Je,_l,W,B,Cl,mt,bs="از آنجا که ما تنها دو جمله و دو برچسب ممکن داشتیم، خروجی مدل ما شکل ۲ در ۲ دارد.",$l,Ue,kl,ht,Js="مقادیری که به عنوان خروجی از مدل‌ دریافت می‌کنیم به خودی خود قابل درک نیستند. بگذارید نگاهی به آن‌ها بیندازیم:",Il,te,je,vl,z,L,Al,yt,Us='پیش‌بینی مدل ما برای جمله اول <span dir="ltr"><code>[-1.5607, 1.6123]</code></span> و برای جمله دوم <span dir="ltr"><code>[4.1692, -3.3464]</code></span> است. این‌ خروجی‌ها مقادیر آماری نیستند. به این مقادیر <em>لوجیت</em> می‌گوییم. مقادیری خام و نرمال‌نشده که خروجی آخرین لایه مدل هستند. برای تبدیل به مقادیر آماری باید این مقادیر را از یک لایه‌ <a href="https://en.wikipedia.org/wiki/Softmax_function" rel="nofollow">سافت‌مکس</a> بگذرانیم. تمام ترنسفورمرهای هاگینگ‌فِیس در خروجی لوجیت تولید می‌کنند زیرا معمولا تابع هزینه مورد استفاده در تعلیم مدل، آخرین تابع فعال‌سازی (مانند سافت‌مکس‌) را با تابع هزینه مدل (مانند آنتروپی متقابل) ترکیب می‌کند.',xl,O,F,X,Qt,Y,q,Dl,ft,js='حالا می‌ببینیم که پیش‌بینی مدل برای جمله اول <span dir="ltr"><code>[0.0402, 0.9598]</code></span> و برای جمله دوم <span dir="ltr"><code>[0.9995, 0.0005]</code></span> است. این‌ها مقادیر آشنای آماری (به فرم احتمال) هستند.',Ql,Tt,ws="برای تبدیل این مقادیر به برچسب دسته تشخیص داده شده می‌توانیم از ویژگی <code>id2label</code> تنظیمات مدل استفاده کنیم (در بخش بعدی بیشتر در این مورد صحبت خواهیم کرد):",El,le,we,Nl,ge,Vl,bt,gs="اکنون مشخص است که پیش‌بینی‌های مدل از این قرار هستند:",Gl,Jt,_s="<li>جمله اول: NEGATIVE: 0.0402, POSITIVE: 0.9598</li> <li>جمله دوم: NEGATIVE: 0.9995, POSITIVE: 0.0005</li>",Zl,Ut,Cs="ما با موفقیت سه مرحله خط تولید را در اینجا نشان دادیم: پیش‌پردازش توسط توکِنایزرها، گذر ورودی‌ها از مدل و پس‌پردازش! اکنون زمان آن فرا رسیده که به شکلی عمیق‌تر وارد هر یک از این مراحل شویم.",Hl,_e,$s="<p>✏️ <strong>خودتان امتحان کنید!</strong> دو نوشته از خودتان (یا حتی بیشتر) را از خط تولید <code>sentiment-analysis</code> بگذرانید. سپس مراحلی که در اینجا دیدیم را تکرار کنید و بررسی کنید که نتایج همان هستند!</p>",Et,Ce,Nt,kt,Vt;i=new an({props:{fw:f[0]}}),h=new sn({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),ce=new $t({props:{title:"پشت صحنه خط تولید",local:"پشت-صحنه-خط-تولید",headingTag:"h1"}});const ks=[cn,rn],$e=[];function Is(a,C){return a[0]==="pt"?0:1}I=Is(f),v=$e[I]=ks[I](f);const vs=[on,pn],ke=[];function As(a,C){return a[0]==="pt"?0:1}A=As(f),x=ke[A]=vs[A](f),pe=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBY2xhc3NpZmllciUyMCUzRCUyMHBpcGVsaW5lKCUyMnNlbnRpbWVudC1hbmFseXNpcyUyMiklMEFjbGFzc2lmaWVyKCUwQSUyMCUyMCUyMCUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMkkndmUlMjBiZWVuJTIwd2FpdGluZyUyMGZvciUyMGElMjBIdWdnaW5nRmFjZSUyMGNvdXJzZSUyMG15JTIwd2hvbGUlMjBsaWZlLiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMkklMjBoYXRlJTIwdGhpcyUyMHNvJTIwbXVjaCElMjIlMkMlMEElMjAlMjAlMjAlMjAlNUQlMEEp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline
classifier = pipeline(<span class="hljs-string">&quot;sentiment-analysis&quot;</span>)
classifier(
[
<span class="hljs-string">&quot;I&#x27;ve been waiting for a HuggingFace course my whole life.&quot;</span>,
<span class="hljs-string">&quot;I hate this so much!&quot;</span>,
]
)`,wrap:!1}}),oe=new _({props:{code:"JTVCJTdCJ2xhYmVsJyUzQSUyMCdQT1NJVElWRSclMkMlMjAnc2NvcmUnJTNBJTIwMC45NTk4MDQ3MTM3MjYwNDM3JTdEJTJDJTBBJTIwJTdCJ2xhYmVsJyUzQSUyMCdORUdBVElWRSclMkMlMjAnc2NvcmUnJTNBJTIwMC45OTk0NTU4MDk1OTMyMDA3JTdEJTVE",highlighted:`[{<span class="hljs-string">&#x27;label&#x27;</span>: <span class="hljs-string">&#x27;POSITIVE&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.9598047137260437</span>},
{<span class="hljs-string">&#x27;label&#x27;</span>: <span class="hljs-string">&#x27;NEGATIVE&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.9994558095932007</span>}]`,wrap:!1}}),Me=new $t({props:{title:"پیش‌پردازش با توکِنایزر",local:"پیشپردازش-با-توکنایزر",headingTag:"h2"}}),de=new _({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEFjaGVja3BvaW50JTIwJTNEJTIwJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNzdC0yLWVuZ2xpc2glMjIlMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased-finetuned-sst-2-english&quot;</span>
tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}});const xs=[Mn,un],Ie=[];function Ds(a,C){return a[0]==="pt"?0:1}D=Ds(f),Q=Ie[D]=xs[D](f);const Qs=[mn,dn],ve=[];function Es(a,C){return a[0]==="pt"?0:1}E=Es(f),N=ve[E]=Qs[E](f),he=new $t({props:{title:"گذر از مدل",local:"گذر-از-مدل",headingTag:"h2"}});const Ns=[yn,hn],Ae=[];function Vs(a,C){return a[0]==="pt"?0:1}V=Vs(f),G=Ae[V]=Ns[V](f),ye=new $t({props:{title:"بردار‌های با بُعد بالا؟",local:"بردارهای-با-بعد-بالا",headingTag:"h3"}});const Gs=[Tn,fn],xe=[];function Zs(a,C){return a[0]==="pt"?0:1}Z=Zs(f),H=xe[Z]=Gs[Z](f),Te=new $t({props:{title:"سَر مدل: درک اعداد درون مدل",local:"سر-مدل-درک-اعداد-درون-مدل",headingTag:"h3"}});const Hs=[Jn,bn],De=[];function Rs(a,C){return a[0]==="pt"?0:1}R=Rs(f),S=De[R]=Hs[R](f),Je=new _({props:{code:"cHJpbnQob3V0cHV0cy5sb2dpdHMuc2hhcGUp",highlighted:'<span class="hljs-built_in">print</span>(outputs.logits.shape)',wrap:!1}});const Ss=[jn,Un],Qe=[];function Ws(a,C){return a[0]==="pt"?0:1}W=Ws(f),B=Qe[W]=Ss[W](f),Ue=new $t({props:{title:"پس‌پردازش خروجی",local:"پسپردازش-خروجی",headingTag:"h2"}}),je=new _({props:{code:"cHJpbnQob3V0cHV0cy5sb2dpdHMp",highlighted:'<span class="hljs-built_in">print</span>(outputs.logits)',wrap:!1}});const Bs=[gn,wn],Ee=[];function zs(a,C){return a[0]==="pt"?0:1}z=zs(f),L=Ee[z]=Bs[z](f);const Ls=[Cn,_n],Ne=[];function Fs(a,C){return a[0]==="pt"?0:1}F=Fs(f),X=Ne[F]=Ls[F](f);const Xs=[kn,$n],Ve=[];function Ys(a,C){return a[0]==="pt"?0:1}return Y=Ys(f),q=Ve[Y]=Xs[Y](f),we=new _({props:{code:"bW9kZWwuY29uZmlnLmlkMmxhYmVs",highlighted:"model.config.id2label",wrap:!1}}),ge=new _({props:{code:"JTdCMCUzQSUyMCdORUdBVElWRSclMkMlMjAxJTNBJTIwJ1BPU0lUSVZFJyU3RA==",highlighted:'{<span class="hljs-number">0</span>: <span class="hljs-string">&#x27;NEGATIVE&#x27;</span>, <span class="hljs-number">1</span>: <span class="hljs-string">&#x27;POSITIVE&#x27;</span>}',wrap:!1}}),Ce=new nn({props:{source:"https://github.com/huggingface/course/blob/main/chapters/fa/chapter2/2.mdx"}}),{c(){l=u("meta"),r=p(),t=u("p"),c=p(),J(i.$$.fragment),b=p(),e=u("div"),J(h.$$.fragment),Gt=p(),J(ce.$$.fragment),Zt=p(),v.c(),It=p(),ie=u("blockquote"),ie.innerHTML=Wl,Ht=p(),x.c(),vt=p(),Ge=u("p"),Ge.innerHTML=Bl,Rt=p(),Ze=u("div"),J(pe.$$.fragment),St=p(),He=u("p"),He.textContent=zl,Wt=p(),Re=u("div"),J(oe.$$.fragment),Bt=p(),Se=u("p"),Se.textContent=Ll,zt=p(),ue=u("div"),ue.innerHTML=Fl,Lt=p(),We=u("p"),We.textContent=Xl,Ft=p(),J(Me.$$.fragment),Xt=p(),Be=u("p"),Be.innerHTML=Yl,Yt=p(),ze=u("ul"),ze.innerHTML=ql,qt=p(),Le=u("p"),Le.innerHTML=Pl,Pt=p(),Fe=u("p"),Fe.innerHTML=Kl,Kt=p(),Xe=u("div"),J(de.$$.fragment),Ot=p(),Ye=u("p"),Ye.textContent=Ol,el=p(),qe=u("p"),qe.innerHTML=es,tl=p(),Pe=u("p"),Pe.innerHTML=ts,ll=p(),me=u("div"),Q.c(),sl=p(),Ke=u("p"),Ke.innerHTML=ls,nl=p(),N.c(),At=p(),Oe=u("p"),Oe.innerHTML=ss,al=p(),J(he.$$.fragment),rl=p(),G.c(),xt=p(),et=u("p"),et.textContent=ns,cl=p(),tt=u("p"),tt.innerHTML=as,il=p(),lt=u("p"),lt.textContent=rs,pl=p(),st=u("p"),st.innerHTML=cs,ol=p(),J(ye.$$.fragment),ul=p(),nt=u("p"),nt.innerHTML=is,Ml=p(),at=u("ul"),at.innerHTML=ps,dl=p(),rt=u("p"),rt.textContent=os,ml=p(),ct=u("p"),ct.textContent=us,hl=p(),fe=u("div"),H.c(),yl=p(),it=u("p"),it.innerHTML=Ms,fl=p(),J(Te.$$.fragment),Tl=p(),pt=u("p"),pt.textContent=ds,bl=p(),be=u("div"),be.innerHTML=ms,Jl=p(),ot=u("p"),ot.textContent=hs,Ul=p(),ut=u("p"),ut.textContent=ys,jl=p(),Mt=u("ul"),Mt.innerHTML=fs,wl=p(),S.c(),Dt=p(),dt=u("p"),dt.textContent=Ts,gl=p(),ee=u("div"),J(Je.$$.fragment),_l=p(),B.c(),Cl=p(),mt=u("p"),mt.textContent=bs,$l=p(),J(Ue.$$.fragment),kl=p(),ht=u("p"),ht.textContent=Js,Il=p(),te=u("div"),J(je.$$.fragment),vl=p(),L.c(),Al=p(),yt=u("p"),yt.innerHTML=Us,xl=p(),O=u("div"),X.c(),Qt=p(),q.c(),Dl=p(),ft=u("p"),ft.innerHTML=js,Ql=p(),Tt=u("p"),Tt.innerHTML=ws,El=p(),le=u("div"),J(we.$$.fragment),Nl=p(),J(ge.$$.fragment),Vl=p(),bt=u("p"),bt.textContent=gs,Gl=p(),Jt=u("ul"),Jt.innerHTML=_s,Zl=p(),Ut=u("p"),Ut.textContent=Cs,Hl=p(),_e=u("blockquote"),_e.innerHTML=$s,Et=p(),J(Ce.$$.fragment),Nt=p(),kt=u("p"),this.h()},l(a){const C=ln("svelte-u9bgzb",document.head);l=M(C,"META",{name:!0,content:!0}),C.forEach(y),r=o(a),t=M(a,"P",{}),k(t).forEach(y),c=o(a),U(i.$$.fragment,a),b=o(a),e=M(a,"DIV",{dir:!0});var s=k(e);U(h.$$.fragment,s),Gt=o(s),U(ce.$$.fragment,s),Zt=o(s),v.l(s),It=o(s),ie=M(s,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),T(ie)!=="svelte-nnla6x"&&(ie.innerHTML=Wl),Ht=o(s),x.l(s),vt=o(s),Ge=M(s,"P",{"data-svelte-h":!0}),T(Ge)!=="svelte-1epixyy"&&(Ge.innerHTML=Bl),Rt=o(s),Ze=M(s,"DIV",{dir:!0});var jt=k(Ze);U(pe.$$.fragment,jt),jt.forEach(y),St=o(s),He=M(s,"P",{"data-svelte-h":!0}),T(He)!=="svelte-1muwpc4"&&(He.textContent=zl),Wt=o(s),Re=M(s,"DIV",{dir:!0});var wt=k(Re);U(oe.$$.fragment,wt),wt.forEach(y),Bt=o(s),Se=M(s,"P",{"data-svelte-h":!0}),T(Se)!=="svelte-cdujf8"&&(Se.textContent=Ll),zt=o(s),ue=M(s,"DIV",{class:!0,"data-svelte-h":!0}),T(ue)!=="svelte-fbe70j"&&(ue.innerHTML=Fl),Lt=o(s),We=M(s,"P",{"data-svelte-h":!0}),T(We)!=="svelte-ytifni"&&(We.textContent=Xl),Ft=o(s),U(Me.$$.fragment,s),Xt=o(s),Be=M(s,"P",{"data-svelte-h":!0}),T(Be)!=="svelte-z1xc96"&&(Be.innerHTML=Yl),Yt=o(s),ze=M(s,"UL",{"data-svelte-h":!0}),T(ze)!=="svelte-fu8hvq"&&(ze.innerHTML=ql),qt=o(s),Le=M(s,"P",{"data-svelte-h":!0}),T(Le)!=="svelte-j0c9hw"&&(Le.innerHTML=Pl),Pt=o(s),Fe=M(s,"P",{"data-svelte-h":!0}),T(Fe)!=="svelte-1klgpqn"&&(Fe.innerHTML=Kl),Kt=o(s),Xe=M(s,"DIV",{dir:!0});var gt=k(Xe);U(de.$$.fragment,gt),gt.forEach(y),Ot=o(s),Ye=M(s,"P",{"data-svelte-h":!0}),T(Ye)!=="svelte-15grxvd"&&(Ye.textContent=Ol),el=o(s),qe=M(s,"P",{"data-svelte-h":!0}),T(qe)!=="svelte-rfdykz"&&(qe.innerHTML=es),tl=o(s),Pe=M(s,"P",{"data-svelte-h":!0}),T(Pe)!=="svelte-xxscdu"&&(Pe.innerHTML=ts),ll=o(s),me=M(s,"DIV",{dir:!0});var _t=k(me);Q.l(_t),_t.forEach(y),sl=o(s),Ke=M(s,"P",{"data-svelte-h":!0}),T(Ke)!=="svelte-kdgpht"&&(Ke.innerHTML=ls),nl=o(s),N.l(s),At=o(s),Oe=M(s,"P",{"data-svelte-h":!0}),T(Oe)!=="svelte-1lxdqk5"&&(Oe.innerHTML=ss),al=o(s),U(he.$$.fragment,s),rl=o(s),G.l(s),xt=o(s),et=M(s,"P",{"data-svelte-h":!0}),T(et)!=="svelte-1q2nc9h"&&(et.textContent=ns),cl=o(s),tt=M(s,"P",{"data-svelte-h":!0}),T(tt)!=="svelte-19tv7wu"&&(tt.innerHTML=as),il=o(s),lt=M(s,"P",{"data-svelte-h":!0}),T(lt)!=="svelte-srg1hl"&&(lt.textContent=rs),pl=o(s),st=M(s,"P",{"data-svelte-h":!0}),T(st)!=="svelte-1p91pya"&&(st.innerHTML=cs),ol=o(s),U(ye.$$.fragment,s),ul=o(s),nt=M(s,"P",{"data-svelte-h":!0}),T(nt)!=="svelte-4khzvk"&&(nt.innerHTML=is),Ml=o(s),at=M(s,"UL",{"data-svelte-h":!0}),T(at)!=="svelte-1ach96z"&&(at.innerHTML=ps),dl=o(s),rt=M(s,"P",{"data-svelte-h":!0}),T(rt)!=="svelte-12u2n7u"&&(rt.textContent=os),ml=o(s),ct=M(s,"P",{"data-svelte-h":!0}),T(ct)!=="svelte-121mfn6"&&(ct.textContent=us),hl=o(s),fe=M(s,"DIV",{dir:!0});var Ct=k(fe);H.l(Ct),Ct.forEach(y),yl=o(s),it=M(s,"P",{"data-svelte-h":!0}),T(it)!=="svelte-l6tn2"&&(it.innerHTML=Ms),fl=o(s),U(Te.$$.fragment,s),Tl=o(s),pt=M(s,"P",{"data-svelte-h":!0}),T(pt)!=="svelte-129b5ji"&&(pt.textContent=ds),bl=o(s),be=M(s,"DIV",{class:!0,"data-svelte-h":!0}),T(be)!=="svelte-8mo6lt"&&(be.innerHTML=ms),Jl=o(s),ot=M(s,"P",{"data-svelte-h":!0}),T(ot)!=="svelte-1sgdez2"&&(ot.textContent=hs),Ul=o(s),ut=M(s,"P",{"data-svelte-h":!0}),T(ut)!=="svelte-huwdeu"&&(ut.textContent=ys),jl=o(s),Mt=M(s,"UL",{"data-svelte-h":!0}),T(Mt)!=="svelte-ooaqgd"&&(Mt.innerHTML=fs),wl=o(s),S.l(s),Dt=o(s),dt=M(s,"P",{"data-svelte-h":!0}),T(dt)!=="svelte-1mdl3h4"&&(dt.textContent=Ts),gl=o(s),ee=M(s,"DIV",{dir:!0});var se=k(ee);U(Je.$$.fragment,se),_l=o(se),B.l(se),se.forEach(y),Cl=o(s),mt=M(s,"P",{"data-svelte-h":!0}),T(mt)!=="svelte-1o7lqeq"&&(mt.textContent=bs),$l=o(s),U(Ue.$$.fragment,s),kl=o(s),ht=M(s,"P",{"data-svelte-h":!0}),T(ht)!=="svelte-15gxham"&&(ht.textContent=Js),Il=o(s),te=M(s,"DIV",{dir:!0});var ne=k(te);U(je.$$.fragment,ne),vl=o(ne),L.l(ne),ne.forEach(y),Al=o(s),yt=M(s,"P",{"data-svelte-h":!0}),T(yt)!=="svelte-1ege2rn"&&(yt.innerHTML=Us),xl=o(s),O=M(s,"DIV",{dir:!0});var ae=k(O);X.l(ae),Qt=o(ae),q.l(ae),ae.forEach(y),Dl=o(s),ft=M(s,"P",{"data-svelte-h":!0}),T(ft)!=="svelte-1dgcjnd"&&(ft.innerHTML=js),Ql=o(s),Tt=M(s,"P",{"data-svelte-h":!0}),T(Tt)!=="svelte-1acq99c"&&(Tt.innerHTML=ws),El=o(s),le=M(s,"DIV",{dir:!0});var re=k(le);U(we.$$.fragment,re),Nl=o(re),U(ge.$$.fragment,re),re.forEach(y),Vl=o(s),bt=M(s,"P",{"data-svelte-h":!0}),T(bt)!=="svelte-z616lg"&&(bt.textContent=gs),Gl=o(s),Jt=M(s,"UL",{"data-svelte-h":!0}),T(Jt)!=="svelte-ekwdcz"&&(Jt.innerHTML=_s),Zl=o(s),Ut=M(s,"P",{"data-svelte-h":!0}),T(Ut)!=="svelte-10nkrjb"&&(Ut.textContent=Cs),Hl=o(s),_e=M(s,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),T(_e)!=="svelte-1fmt65y"&&(_e.innerHTML=$s),s.forEach(y),Et=o(a),U(Ce.$$.fragment,a),Nt=o(a),kt=M(a,"P",{}),k(kt).forEach(y),this.h()},h(){$(l,"name","hf:doc:metadata"),$(l,"content",vn),$(ie,"class","tip"),$(Ze,"dir","ltr"),$(Re,"dir","ltr"),$(ue,"class","flex justify-center"),$(Xe,"dir","ltr"),$(me,"dir","ltr"),$(fe,"dir","ltr"),$(be,"class","flex justify-center"),$(ee,"dir","ltr"),$(te,"dir","ltr"),$(O,"dir","ltr"),$(le,"dir","ltr"),$(_e,"class","tip"),$(e,"dir","rtl")},m(a,C){n(document.head,l),g(a,r,C),g(a,t,C),g(a,c,C),j(i,a,C),g(a,b,C),g(a,e,C),j(h,e,null),n(e,Gt),j(ce,e,null),n(e,Zt),$e[I].m(e,null),n(e,It),n(e,ie),n(e,Ht),ke[A].m(e,null),n(e,vt),n(e,Ge),n(e,Rt),n(e,Ze),j(pe,Ze,null),n(e,St),n(e,He),n(e,Wt),n(e,Re),j(oe,Re,null),n(e,Bt),n(e,Se),n(e,zt),n(e,ue),n(e,Lt),n(e,We),n(e,Ft),j(Me,e,null),n(e,Xt),n(e,Be),n(e,Yt),n(e,ze),n(e,qt),n(e,Le),n(e,Pt),n(e,Fe),n(e,Kt),n(e,Xe),j(de,Xe,null),n(e,Ot),n(e,Ye),n(e,el),n(e,qe),n(e,tl),n(e,Pe),n(e,ll),n(e,me),Ie[D].m(me,null),n(e,sl),n(e,Ke),n(e,nl),ve[E].m(e,null),n(e,At),n(e,Oe),n(e,al),j(he,e,null),n(e,rl),Ae[V].m(e,null),n(e,xt),n(e,et),n(e,cl),n(e,tt),n(e,il),n(e,lt),n(e,pl),n(e,st),n(e,ol),j(ye,e,null),n(e,ul),n(e,nt),n(e,Ml),n(e,at),n(e,dl),n(e,rt),n(e,ml),n(e,ct),n(e,hl),n(e,fe),xe[Z].m(fe,null),n(e,yl),n(e,it),n(e,fl),j(Te,e,null),n(e,Tl),n(e,pt),n(e,bl),n(e,be),n(e,Jl),n(e,ot),n(e,Ul),n(e,ut),n(e,jl),n(e,Mt),n(e,wl),De[R].m(e,null),n(e,Dt),n(e,dt),n(e,gl),n(e,ee),j(Je,ee,null),n(ee,_l),Qe[W].m(ee,null),n(e,Cl),n(e,mt),n(e,$l),j(Ue,e,null),n(e,kl),n(e,ht),n(e,Il),n(e,te),j(je,te,null),n(te,vl),Ee[z].m(te,null),n(e,Al),n(e,yt),n(e,xl),n(e,O),Ne[F].m(O,null),n(O,Qt),Ve[Y].m(O,null),n(e,Dl),n(e,ft),n(e,Ql),n(e,Tt),n(e,El),n(e,le),j(we,le,null),n(le,Nl),j(ge,le,null),n(e,Vl),n(e,bt),n(e,Gl),n(e,Jt),n(e,Zl),n(e,Ut),n(e,Hl),n(e,_e),g(a,Et,C),j(Ce,a,C),g(a,Nt,C),g(a,kt,C),Vt=!0},p(a,[C]){const s={};C&1&&(s.fw=a[0]),i.$set(s);let jt=I;I=Is(a),I!==jt&&(K(),d($e[jt],1,1,()=>{$e[jt]=null}),P(),v=$e[I],v||(v=$e[I]=ks[I](a),v.c()),m(v,1),v.m(e,It));let wt=A;A=As(a),A!==wt&&(K(),d(ke[wt],1,1,()=>{ke[wt]=null}),P(),x=ke[A],x||(x=ke[A]=vs[A](a),x.c()),m(x,1),x.m(e,vt));let gt=D;D=Ds(a),D!==gt&&(K(),d(Ie[gt],1,1,()=>{Ie[gt]=null}),P(),Q=Ie[D],Q||(Q=Ie[D]=xs[D](a),Q.c()),m(Q,1),Q.m(me,null));let _t=E;E=Es(a),E!==_t&&(K(),d(ve[_t],1,1,()=>{ve[_t]=null}),P(),N=ve[E],N||(N=ve[E]=Qs[E](a),N.c()),m(N,1),N.m(e,At));let Ct=V;V=Vs(a),V!==Ct&&(K(),d(Ae[Ct],1,1,()=>{Ae[Ct]=null}),P(),G=Ae[V],G||(G=Ae[V]=Ns[V](a),G.c()),m(G,1),G.m(e,xt));let se=Z;Z=Zs(a),Z!==se&&(K(),d(xe[se],1,1,()=>{xe[se]=null}),P(),H=xe[Z],H||(H=xe[Z]=Gs[Z](a),H.c()),m(H,1),H.m(fe,null));let ne=R;R=Rs(a),R!==ne&&(K(),d(De[ne],1,1,()=>{De[ne]=null}),P(),S=De[R],S||(S=De[R]=Hs[R](a),S.c()),m(S,1),S.m(e,Dt));let ae=W;W=Ws(a),W!==ae&&(K(),d(Qe[ae],1,1,()=>{Qe[ae]=null}),P(),B=Qe[W],B||(B=Qe[W]=Ss[W](a),B.c()),m(B,1),B.m(ee,null));let re=z;z=zs(a),z!==re&&(K(),d(Ee[re],1,1,()=>{Ee[re]=null}),P(),L=Ee[z],L||(L=Ee[z]=Bs[z](a),L.c()),m(L,1),L.m(te,null));let Rl=F;F=Fs(a),F!==Rl&&(K(),d(Ne[Rl],1,1,()=>{Ne[Rl]=null}),P(),X=Ne[F],X||(X=Ne[F]=Ls[F](a),X.c()),m(X,1),X.m(O,Qt));let Sl=Y;Y=Ys(a),Y!==Sl&&(K(),d(Ve[Sl],1,1,()=>{Ve[Sl]=null}),P(),q=Ve[Y],q||(q=Ve[Y]=Xs[Y](a),q.c()),m(q,1),q.m(O,null))},i(a){Vt||(m(i.$$.fragment,a),m(h.$$.fragment,a),m(ce.$$.fragment,a),m(v),m(x),m(pe.$$.fragment,a),m(oe.$$.fragment,a),m(Me.$$.fragment,a),m(de.$$.fragment,a),m(Q),m(N),m(he.$$.fragment,a),m(G),m(ye.$$.fragment,a),m(H),m(Te.$$.fragment,a),m(S),m(Je.$$.fragment,a),m(B),m(Ue.$$.fragment,a),m(je.$$.fragment,a),m(L),m(X),m(q),m(we.$$.fragment,a),m(ge.$$.fragment,a),m(Ce.$$.fragment,a),Vt=!0)},o(a){d(i.$$.fragment,a),d(h.$$.fragment,a),d(ce.$$.fragment,a),d(v),d(x),d(pe.$$.fragment,a),d(oe.$$.fragment,a),d(Me.$$.fragment,a),d(de.$$.fragment,a),d(Q),d(N),d(he.$$.fragment,a),d(G),d(ye.$$.fragment,a),d(H),d(Te.$$.fragment,a),d(S),d(Je.$$.fragment,a),d(B),d(Ue.$$.fragment,a),d(je.$$.fragment,a),d(L),d(X),d(q),d(we.$$.fragment,a),d(ge.$$.fragment,a),d(Ce.$$.fragment,a),Vt=!1},d(a){a&&(y(r),y(t),y(c),y(b),y(e),y(Et),y(Nt),y(kt)),y(l),w(i,a),w(h),w(ce),$e[I].d(),ke[A].d(),w(pe),w(oe),w(Me),w(de),Ie[D].d(),ve[E].d(),w(he),Ae[V].d(),w(ye),xe[Z].d(),w(Te),De[R].d(),w(Je),Qe[W].d(),w(Ue),w(je),Ee[z].d(),Ne[F].d(),Ve[Y].d(),w(we),w(ge),w(Ce,a)}}}const vn='{"title":"پشت صحنه خط تولید","local":"پشت-صحنه-خط-تولید","sections":[{"title":"پیش‌پردازش با توکِنایزر","local":"پیشپردازش-با-توکنایزر","sections":[],"depth":2},{"title":"گذر از مدل","local":"گذر-از-مدل","sections":[{"title":"بردار‌های با بُعد بالا؟","local":"بردارهای-با-بعد-بالا","sections":[],"depth":3},{"title":"سَر مدل: درک اعداد درون مدل","local":"سر-مدل-درک-اعداد-درون-مدل","sections":[],"depth":3}],"depth":2},{"title":"پس‌پردازش خروجی","local":"پسپردازش-خروجی","sections":[],"depth":2}],"depth":1}';function An(f,l,r){let t="pt";return Os(()=>{const c=new URLSearchParams(window.location.search);r(0,t=c.get("fw")||"pt")}),[t]}class Zn extends en{constructor(l){super(),tn(this,l,An,In,Ks,{})}}export{Zn as component};

Xet Storage Details

Size:
58.1 kB
·
Xet hash:
c78169ca1f75e8f59291850e2f4615780d42f2218845cbd5b45f7808f9800f66

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