Buckets:
| import{s as he,o as be,n as z}from"../chunks/scheduler.9bc65507.js";import{S as je,i as _e,g as u,s as r,r as d,A as Me,h as f,f as e,c as i,j as $e,u as $,x as j,k as ge,y as ve,a as l,v as g,d as y,t as h,w as b}from"../chunks/index.707bf1b6.js";import{T as Ht}from"../chunks/Tip.c2ecdbf4.js";import{C as q}from"../chunks/CodeBlock.54a9f38d.js";import{F as ye,M as Hs}from"../chunks/Markdown.fef84341.js";import{H as Q,E as Te}from"../chunks/EditOnGithub.922df6ba.js";function Ze(w){let n,c='configuration 파일을 딕셔너리로 저장하거나 사용자 정의 configuration 속성과 기본 configuration 속성의 차이점만 저장할 수도 있습니다! 자세한 내용은 <a href="main_classes/configuration">configuration</a> 문서를 참조하세요.';return{c(){n=u("p"),n.innerHTML=c},l(a){n=f(a,"P",{"data-svelte-h":!0}),j(n)!=="svelte-p4ht4o"&&(n.innerHTML=c)},m(a,o){l(a,n,o)},p:z,d(a){a&&e(n)}}}function we(w){let n,c="사용자 지정 configuration 속성을 모델에 가져옵니다:",a,o,_,M,C="이제 사전 학습된 가중치 대신 임의의 값을 가진 모델이 생성됩니다. 이 모델을 훈련하기 전까지는 유용하게 사용할 수 없습니다. 훈련은 비용과 시간이 많이 소요되는 프로세스입니다. 일반적으로 훈련에 필요한 리소스의 일부만 사용하면서 더 나은 결과를 더 빨리 얻으려면 사전 훈련된 모델을 사용하는 것이 좋습니다.",R,v,J="사전 학습된 모델을 <code>from_pretrained()</code>로 생성합니다:",m,T,U,W,G="🤗 Transformers에서 제공한 모델의 사전 학습된 가중치를 사용하는 경우 기본 모델 configuration을 자동으로 불러옵니다. 그러나 원하는 경우 기본 모델 configuration 속성의 일부 또는 전부를 사용자 지정으로 바꿀 수 있습니다:",x,k,V;return o=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRNb2RlbCUwQSUwQW15X2NvbmZpZyUyMCUzRCUyMERpc3RpbEJlcnRDb25maWcuZnJvbV9wcmV0cmFpbmVkKCUyMi4lMkZ5b3VyX21vZGVsX3NhdmVfcGF0aCUyRmNvbmZpZy5qc29uJTIyKSUwQW1vZGVsJTIwJTNEJTIwRGlzdGlsQmVydE1vZGVsKG15X2NvbmZpZyk=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertModel | |
| <span class="hljs-meta">>>> </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">"./your_model_save_path/config.json"</span>) | |
| <span class="hljs-meta">>>> </span>model = DistilBertModel(my_config)`,wrap:!1}}),T=new q({props:{code:"bW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQlMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:'<span class="hljs-meta">>>> </span>model = DistilBertModel.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)',wrap:!1}}),k=new q({props:{code:"bW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQlMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMiUyQyUyMGNvbmZpZyUzRG15X2NvbmZpZyk=",highlighted:'<span class="hljs-meta">>>> </span>model = DistilBertModel.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>, config=my_config)',wrap:!1}}),{c(){n=u("p"),n.textContent=c,a=r(),d(o.$$.fragment),_=r(),M=u("p"),M.textContent=C,R=r(),v=u("p"),v.innerHTML=J,m=r(),d(T.$$.fragment),U=r(),W=u("p"),W.textContent=G,x=r(),d(k.$$.fragment)},l(p){n=f(p,"P",{"data-svelte-h":!0}),j(n)!=="svelte-14tvdkn"&&(n.textContent=c),a=i(p),$(o.$$.fragment,p),_=i(p),M=f(p,"P",{"data-svelte-h":!0}),j(M)!=="svelte-1x90d88"&&(M.textContent=C),R=i(p),v=f(p,"P",{"data-svelte-h":!0}),j(v)!=="svelte-157o62u"&&(v.innerHTML=J),m=i(p),$(T.$$.fragment,p),U=i(p),W=f(p,"P",{"data-svelte-h":!0}),j(W)!=="svelte-yuz877"&&(W.textContent=G),x=i(p),$(k.$$.fragment,p)},m(p,Z){l(p,n,Z),l(p,a,Z),g(o,p,Z),l(p,_,Z),l(p,M,Z),l(p,R,Z),l(p,v,Z),l(p,m,Z),g(T,p,Z),l(p,U,Z),l(p,W,Z),l(p,x,Z),g(k,p,Z),V=!0},p:z,i(p){V||(y(o.$$.fragment,p),y(T.$$.fragment,p),y(k.$$.fragment,p),V=!0)},o(p){h(o.$$.fragment,p),h(T.$$.fragment,p),h(k.$$.fragment,p),V=!1},d(p){p&&(e(n),e(a),e(_),e(M),e(R),e(v),e(m),e(U),e(W),e(x)),b(o,p),b(T,p),b(k,p)}}}function qe(w){let n,c;return n=new Hs({props:{$$slots:{default:[we]},$$scope:{ctx:w}}}),{c(){d(n.$$.fragment)},l(a){$(n.$$.fragment,a)},m(a,o){g(n,a,o),c=!0},p(a,o){const _={};o&2&&(_.$$scope={dirty:o,ctx:a}),n.$set(_)},i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function Je(w){let n,c="사용자 지정 configuration 속성을 모델에 불러옵니다:",a,o,_,M,C="이제 사전 학습된 가중치 대신 임의의 값을 가진 모델이 생성됩니다. 이 모델을 훈련하기 전까지는 유용하게 사용할 수 없습니다. 훈련은 비용과 시간이 많이 소요되는 프로세스입니다. 일반적으로 훈련에 필요한 리소스의 일부만 사용하면서 더 나은 결과를 더 빨리 얻으려면 사전 훈련된 모델을 사용하는 것이 좋습니다.",R,v,J="사전 학습된 모델을 <code>from_pretrained()</code>로 생성합니다:",m,T,U,W,G="🤗 Transformers에서 제공한 모델의 사전 학습된 가중치를 사용하는 경우 기본 모델 configuration을 자동으로 불러옵니다. 그러나 원하는 경우 기본 모델 configuration 속성의 일부 또는 전부를 사용자 지정으로 바꿀 수 있습니다:",x,k,V;return o=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydE1vZGVsJTBBJTBBbXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyLiUyRnlvdXJfbW9kZWxfc2F2ZV9wYXRoJTJGbXlfY29uZmlnLmpzb24lMjIpJTBBdGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbChteV9jb25maWcp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertModel | |
| <span class="hljs-meta">>>> </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">"./your_model_save_path/my_config.json"</span>) | |
| <span class="hljs-meta">>>> </span>tf_model = TFDistilBertModel(my_config)`,wrap:!1}}),T=new q({props:{code:"dGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:'<span class="hljs-meta">>>> </span>tf_model = TFDistilBertModel.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)',wrap:!1}}),k=new q({props:{code:"dGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyJTJDJTIwY29uZmlnJTNEbXlfY29uZmlnKQ==",highlighted:'<span class="hljs-meta">>>> </span>tf_model = TFDistilBertModel.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>, config=my_config)',wrap:!1}}),{c(){n=u("p"),n.textContent=c,a=r(),d(o.$$.fragment),_=r(),M=u("p"),M.textContent=C,R=r(),v=u("p"),v.innerHTML=J,m=r(),d(T.$$.fragment),U=r(),W=u("p"),W.textContent=G,x=r(),d(k.$$.fragment)},l(p){n=f(p,"P",{"data-svelte-h":!0}),j(n)!=="svelte-1jf8wr"&&(n.textContent=c),a=i(p),$(o.$$.fragment,p),_=i(p),M=f(p,"P",{"data-svelte-h":!0}),j(M)!=="svelte-1x90d88"&&(M.textContent=C),R=i(p),v=f(p,"P",{"data-svelte-h":!0}),j(v)!=="svelte-157o62u"&&(v.innerHTML=J),m=i(p),$(T.$$.fragment,p),U=i(p),W=f(p,"P",{"data-svelte-h":!0}),j(W)!=="svelte-yuz877"&&(W.textContent=G),x=i(p),$(k.$$.fragment,p)},m(p,Z){l(p,n,Z),l(p,a,Z),g(o,p,Z),l(p,_,Z),l(p,M,Z),l(p,R,Z),l(p,v,Z),l(p,m,Z),g(T,p,Z),l(p,U,Z),l(p,W,Z),l(p,x,Z),g(k,p,Z),V=!0},p:z,i(p){V||(y(o.$$.fragment,p),y(T.$$.fragment,p),y(k.$$.fragment,p),V=!0)},o(p){h(o.$$.fragment,p),h(T.$$.fragment,p),h(k.$$.fragment,p),V=!1},d(p){p&&(e(n),e(a),e(_),e(M),e(R),e(v),e(m),e(U),e(W),e(x)),b(o,p),b(T,p),b(k,p)}}}function Re(w){let n,c;return n=new Hs({props:{$$slots:{default:[Je]},$$scope:{ctx:w}}}),{c(){d(n.$$.fragment)},l(a){$(n.$$.fragment,a)},m(a,o){g(n,a,o),c=!0},p(a,o){const _={};o&2&&(_.$$scope={dirty:o,ctx:a}),n.$set(_)},i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function We(w){let n,c="예를 들어, <code>DistilBertForSequenceClassification</code>은 시퀀스 분류 헤드가 있는 기본 DistilBERT 모델입니다. 시퀀스 분류 헤드는 풀링된 출력 위에 있는 선형 레이어입니다.",a,o,_,M,C="다른 모델 헤드로 전환하여 이 체크포인트를 다른 작업에 쉽게 재사용할 수 있습니다. 질의응답 작업의 경우, <code>DistilBertForQuestionAnswering</code> 모델 헤드를 사용할 수 있습니다. 질의응답 헤드는 숨겨진 상태 출력 위에 선형 레이어가 있다는 점을 제외하면 시퀀스 분류 헤드와 유사합니다.",R,v,J;return o=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJTBBJTBBbW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0Rm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbi5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertForSequenceClassification | |
| <span class="hljs-meta">>>> </span>model = DistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),v=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRGb3JRdWVzdGlvbkFuc3dlcmluZyUwQSUwQW1vZGVsJTIwJTNEJTIwRGlzdGlsQmVydEZvclF1ZXN0aW9uQW5zd2VyaW5nLmZyb21fcHJldHJhaW5lZCglMjJkaXN0aWxiZXJ0JTJGZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertForQuestionAnswering | |
| <span class="hljs-meta">>>> </span>model = DistilBertForQuestionAnswering.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),{c(){n=u("p"),n.innerHTML=c,a=r(),d(o.$$.fragment),_=r(),M=u("p"),M.innerHTML=C,R=r(),d(v.$$.fragment)},l(m){n=f(m,"P",{"data-svelte-h":!0}),j(n)!=="svelte-1d1i7tu"&&(n.innerHTML=c),a=i(m),$(o.$$.fragment,m),_=i(m),M=f(m,"P",{"data-svelte-h":!0}),j(M)!=="svelte-127ugzm"&&(M.innerHTML=C),R=i(m),$(v.$$.fragment,m)},m(m,T){l(m,n,T),l(m,a,T),g(o,m,T),l(m,_,T),l(m,M,T),l(m,R,T),g(v,m,T),J=!0},p:z,i(m){J||(y(o.$$.fragment,m),y(v.$$.fragment,m),J=!0)},o(m){h(o.$$.fragment,m),h(v.$$.fragment,m),J=!1},d(m){m&&(e(n),e(a),e(_),e(M),e(R)),b(o,m),b(v,m)}}}function ke(w){let n,c;return n=new Hs({props:{$$slots:{default:[We]},$$scope:{ctx:w}}}),{c(){d(n.$$.fragment)},l(a){$(n.$$.fragment,a)},m(a,o){g(n,a,o),c=!0},p(a,o){const _={};o&2&&(_.$$scope={dirty:o,ctx:a}),n.$set(_)},i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function Ce(w){let n,c="예를 들어, <code>TFDistilBertForSequenceClassification</code>은 시퀀스 분류 헤드가 있는 기본 DistilBERT 모델입니다. 시퀀스 분류 헤드는 풀링된 출력 위에 있는 선형 레이어입니다.",a,o,_,M,C="다른 모델 헤드로 전환하여 이 체크포인트를 다른 작업에 쉽게 재사용할 수 있습니다. 질의응답 작업의 경우, <code>TFDistilBertForQuestionAnswering</code> 모델 헤드를 사용할 수 있습니다. 질의응답 헤드는 숨겨진 상태 출력 위에 선형 레이어가 있다는 점을 제외하면 시퀀스 분류 헤드와 유사합니다.",R,v,J;return o=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24lMEElMEF0Zl9tb2RlbCUyMCUzRCUyMFRGRGlzdGlsQmVydEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQlMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertForSequenceClassification | |
| <span class="hljs-meta">>>> </span>tf_model = TFDistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),v=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydEZvclF1ZXN0aW9uQW5zd2VyaW5nJTBBJTBBdGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRGb3JRdWVzdGlvbkFuc3dlcmluZy5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertForQuestionAnswering | |
| <span class="hljs-meta">>>> </span>tf_model = TFDistilBertForQuestionAnswering.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),{c(){n=u("p"),n.innerHTML=c,a=r(),d(o.$$.fragment),_=r(),M=u("p"),M.innerHTML=C,R=r(),d(v.$$.fragment)},l(m){n=f(m,"P",{"data-svelte-h":!0}),j(n)!=="svelte-io5rj8"&&(n.innerHTML=c),a=i(m),$(o.$$.fragment,m),_=i(m),M=f(m,"P",{"data-svelte-h":!0}),j(M)!=="svelte-87qals"&&(M.innerHTML=C),R=i(m),$(v.$$.fragment,m)},m(m,T){l(m,n,T),l(m,a,T),g(o,m,T),l(m,_,T),l(m,M,T),l(m,R,T),g(v,m,T),J=!0},p:z,i(m){J||(y(o.$$.fragment,m),y(v.$$.fragment,m),J=!0)},o(m){h(o.$$.fragment,m),h(v.$$.fragment,m),J=!1},d(m){m&&(e(n),e(a),e(_),e(M),e(R)),b(o,m),b(v,m)}}}function Ue(w){let n,c;return n=new Hs({props:{$$slots:{default:[Ce]},$$scope:{ctx:w}}}),{c(){d(n.$$.fragment)},l(a){$(n.$$.fragment,a)},m(a,o){g(n,a,o),c=!0},p(a,o){const _={};o&2&&(_.$$scope={dirty:o,ctx:a}),n.$set(_)},i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function Ve(w){let n,c='모든 모델이 빠른 토크나이저를 지원하는 것은 아닙니다. 이 <a href="index#supported-frameworks">표</a>에서 모델의 빠른 토크나이저 지원 여부를 확인하세요.';return{c(){n=u("p"),n.innerHTML=c},l(a){n=f(a,"P",{"data-svelte-h":!0}),j(n)!=="svelte-w2xdht"&&(n.innerHTML=c)},m(a,o){l(a,n,o)},p:z,d(a){a&&e(n)}}}function Ge(w){let n,c="<code>AutoTokenizer</code>는 기본적으로 빠른 토크나이저를 가져오려고 합니다. 이 동작을 비활성화하려면 <code>from_pretrained</code>에서 <code>use_fast=False</code>를 설정하면 됩니다.";return{c(){n=u("p"),n.innerHTML=c},l(a){n=f(a,"P",{"data-svelte-h":!0}),j(n)!=="svelte-7sn66f"&&(n.innerHTML=c)},m(a,o){l(a,n,o)},p:z,d(a){a&&e(n)}}}function xe(w){let n,c="사용자 지정을 원하지 않는 경우 <code>from_pretrained</code> 메소드를 사용하여 모델의 기본 이미지 프로세서 매개변수를 불러오면 됩니다.";return{c(){n=u("p"),n.innerHTML=c},l(a){n=f(a,"P",{"data-svelte-h":!0}),j(n)!=="svelte-f8vs2z"&&(n.innerHTML=c)},m(a,o){l(a,n,o)},p:z,d(a){a&&e(n)}}}function ze(w){let n,c="사용자 지정이 필요하지 않은 경우 <code>from_pretrained</code> 메소드를 사용하여 모델의 기본 특성 추출기 ㅁ개변수를 불러 오면 됩니다.";return{c(){n=u("p"),n.innerHTML=c},l(a){n=f(a,"P",{"data-svelte-h":!0}),j(n)!=="svelte-vnhffe"&&(n.innerHTML=c)},m(a,o){l(a,n,o)},p:z,d(a){a&&e(n)}}}function He(w){let n,c,a,o,_,M,C,R='<a href="model_doc/auto"><code>AutoClass</code></a>는 모델 아키텍처를 자동으로 추론하고 미리 학습된 configuration과 가중치를 다운로드합니다. 일반적으로 체크포인트에 구애받지 않는 코드를 생성하려면 <code>AutoClass</code>를 사용하는 것이 좋습니다. 하지만 특정 모델 파라미터를 보다 세밀하게 제어하고자 하는 사용자는 몇 가지 기본 클래스만으로 커스텀 🤗 Transformers 모델을 생성할 수 있습니다. 이는 🤗 Transformers 모델을 연구, 교육 또는 실험하는 데 관심이 있는 모든 사용자에게 특히 유용할 수 있습니다. 이 가이드에서는 ‘AutoClass’를 사용하지 않고 커스텀 모델을 만드는 방법에 대해 알아보겠습니다:',v,J,m="<li>모델 configuration을 가져오고 사용자 지정합니다.</li> <li>모델 아키텍처를 생성합니다.</li> <li>텍스트에 사용할 느리거나 빠른 토큰화기를 만듭니다.</li> <li>비전 작업을 위한 이미지 프로세서를 생성합니다.</li> <li>오디오 작업을 위한 특성 추출기를 생성합니다.</li> <li>멀티모달 작업용 프로세서를 생성합니다.</li>",T,U,W,G,x='<a href="main_classes/configuration">configuration</a>은 모델의 특정 속성을 나타냅니다. 각 모델 구성에는 서로 다른 속성이 있습니다. 예를 들어, 모든 NLP 모델에는 <code>hidden_size</code>, <code>num_attention_heads</code>, <code>num_hidden_layers</code> 및 <code>vocab_size</code> 속성이 공통으로 있습니다. 이러한 속성은 모델을 구성할 attention heads 또는 hidden layers의 수를 지정합니다.',k,V,p='<a href="model_doc/distilbert">DistilBERT</a> 속성을 검사하기 위해 <code>DistilBertConfig</code>에 접근하여 자세히 살펴봅니다:',Z,N,Xt,I,Xs="<code>DistilBertConfig</code>는 기본 <code>DistilBertModel</code>을 빌드하는 데 사용되는 모든 기본 속성을 표시합니다. 모든 속성은 커스터마이징이 가능하므로 실험을 위한 공간을 만들 수 있습니다. 예를 들어 기본 모델을 다음과 같이 커스터마이즈할 수 있습니다:",Ft,P,Fs="<li><code>activation</code> 파라미터로 다른 활성화 함수를 사용해 보세요.</li> <li><code>attention_dropout</code> 파라미터를 사용하여 어텐션 확률에 더 높은 드롭아웃 비율을 사용하세요.</li>",Bt,D,Et,S,Bs="사전 학습된 모델 속성은 <code>from_pretrained()</code> 함수에서 수정할 수 있습니다:",Yt,A,Lt,K,Es="모델 구성이 만족스러우면 <code>save_pretrained()</code>로 저장할 수 있습니다. 설정 파일은 지정된 작업 경로에 JSON 파일로 저장됩니다:",Qt,O,Nt,tt,Ys="configuration 파일을 재사용하려면 <code>from_pretrained()</code>를 사용하여 가져오세요:",It,st,Pt,H,Dt,et,St,lt,Ls='다음 단계는 <a href="main_classes/models">모델(model)</a>을 만드는 것입니다. 느슨하게 아키텍처라고도 불리는 모델은 각 계층이 수행하는 동작과 발생하는 작업을 정의합니다. configuration의 <code>num_hidden_layers</code>와 같은 속성은 아키텍처를 정의하는 데 사용됩니다. 모든 모델은 기본 클래스 <code>PreTrainedModel</code>과 입력 임베딩 크기 조정 및 셀프 어텐션 헤드 가지 치기와 같은 몇 가지 일반적인 메소드를 공유합니다. 또한 모든 모델은 <a href="https://pytorch.org/docs/stable/generated/torch.nn.Module.html" rel="nofollow"><code>torch.nn.Module</code></a>, <a href="https://www.tensorflow.org/api_docs/python/tf/keras/Model" rel="nofollow"><code>tf.keras.Model</code></a> 또는 <a href="https://flax.readthedocs.io/en/latest/api_reference/flax.linen/module.html" rel="nofollow"><code>flax.linen.Module</code></a>의 서브클래스이기도 합니다. 즉, 모델은 각 프레임워크의 사용법과 호환됩니다.',At,X,Kt,nt,Ot,at,Qs="이 시점에서 <em>은닉 상태(hidden state)</em>를 출력하는 기본 DistilBERT 모델을 갖게 됩니다. 은닉 상태는 최종 출력을 생성하기 위해 모델 헤드에 입력으로 전달됩니다. 🤗 Transformers는 모델이 해당 작업을 지원하는 한 각 작업마다 다른 모델 헤드를 제공합니다(즉, 번역과 같은 시퀀스 간 작업에는 DistilBERT를 사용할 수 없음).",ts,F,ss,pt,es,rt,Ns='텍스트 데이터에 모델을 사용하기 전에 마지막으로 필요한 기본 클래스는 원시 텍스트를 텐서로 변환하는 <a href="main_classes/tokenizer">토크나이저</a>입니다. 🤗 Transformers에 사용할 수 있는 토크나이저는 두 가지 유형이 있습니다:',ls,it,Is=`<li><code>PreTrainedTokenizer</code>: 파이썬으로 구현된 토크나이저입니다.</li> <li><code>PreTrainedTokenizerFast</code>: Rust 기반 <a href="https://huggingface.co/docs/tokenizers/python/latest/" rel="nofollow">🤗 Tokenizer</a> 라이브러리로 만들어진 토크나이저입니다. 이 토크나이저는 Rust로 구현되어 배치 토큰화에서 특히 빠릅니다. 빠른 토크나이저는 토큰을 원래 단어나 문자에 매핑하는 <em>오프셋 매핑</em>과 같은 추가 메소드도 제공합니다. | |
| 두 토크나이저 모두 인코딩 및 디코딩, 새 토큰 추가, 특수 토큰 관리와 같은 일반적인 방법을 지원합니다.</li>`,ns,B,as,ot,Ps="토크나이저를 직접 학습한 경우, <em>어휘(vocabulary)</em> 파일에서 토크나이저를 만들 수 있습니다:",ps,mt,rs,ct,Ds="사용자 지정 토크나이저의 어휘는 사전 학습된 모델의 토크나이저에서 생성된 어휘와 다를 수 있다는 점을 기억하는 것이 중요합니다. 사전 학습된 모델을 사용하는 경우 사전 학습된 모델의 어휘를 사용해야 하며, 그렇지 않으면 입력이 의미를 갖지 못합니다. <code>DistilBertTokenizer</code> 클래스를 사용하여 사전 학습된 모델의 어휘로 토크나이저를 생성합니다:",is,ut,os,ft,Ss="<code>DistilBertTokenizerFast</code> 클래스로 빠른 토크나이저를 생성합니다:",ms,dt,cs,E,us,$t,fs,gt,As="이미지 프로세서(image processor)는 비전 입력을 처리합니다. 기본 <code>ImageProcessingMixin</code> 클래스에서 상속합니다.",ds,yt,Ks='사용하려면 사용 중인 모델과 연결된 이미지 프로세서를 생성합니다. 예를 들어, 이미지 분류에 <a href="model_doc/vit">ViT</a>를 사용하는 경우 기본 <code>ViTImageProcessor</code>를 생성합니다:',$s,ht,gs,Y,ys,bt,Os="사용자 지정 이미지 프로세서를 생성하려면 <code>ViTImageProcessor</code> 파라미터를 수정합니다:",hs,jt,bs,_t,js,Mt,te="특성 추출기(feature extractor)는 오디오 입력을 처리합니다. 기본 <code>FeatureExtractionMixin</code> 클래스에서 상속되며, 오디오 입력을 처리하기 위해 <code>SequenceFeatureExtractor</code> 클래스에서 상속할 수도 있습니다.",_s,vt,se='사용하려면 사용 중인 모델과 연결된 특성 추출기를 생성합니다. 예를 들어, 오디오 분류에 <a href="model_doc/wav2vec2">Wav2Vec2</a>를 사용하는 경우 기본 <code>Wav2Vec2FeatureExtractor</code>를 생성합니다:',Ms,Tt,vs,L,Ts,Zt,ee="사용자 지정 특성 추출기를 만들려면 <code>Wav2Vec2FeatureExtractor</code> 매개변수를 수정합니다:",Zs,wt,ws,qt,qs,Jt,le="멀티모달 작업을 지원하는 모델의 경우, 🤗 Transformers는 특성 추출기 및 토크나이저와 같은 처리 클래스를 단일 객체로 편리하게 래핑하는 프로세서 클래스를 제공합니다. 예를 들어, 자동 음성 인식 작업(Automatic Speech Recognition task (ASR))에 <code>Wav2Vec2Processor</code>를 사용한다고 가정해 보겠습니다. 자동 음성 인식 작업은 오디오를 텍스트로 변환하므로 특성 추출기와 토크나이저가 필요합니다.",Js,Rt,ne="오디오 입력을 처리할 특성 추출기를 만듭니다:",Rs,Wt,Ws,kt,ae="텍스트 입력을 처리할 토크나이저를 만듭니다:",ks,Ct,Cs,Ut,pe="<code>Wav2Vec2Processor</code>에서 특성 추출기와 토크나이저를 결합합니다:",Us,Vt,Vs,Gt,re="configuration과 모델이라는 두 가지 기본 클래스와 추가 전처리 클래스(토크나이저, 이미지 프로세서, 특성 추출기 또는 프로세서)를 사용하면 🤗 Transformers에서 지원하는 모든 모델을 만들 수 있습니다. 이러한 각 기본 클래스는 구성이 가능하므로 원하는 특정 속성을 사용할 수 있습니다. 학습을 위해 모델을 쉽게 설정하거나 기존의 사전 학습된 모델을 수정하여 미세 조정할 수 있습니다.",Gs,xt,xs,zt,zs;return _=new Q({props:{title:"맞춤형 아키텍처 만들기",local:"create-a-custom-architecture",headingTag:"h1"}}),U=new Q({props:{title:"Configuration",local:"configuration",headingTag:"h2"}}),N=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRDb25maWclMEElMEFjb25maWclMjAlM0QlMjBEaXN0aWxCZXJ0Q29uZmlnKCklMEFwcmludChjb25maWcp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertConfig | |
| <span class="hljs-meta">>>> </span>config = DistilBertConfig() | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(config) | |
| DistilBertConfig { | |
| <span class="hljs-string">"activation"</span>: <span class="hljs-string">"gelu"</span>, | |
| <span class="hljs-string">"attention_dropout"</span>: <span class="hljs-number">0.1</span>, | |
| <span class="hljs-string">"dim"</span>: <span class="hljs-number">768</span>, | |
| <span class="hljs-string">"dropout"</span>: <span class="hljs-number">0.1</span>, | |
| <span class="hljs-string">"hidden_dim"</span>: <span class="hljs-number">3072</span>, | |
| <span class="hljs-string">"initializer_range"</span>: <span class="hljs-number">0.02</span>, | |
| <span class="hljs-string">"max_position_embeddings"</span>: <span class="hljs-number">512</span>, | |
| <span class="hljs-string">"model_type"</span>: <span class="hljs-string">"distilbert"</span>, | |
| <span class="hljs-string">"n_heads"</span>: <span class="hljs-number">12</span>, | |
| <span class="hljs-string">"n_layers"</span>: <span class="hljs-number">6</span>, | |
| <span class="hljs-string">"pad_token_id"</span>: <span class="hljs-number">0</span>, | |
| <span class="hljs-string">"qa_dropout"</span>: <span class="hljs-number">0.1</span>, | |
| <span class="hljs-string">"seq_classif_dropout"</span>: <span class="hljs-number">0.2</span>, | |
| <span class="hljs-string">"sinusoidal_pos_embds"</span>: false, | |
| <span class="hljs-string">"transformers_version"</span>: <span class="hljs-string">"4.16.2"</span>, | |
| <span class="hljs-string">"vocab_size"</span>: <span class="hljs-number">30522</span> | |
| }`,wrap:!1}}),D=new q({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZyhhY3RpdmF0aW9uJTNEJTIycmVsdSUyMiUyQyUyMGF0dGVudGlvbl9kcm9wb3V0JTNEMC40KSUwQXByaW50KG15X2NvbmZpZyk=",highlighted:`<span class="hljs-meta">>>> </span>my_config = DistilBertConfig(activation=<span class="hljs-string">"relu"</span>, attention_dropout=<span class="hljs-number">0.4</span>) | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(my_config) | |
| DistilBertConfig { | |
| <span class="hljs-string">"activation"</span>: <span class="hljs-string">"relu"</span>, | |
| <span class="hljs-string">"attention_dropout"</span>: <span class="hljs-number">0.4</span>, | |
| <span class="hljs-string">"dim"</span>: <span class="hljs-number">768</span>, | |
| <span class="hljs-string">"dropout"</span>: <span class="hljs-number">0.1</span>, | |
| <span class="hljs-string">"hidden_dim"</span>: <span class="hljs-number">3072</span>, | |
| <span class="hljs-string">"initializer_range"</span>: <span class="hljs-number">0.02</span>, | |
| <span class="hljs-string">"max_position_embeddings"</span>: <span class="hljs-number">512</span>, | |
| <span class="hljs-string">"model_type"</span>: <span class="hljs-string">"distilbert"</span>, | |
| <span class="hljs-string">"n_heads"</span>: <span class="hljs-number">12</span>, | |
| <span class="hljs-string">"n_layers"</span>: <span class="hljs-number">6</span>, | |
| <span class="hljs-string">"pad_token_id"</span>: <span class="hljs-number">0</span>, | |
| <span class="hljs-string">"qa_dropout"</span>: <span class="hljs-number">0.1</span>, | |
| <span class="hljs-string">"seq_classif_dropout"</span>: <span class="hljs-number">0.2</span>, | |
| <span class="hljs-string">"sinusoidal_pos_embds"</span>: false, | |
| <span class="hljs-string">"transformers_version"</span>: <span class="hljs-string">"4.16.2"</span>, | |
| <span class="hljs-string">"vocab_size"</span>: <span class="hljs-number">30522</span> | |
| }`,wrap:!1}}),A=new q({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyJTJDJTIwYWN0aXZhdGlvbiUzRCUyMnJlbHUlMjIlMkMlMjBhdHRlbnRpb25fZHJvcG91dCUzRDAuNCk=",highlighted:'<span class="hljs-meta">>>> </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>, activation=<span class="hljs-string">"relu"</span>, attention_dropout=<span class="hljs-number">0.4</span>)',wrap:!1}}),O=new q({props:{code:"bXlfY29uZmlnLnNhdmVfcHJldHJhaW5lZChzYXZlX2RpcmVjdG9yeSUzRCUyMi4lMkZ5b3VyX21vZGVsX3NhdmVfcGF0aCUyMik=",highlighted:'<span class="hljs-meta">>>> </span>my_config.save_pretrained(save_directory=<span class="hljs-string">"./your_model_save_path"</span>)',wrap:!1}}),st=new q({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyLiUyRnlvdXJfbW9kZWxfc2F2ZV9wYXRoJTJGY29uZmlnLmpzb24lMjIp",highlighted:'<span class="hljs-meta">>>> </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">"./your_model_save_path/config.json"</span>)',wrap:!1}}),H=new Ht({props:{$$slots:{default:[Ze]},$$scope:{ctx:w}}}),et=new Q({props:{title:"모델",local:"model",headingTag:"h2"}}),X=new ye({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[Re],pytorch:[qe]},$$scope:{ctx:w}}}),nt=new Q({props:{title:"모델 헤드",local:"model-heads",headingTag:"h3"}}),F=new ye({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[Ue],pytorch:[ke]},$$scope:{ctx:w}}}),pt=new Q({props:{title:"토크나이저",local:"tokenizer",headingTag:"h2"}}),B=new Ht({props:{warning:!0,$$slots:{default:[Ve]},$$scope:{ctx:w}}}),mt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXIlMEElMEFteV90b2tlbml6ZXIlMjAlM0QlMjBEaXN0aWxCZXJ0VG9rZW5pemVyKHZvY2FiX2ZpbGUlM0QlMjJteV92b2NhYl9maWxlLnR4dCUyMiUyQyUyMGRvX2xvd2VyX2Nhc2UlM0RGYWxzZSUyQyUyMHBhZGRpbmdfc2lkZSUzRCUyMmxlZnQlMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizer | |
| <span class="hljs-meta">>>> </span>my_tokenizer = DistilBertTokenizer(vocab_file=<span class="hljs-string">"my_vocab_file.txt"</span>, do_lower_case=<span class="hljs-literal">False</span>, padding_side=<span class="hljs-string">"left"</span>)`,wrap:!1}}),ut=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXIlMEElMEFzbG93X3Rva2VuaXplciUyMCUzRCUyMERpc3RpbEJlcnRUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQlMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizer | |
| <span class="hljs-meta">>>> </span>slow_tokenizer = DistilBertTokenizer.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),dt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXJGYXN0JTBBJTBBZmFzdF90b2tlbml6ZXIlMjAlM0QlMjBEaXN0aWxCZXJ0VG9rZW5pemVyRmFzdC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizerFast | |
| <span class="hljs-meta">>>> </span>fast_tokenizer = DistilBertTokenizerFast.from_pretrained(<span class="hljs-string">"distilbert/distilbert-base-uncased"</span>)`,wrap:!1}}),E=new Ht({props:{$$slots:{default:[Ge]},$$scope:{ctx:w}}}),$t=new Q({props:{title:"이미지 프로세서",local:"image-processor",headingTag:"h2"}}),ht=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFZpVEltYWdlUHJvY2Vzc29yJTBBJTBBdml0X2V4dHJhY3RvciUyMCUzRCUyMFZpVEltYWdlUHJvY2Vzc29yKCklMEFwcmludCh2aXRfZXh0cmFjdG9yKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> ViTImageProcessor | |
| <span class="hljs-meta">>>> </span>vit_extractor = ViTImageProcessor() | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(vit_extractor) | |
| ViTImageProcessor { | |
| <span class="hljs-string">"do_normalize"</span>: true, | |
| <span class="hljs-string">"do_resize"</span>: true, | |
| <span class="hljs-string">"feature_extractor_type"</span>: <span class="hljs-string">"ViTImageProcessor"</span>, | |
| <span class="hljs-string">"image_mean"</span>: [ | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span> | |
| ], | |
| <span class="hljs-string">"image_std"</span>: [ | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span> | |
| ], | |
| <span class="hljs-string">"resample"</span>: <span class="hljs-number">2</span>, | |
| <span class="hljs-string">"size"</span>: <span class="hljs-number">224</span> | |
| }`,wrap:!1}}),Y=new Ht({props:{$$slots:{default:[xe]},$$scope:{ctx:w}}}),jt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFZpVEltYWdlUHJvY2Vzc29yJTBBJTBBbXlfdml0X2V4dHJhY3RvciUyMCUzRCUyMFZpVEltYWdlUHJvY2Vzc29yKHJlc2FtcGxlJTNEJTIyUElMLkltYWdlLkJPWCUyMiUyQyUyMGRvX25vcm1hbGl6ZSUzREZhbHNlJTJDJTIwaW1hZ2VfbWVhbiUzRCU1QjAuMyUyQyUyMDAuMyUyQyUyMDAuMyU1RCklMEFwcmludChteV92aXRfZXh0cmFjdG9yKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> ViTImageProcessor | |
| <span class="hljs-meta">>>> </span>my_vit_extractor = ViTImageProcessor(resample=<span class="hljs-string">"PIL.Image.BOX"</span>, do_normalize=<span class="hljs-literal">False</span>, image_mean=[<span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>]) | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(my_vit_extractor) | |
| ViTImageProcessor { | |
| <span class="hljs-string">"do_normalize"</span>: false, | |
| <span class="hljs-string">"do_resize"</span>: true, | |
| <span class="hljs-string">"feature_extractor_type"</span>: <span class="hljs-string">"ViTImageProcessor"</span>, | |
| <span class="hljs-string">"image_mean"</span>: [ | |
| <span class="hljs-number">0.3</span>, | |
| <span class="hljs-number">0.3</span>, | |
| <span class="hljs-number">0.3</span> | |
| ], | |
| <span class="hljs-string">"image_std"</span>: [ | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span>, | |
| <span class="hljs-number">0.5</span> | |
| ], | |
| <span class="hljs-string">"resample"</span>: <span class="hljs-string">"PIL.Image.BOX"</span>, | |
| <span class="hljs-string">"size"</span>: <span class="hljs-number">224</span> | |
| }`,wrap:!1}}),_t=new Q({props:{title:"특성 추출기",local:"feature-extractor",headingTag:"h2"}}),Tt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQXcydjJfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKCklMEFwcmludCh3MnYyX2V4dHJhY3Rvcik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor | |
| <span class="hljs-meta">>>> </span>w2v2_extractor = Wav2Vec2FeatureExtractor() | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(w2v2_extractor) | |
| Wav2Vec2FeatureExtractor { | |
| <span class="hljs-string">"do_normalize"</span>: true, | |
| <span class="hljs-string">"feature_extractor_type"</span>: <span class="hljs-string">"Wav2Vec2FeatureExtractor"</span>, | |
| <span class="hljs-string">"feature_size"</span>: <span class="hljs-number">1</span>, | |
| <span class="hljs-string">"padding_side"</span>: <span class="hljs-string">"right"</span>, | |
| <span class="hljs-string">"padding_value"</span>: <span class="hljs-number">0.0</span>, | |
| <span class="hljs-string">"return_attention_mask"</span>: false, | |
| <span class="hljs-string">"sampling_rate"</span>: <span class="hljs-number">16000</span> | |
| }`,wrap:!1}}),L=new Ht({props:{$$slots:{default:[ze]},$$scope:{ctx:w}}}),wt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQXcydjJfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKHNhbXBsaW5nX3JhdGUlM0Q4MDAwJTJDJTIwZG9fbm9ybWFsaXplJTNERmFsc2UpJTBBcHJpbnQodzJ2Ml9leHRyYWN0b3Ip",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor | |
| <span class="hljs-meta">>>> </span>w2v2_extractor = Wav2Vec2FeatureExtractor(sampling_rate=<span class="hljs-number">8000</span>, do_normalize=<span class="hljs-literal">False</span>) | |
| <span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(w2v2_extractor) | |
| Wav2Vec2FeatureExtractor { | |
| <span class="hljs-string">"do_normalize"</span>: false, | |
| <span class="hljs-string">"feature_extractor_type"</span>: <span class="hljs-string">"Wav2Vec2FeatureExtractor"</span>, | |
| <span class="hljs-string">"feature_size"</span>: <span class="hljs-number">1</span>, | |
| <span class="hljs-string">"padding_side"</span>: <span class="hljs-string">"right"</span>, | |
| <span class="hljs-string">"padding_value"</span>: <span class="hljs-number">0.0</span>, | |
| <span class="hljs-string">"return_attention_mask"</span>: false, | |
| <span class="hljs-string">"sampling_rate"</span>: <span class="hljs-number">8000</span> | |
| }`,wrap:!1}}),qt=new Q({props:{title:"프로세서",local:"processor",headingTag:"h2"}}),Wt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQWZlYXR1cmVfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKHBhZGRpbmdfdmFsdWUlM0QxLjAlMkMlMjBkb19ub3JtYWxpemUlM0RUcnVlKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor | |
| <span class="hljs-meta">>>> </span>feature_extractor = Wav2Vec2FeatureExtractor(padding_value=<span class="hljs-number">1.0</span>, do_normalize=<span class="hljs-literal">True</span>)`,wrap:!1}}),Ct=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyQ1RDVG9rZW5pemVyJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwV2F2MlZlYzJDVENUb2tlbml6ZXIodm9jYWJfZmlsZSUzRCUyMm15X3ZvY2FiX2ZpbGUudHh0JTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2CTCTokenizer | |
| <span class="hljs-meta">>>> </span>tokenizer = Wav2Vec2CTCTokenizer(vocab_file=<span class="hljs-string">"my_vocab_file.txt"</span>)`,wrap:!1}}),Vt=new q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyUHJvY2Vzc29yJTBBJTBBcHJvY2Vzc29yJTIwJTNEJTIwV2F2MlZlYzJQcm9jZXNzb3IoZmVhdHVyZV9leHRyYWN0b3IlM0RmZWF0dXJlX2V4dHJhY3RvciUyQyUyMHRva2VuaXplciUzRHRva2VuaXplcik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2Processor | |
| <span class="hljs-meta">>>> </span>processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)`,wrap:!1}}),xt=new Te({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/create_a_model.md"}}),{c(){n=u("meta"),c=r(),a=u("p"),o=r(),d(_.$$.fragment),M=r(),C=u("p"),C.innerHTML=R,v=r(),J=u("ul"),J.innerHTML=m,T=r(),d(U.$$.fragment),W=r(),G=u("p"),G.innerHTML=x,k=r(),V=u("p"),V.innerHTML=p,Z=r(),d(N.$$.fragment),Xt=r(),I=u("p"),I.innerHTML=Xs,Ft=r(),P=u("ul"),P.innerHTML=Fs,Bt=r(),d(D.$$.fragment),Et=r(),S=u("p"),S.innerHTML=Bs,Yt=r(),d(A.$$.fragment),Lt=r(),K=u("p"),K.innerHTML=Es,Qt=r(),d(O.$$.fragment),Nt=r(),tt=u("p"),tt.innerHTML=Ys,It=r(),d(st.$$.fragment),Pt=r(),d(H.$$.fragment),Dt=r(),d(et.$$.fragment),St=r(),lt=u("p"),lt.innerHTML=Ls,At=r(),d(X.$$.fragment),Kt=r(),d(nt.$$.fragment),Ot=r(),at=u("p"),at.innerHTML=Qs,ts=r(),d(F.$$.fragment),ss=r(),d(pt.$$.fragment),es=r(),rt=u("p"),rt.innerHTML=Ns,ls=r(),it=u("ul"),it.innerHTML=Is,ns=r(),d(B.$$.fragment),as=r(),ot=u("p"),ot.innerHTML=Ps,ps=r(),d(mt.$$.fragment),rs=r(),ct=u("p"),ct.innerHTML=Ds,is=r(),d(ut.$$.fragment),os=r(),ft=u("p"),ft.innerHTML=Ss,ms=r(),d(dt.$$.fragment),cs=r(),d(E.$$.fragment),us=r(),d($t.$$.fragment),fs=r(),gt=u("p"),gt.innerHTML=As,ds=r(),yt=u("p"),yt.innerHTML=Ks,$s=r(),d(ht.$$.fragment),gs=r(),d(Y.$$.fragment),ys=r(),bt=u("p"),bt.innerHTML=Os,hs=r(),d(jt.$$.fragment),bs=r(),d(_t.$$.fragment),js=r(),Mt=u("p"),Mt.innerHTML=te,_s=r(),vt=u("p"),vt.innerHTML=se,Ms=r(),d(Tt.$$.fragment),vs=r(),d(L.$$.fragment),Ts=r(),Zt=u("p"),Zt.innerHTML=ee,Zs=r(),d(wt.$$.fragment),ws=r(),d(qt.$$.fragment),qs=r(),Jt=u("p"),Jt.innerHTML=le,Js=r(),Rt=u("p"),Rt.textContent=ne,Rs=r(),d(Wt.$$.fragment),Ws=r(),kt=u("p"),kt.textContent=ae,ks=r(),d(Ct.$$.fragment),Cs=r(),Ut=u("p"),Ut.innerHTML=pe,Us=r(),d(Vt.$$.fragment),Vs=r(),Gt=u("p"),Gt.textContent=re,Gs=r(),d(xt.$$.fragment),xs=r(),zt=u("p"),this.h()},l(t){const s=Me("svelte-u9bgzb",document.head);n=f(s,"META",{name:!0,content:!0}),s.forEach(e),c=i(t),a=f(t,"P",{}),$e(a).forEach(e),o=i(t),$(_.$$.fragment,t),M=i(t),C=f(t,"P",{"data-svelte-h":!0}),j(C)!=="svelte-19ve0b1"&&(C.innerHTML=R),v=i(t),J=f(t,"UL",{"data-svelte-h":!0}),j(J)!=="svelte-1ebb2km"&&(J.innerHTML=m),T=i(t),$(U.$$.fragment,t),W=i(t),G=f(t,"P",{"data-svelte-h":!0}),j(G)!=="svelte-1u7e78i"&&(G.innerHTML=x),k=i(t),V=f(t,"P",{"data-svelte-h":!0}),j(V)!=="svelte-1ujadwn"&&(V.innerHTML=p),Z=i(t),$(N.$$.fragment,t),Xt=i(t),I=f(t,"P",{"data-svelte-h":!0}),j(I)!=="svelte-ipet8t"&&(I.innerHTML=Xs),Ft=i(t),P=f(t,"UL",{"data-svelte-h":!0}),j(P)!=="svelte-oc0ep3"&&(P.innerHTML=Fs),Bt=i(t),$(D.$$.fragment,t),Et=i(t),S=f(t,"P",{"data-svelte-h":!0}),j(S)!=="svelte-17dbfyt"&&(S.innerHTML=Bs),Yt=i(t),$(A.$$.fragment,t),Lt=i(t),K=f(t,"P",{"data-svelte-h":!0}),j(K)!=="svelte-1ep9ypn"&&(K.innerHTML=Es),Qt=i(t),$(O.$$.fragment,t),Nt=i(t),tt=f(t,"P",{"data-svelte-h":!0}),j(tt)!=="svelte-743pg9"&&(tt.innerHTML=Ys),It=i(t),$(st.$$.fragment,t),Pt=i(t),$(H.$$.fragment,t),Dt=i(t),$(et.$$.fragment,t),St=i(t),lt=f(t,"P",{"data-svelte-h":!0}),j(lt)!=="svelte-fqn4bx"&&(lt.innerHTML=Ls),At=i(t),$(X.$$.fragment,t),Kt=i(t),$(nt.$$.fragment,t),Ot=i(t),at=f(t,"P",{"data-svelte-h":!0}),j(at)!=="svelte-x49xse"&&(at.innerHTML=Qs),ts=i(t),$(F.$$.fragment,t),ss=i(t),$(pt.$$.fragment,t),es=i(t),rt=f(t,"P",{"data-svelte-h":!0}),j(rt)!=="svelte-tr0od4"&&(rt.innerHTML=Ns),ls=i(t),it=f(t,"UL",{"data-svelte-h":!0}),j(it)!=="svelte-1s73745"&&(it.innerHTML=Is),ns=i(t),$(B.$$.fragment,t),as=i(t),ot=f(t,"P",{"data-svelte-h":!0}),j(ot)!=="svelte-1ydtv7o"&&(ot.innerHTML=Ps),ps=i(t),$(mt.$$.fragment,t),rs=i(t),ct=f(t,"P",{"data-svelte-h":!0}),j(ct)!=="svelte-hd5xug"&&(ct.innerHTML=Ds),is=i(t),$(ut.$$.fragment,t),os=i(t),ft=f(t,"P",{"data-svelte-h":!0}),j(ft)!=="svelte-1vv93q7"&&(ft.innerHTML=Ss),ms=i(t),$(dt.$$.fragment,t),cs=i(t),$(E.$$.fragment,t),us=i(t),$($t.$$.fragment,t),fs=i(t),gt=f(t,"P",{"data-svelte-h":!0}),j(gt)!=="svelte-jxznvs"&&(gt.innerHTML=As),ds=i(t),yt=f(t,"P",{"data-svelte-h":!0}),j(yt)!=="svelte-c66cfm"&&(yt.innerHTML=Ks),$s=i(t),$(ht.$$.fragment,t),gs=i(t),$(Y.$$.fragment,t),ys=i(t),bt=f(t,"P",{"data-svelte-h":!0}),j(bt)!=="svelte-3v1zkp"&&(bt.innerHTML=Os),hs=i(t),$(jt.$$.fragment,t),bs=i(t),$(_t.$$.fragment,t),js=i(t),Mt=f(t,"P",{"data-svelte-h":!0}),j(Mt)!=="svelte-1h5zevg"&&(Mt.innerHTML=te),_s=i(t),vt=f(t,"P",{"data-svelte-h":!0}),j(vt)!=="svelte-mindlu"&&(vt.innerHTML=se),Ms=i(t),$(Tt.$$.fragment,t),vs=i(t),$(L.$$.fragment,t),Ts=i(t),Zt=f(t,"P",{"data-svelte-h":!0}),j(Zt)!=="svelte-1hh3a05"&&(Zt.innerHTML=ee),Zs=i(t),$(wt.$$.fragment,t),ws=i(t),$(qt.$$.fragment,t),qs=i(t),Jt=f(t,"P",{"data-svelte-h":!0}),j(Jt)!=="svelte-m80yeb"&&(Jt.innerHTML=le),Js=i(t),Rt=f(t,"P",{"data-svelte-h":!0}),j(Rt)!=="svelte-rxz7k7"&&(Rt.textContent=ne),Rs=i(t),$(Wt.$$.fragment,t),Ws=i(t),kt=f(t,"P",{"data-svelte-h":!0}),j(kt)!=="svelte-1pis3oo"&&(kt.textContent=ae),ks=i(t),$(Ct.$$.fragment,t),Cs=i(t),Ut=f(t,"P",{"data-svelte-h":!0}),j(Ut)!=="svelte-1ou4ndv"&&(Ut.innerHTML=pe),Us=i(t),$(Vt.$$.fragment,t),Vs=i(t),Gt=f(t,"P",{"data-svelte-h":!0}),j(Gt)!=="svelte-wnze"&&(Gt.textContent=re),Gs=i(t),$(xt.$$.fragment,t),xs=i(t),zt=f(t,"P",{}),$e(zt).forEach(e),this.h()},h(){ge(n,"name","hf:doc:metadata"),ge(n,"content",Xe)},m(t,s){ve(document.head,n),l(t,c,s),l(t,a,s),l(t,o,s),g(_,t,s),l(t,M,s),l(t,C,s),l(t,v,s),l(t,J,s),l(t,T,s),g(U,t,s),l(t,W,s),l(t,G,s),l(t,k,s),l(t,V,s),l(t,Z,s),g(N,t,s),l(t,Xt,s),l(t,I,s),l(t,Ft,s),l(t,P,s),l(t,Bt,s),g(D,t,s),l(t,Et,s),l(t,S,s),l(t,Yt,s),g(A,t,s),l(t,Lt,s),l(t,K,s),l(t,Qt,s),g(O,t,s),l(t,Nt,s),l(t,tt,s),l(t,It,s),g(st,t,s),l(t,Pt,s),g(H,t,s),l(t,Dt,s),g(et,t,s),l(t,St,s),l(t,lt,s),l(t,At,s),g(X,t,s),l(t,Kt,s),g(nt,t,s),l(t,Ot,s),l(t,at,s),l(t,ts,s),g(F,t,s),l(t,ss,s),g(pt,t,s),l(t,es,s),l(t,rt,s),l(t,ls,s),l(t,it,s),l(t,ns,s),g(B,t,s),l(t,as,s),l(t,ot,s),l(t,ps,s),g(mt,t,s),l(t,rs,s),l(t,ct,s),l(t,is,s),g(ut,t,s),l(t,os,s),l(t,ft,s),l(t,ms,s),g(dt,t,s),l(t,cs,s),g(E,t,s),l(t,us,s),g($t,t,s),l(t,fs,s),l(t,gt,s),l(t,ds,s),l(t,yt,s),l(t,$s,s),g(ht,t,s),l(t,gs,s),g(Y,t,s),l(t,ys,s),l(t,bt,s),l(t,hs,s),g(jt,t,s),l(t,bs,s),g(_t,t,s),l(t,js,s),l(t,Mt,s),l(t,_s,s),l(t,vt,s),l(t,Ms,s),g(Tt,t,s),l(t,vs,s),g(L,t,s),l(t,Ts,s),l(t,Zt,s),l(t,Zs,s),g(wt,t,s),l(t,ws,s),g(qt,t,s),l(t,qs,s),l(t,Jt,s),l(t,Js,s),l(t,Rt,s),l(t,Rs,s),g(Wt,t,s),l(t,Ws,s),l(t,kt,s),l(t,ks,s),g(Ct,t,s),l(t,Cs,s),l(t,Ut,s),l(t,Us,s),g(Vt,t,s),l(t,Vs,s),l(t,Gt,s),l(t,Gs,s),g(xt,t,s),l(t,xs,s),l(t,zt,s),zs=!0},p(t,[s]){const ie={};s&2&&(ie.$$scope={dirty:s,ctx:t}),H.$set(ie);const oe={};s&2&&(oe.$$scope={dirty:s,ctx:t}),X.$set(oe);const me={};s&2&&(me.$$scope={dirty:s,ctx:t}),F.$set(me);const ce={};s&2&&(ce.$$scope={dirty:s,ctx:t}),B.$set(ce);const ue={};s&2&&(ue.$$scope={dirty:s,ctx:t}),E.$set(ue);const fe={};s&2&&(fe.$$scope={dirty:s,ctx:t}),Y.$set(fe);const de={};s&2&&(de.$$scope={dirty:s,ctx:t}),L.$set(de)},i(t){zs||(y(_.$$.fragment,t),y(U.$$.fragment,t),y(N.$$.fragment,t),y(D.$$.fragment,t),y(A.$$.fragment,t),y(O.$$.fragment,t),y(st.$$.fragment,t),y(H.$$.fragment,t),y(et.$$.fragment,t),y(X.$$.fragment,t),y(nt.$$.fragment,t),y(F.$$.fragment,t),y(pt.$$.fragment,t),y(B.$$.fragment,t),y(mt.$$.fragment,t),y(ut.$$.fragment,t),y(dt.$$.fragment,t),y(E.$$.fragment,t),y($t.$$.fragment,t),y(ht.$$.fragment,t),y(Y.$$.fragment,t),y(jt.$$.fragment,t),y(_t.$$.fragment,t),y(Tt.$$.fragment,t),y(L.$$.fragment,t),y(wt.$$.fragment,t),y(qt.$$.fragment,t),y(Wt.$$.fragment,t),y(Ct.$$.fragment,t),y(Vt.$$.fragment,t),y(xt.$$.fragment,t),zs=!0)},o(t){h(_.$$.fragment,t),h(U.$$.fragment,t),h(N.$$.fragment,t),h(D.$$.fragment,t),h(A.$$.fragment,t),h(O.$$.fragment,t),h(st.$$.fragment,t),h(H.$$.fragment,t),h(et.$$.fragment,t),h(X.$$.fragment,t),h(nt.$$.fragment,t),h(F.$$.fragment,t),h(pt.$$.fragment,t),h(B.$$.fragment,t),h(mt.$$.fragment,t),h(ut.$$.fragment,t),h(dt.$$.fragment,t),h(E.$$.fragment,t),h($t.$$.fragment,t),h(ht.$$.fragment,t),h(Y.$$.fragment,t),h(jt.$$.fragment,t),h(_t.$$.fragment,t),h(Tt.$$.fragment,t),h(L.$$.fragment,t),h(wt.$$.fragment,t),h(qt.$$.fragment,t),h(Wt.$$.fragment,t),h(Ct.$$.fragment,t),h(Vt.$$.fragment,t),h(xt.$$.fragment,t),zs=!1},d(t){t&&(e(c),e(a),e(o),e(M),e(C),e(v),e(J),e(T),e(W),e(G),e(k),e(V),e(Z),e(Xt),e(I),e(Ft),e(P),e(Bt),e(Et),e(S),e(Yt),e(Lt),e(K),e(Qt),e(Nt),e(tt),e(It),e(Pt),e(Dt),e(St),e(lt),e(At),e(Kt),e(Ot),e(at),e(ts),e(ss),e(es),e(rt),e(ls),e(it),e(ns),e(as),e(ot),e(ps),e(rs),e(ct),e(is),e(os),e(ft),e(ms),e(cs),e(us),e(fs),e(gt),e(ds),e(yt),e($s),e(gs),e(ys),e(bt),e(hs),e(bs),e(js),e(Mt),e(_s),e(vt),e(Ms),e(vs),e(Ts),e(Zt),e(Zs),e(ws),e(qs),e(Jt),e(Js),e(Rt),e(Rs),e(Ws),e(kt),e(ks),e(Cs),e(Ut),e(Us),e(Vs),e(Gt),e(Gs),e(xs),e(zt)),e(n),b(_,t),b(U,t),b(N,t),b(D,t),b(A,t),b(O,t),b(st,t),b(H,t),b(et,t),b(X,t),b(nt,t),b(F,t),b(pt,t),b(B,t),b(mt,t),b(ut,t),b(dt,t),b(E,t),b($t,t),b(ht,t),b(Y,t),b(jt,t),b(_t,t),b(Tt,t),b(L,t),b(wt,t),b(qt,t),b(Wt,t),b(Ct,t),b(Vt,t),b(xt,t)}}}const Xe='{"title":"맞춤형 아키텍처 만들기","local":"create-a-custom-architecture","sections":[{"title":"Configuration","local":"configuration","sections":[],"depth":2},{"title":"모델","local":"model","sections":[{"title":"모델 헤드","local":"model-heads","sections":[],"depth":3}],"depth":2},{"title":"토크나이저","local":"tokenizer","sections":[],"depth":2},{"title":"이미지 프로세서","local":"image-processor","sections":[],"depth":2},{"title":"특성 추출기","local":"feature-extractor","sections":[],"depth":2},{"title":"프로세서","local":"processor","sections":[],"depth":2}],"depth":1}';function Fe(w){return be(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ie extends je{constructor(n){super(),_e(this,n,Fe,He,he,{})}}export{Ie as component}; | |
Xet Storage Details
- Size:
- 50 kB
- Xet hash:
- a73d08e09239b16f43ed8165ab780e32d7dfbe298f99cd1d90e079a9a1892961
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.