import{s as Ke,o as Oe,n as oe}from"../chunks/scheduler.cc52f4b9.js";import{S as ls,i as ts,e as a,s as n,c as y,h as es,a as i,d as e,b as M,f as Pe,g as J,j as p,k as Nl,l as ss,m as s,n as o,t as d,o as r,p as c}from"../chunks/index.ccfa71ad.js";import{T as pe}from"../chunks/Tip.b150ffa7.js";import{C as ns,H as ye,E as Ms}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.bf6e17b3.js";import{Y as Je}from"../chunks/Youtube.6232240b.js";import{C as m}from"../chunks/CodeBlock.d683ceb4.js";import{C as as}from"../chunks/CourseFloatingBanner.23e5afab.js";function is(T){let U,j="Google Colab의 traceback에서 “6 frames” 주변의 파란 상자를 보셨나요?  traceback을 “frames”로 압축하는 Colab의 특별한 기능입니다. 만약 오류의 원인을 찾을 수 없다면, 두개의 작은 화살표를 클릭해서 전체 traceback을 확장되어 있는지 여부를 확인하세요.";return{c(){U=a("p"),U.textContent=j},l(u){U=i(u,"P",{"data-svelte-h":!0}),p(U)!=="svelte-xxn98g"&&(U.textContent=j)},m(u,w){s(u,U,w)},p:oe,d(u){u&&e(U)}}}function ps(T){let U,j='💡 이해하기 어려운 에러 메시지를 접하게 된다면, 메세지를 복사해서 Google 또는 <a href="https://stackoverflow.com/" rel="nofollow">스택오버플로우</a> 검색창에 붙여 넣기만 하세요(네 진짭니다!). 이는 오류가 발생한 첫 사람이 아닐 가능성이 높을뿐더러, 커뮤니티의 다른 사람들이 게시한 솔루션을 찾는 좋은 방법입니다. 예를 들어, 스택오버플로우에서 ‘OSError: Can’t load config for’를 검색하면 여러 <a href="https://stackoverflow.com/search?q=OSError%3A+Can%27t+load+config+for+" rel="nofollow">해답</a>을 제공하며 문제 해결을 위한 출발점으로 사용할 수 있습니다.';return{c(){U=a("p"),U.innerHTML=j},l(u){U=i(u,"P",{"data-svelte-h":!0}),p(U)!=="svelte-95h5b6"&&(U.innerHTML=j)},m(u,w){s(u,U,w)},p:oe,d(u){u&&e(U)}}}function ys(T){let U,j="🚨 여기에서 하는 접근 방식은 동료가 ‘distilbert-base-uncased’의 config를 수정했을 수 있으므로 이 접근 방식은 완전하지 않습니다. 우리는 동료에게 먼저 확인하고 싶겠지만, 이번 장에서의 목적상, 동료가 디폴트 config를 사용했다고 가정하겠습니다.";return{c(){U=a("p"),U.textContent=j},l(u){U=i(u,"P",{"data-svelte-h":!0}),p(U)!=="svelte-10cuvr3"&&(U.textContent=j)},m(u,w){s(u,U,w)},p:oe,d(u){u&&e(U)}}}function Js(T){let U,j,u,w,k,Yl,g,Ql,G,Hl,X,de="이번 장에서는 Transformer 모델을 새롭게 튜닝 후 예측을 하려고 할 때 발생할 수 있는 몇가지 일반적인 에러를 살펴보겠습니다.",Fl,_,El,B,re=`이번 장에서 <a href="https://huggingface.co/lewtun/distilbert-base-uncased-finetuned-squad-d5716d28" rel="nofollow">모델의 저장소 템플릿</a>이 준비되어 있습니다.
만약 이번 단원에서 코드를 실행하려면 모델을 <a href="https://huggingface.co" rel="nofollow">Huggingface Hub</a>의 개인 계정에 모델을 복사해야 합니다.
모델을 계정의 저장소에 복제하기 위해 주피터 노트북에서 아래의 코드를 실행하거나:`,Sl,$,ql,R,ce="또는 아래의 스크립트를 원하는 터미널에서 실행합니다:",Ll,V,Dl,x,Ue="터미널에서 아이디와 비밀번호를 입력하는 프롬프트가 나타나며, 식별 토큰은 <em>~/.cache/huggingface/</em>에 저장됩니다. 한번 로그인 하고 나면 모델의 저장소 템플릿을 아래의 함수를 사용해 복사할 수 있습니다:",Pl,v,Kl,A,me="이제 <code>copy_repository_template()</code>를 호출하면 모델 저장소의 템플릿이 계정에 복사 됩니다.",Ol,N,lt,z,ue="Transformer 모델들의 멋진 디버깅 세계로 여정을 떠나기 위해, 다음의 시나리오를 생각해보세요: 여러분은 E-commerce 사이트의 고객이 소비자 상품에 대한 답변을 찾기 위한 질문 및 답변 프로젝트에서 동료와 함께 일하고 있으며, 동료가 당신에게 다음과 같은 메세지를 보냈습니다:",tt,Y,je='<p>안녕하세요! Hugging Face 코스에 있는 <a href="/course/chapter7/7">7 단원</a>의 기술을 활용해서 실험을 해봤는데, SQuAD에서 좋은 결과를 얻었습니다. 저희 프로젝트를 이 모델로 시작할 수 있다고 생각이 됩니다. 허브에 있는 모델 아이디는 “lewtun/distillbert-base-uncased-finetuned-squad-d5716d28” 입니다. 마음 껏 테스트 해보세요. :)</p>',et,Q,we="🤗 Transformers의 <code>pipeline</code>을 사용는 모델을 불러오기 위해 우선 고려해야 할 것이 있습니다:",st,H,nt,F,Mt,E,Te="아 이런, 뭔가 잘못된 것 같네요! 만약 프로그래밍이 처음이라면, 이런 종류의 에러가 처음에는 다소 신비하게(<code>OSError</code>란 도대체..) 보일 수도 있습니다. 여기에서 보이는 에러는 파이썬의 traceback(stack trace로 알려져있음)으로 불리는 좀 더 큰 에러 리포트의 마지막 부분 입니다. 예를 들어 이 코드를 Google의 Colab에서 실행한다면 아래와 같은 스크린샷을 보게 될겁니다:",at,b,be='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/traceback.png" alt="A Python traceback." width="100%"/>',it,S,fe='이 리포트에는 많은 정보를 담고 있으니, 같이 핵심 부분을 살펴보겠습니다. 우선 명심해야할 것은 tracebacks은 <em>아래부터 위로</em> 읽어야 합니다. 이러한 말은 영어 텍스트를 위에서 아래로 읽어오곤 했다면 이상하게 들릴 수 있겠지만 모델과 토크나이저를 다운로드 할 때 <code>pipeline</code>이 만드는 함수 호출 순서를 보여주는 traceback을 반영했기 때문입니다. 내부에서 <code>pipeline</code>이 작동하는 방식에 대한 자세한 내용은 <a href="/course/chapter2">단원 2</a>를 참고하세요.',pt,f,yt,q,he="즉 마지막 에러 메시지와 발생한 예외의 이름을 가리키는 traceback의 마지막 줄을 뜻합니다. 이 경우의 예외 유형은 시스템 관련 오류를 나타내는 OS Error 입니다. 첨부된 오류 메시지를 읽으면 모델의 <em>config.json</em> 파일에 문제가 있는 것으로 보이며 이를 수정하기 위해 두 가지 선택지가 있습니다:",Jt,L,ot,h,dt,D,Ze="첫 번째 제안은 모델 ID가 실제로 정확한지 확인하도록 요청하는 것으로 비즈니스의 첫 순서는 식별자(모델 이름)를 복사하여 Hub의 검색 창에 붙여넣는 것입니다:",rt,Z,Ce='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/wrong-model-id.png" alt="The wrong model name." width="100%"/>',ct,P,Ie="음, 동료의 모델이 허브에 없는 것 같습니다… 아하, 모델의 이름에 오타가 있었습니다! DistilBERT는 이름에 “l”이 하나만 있으므로 이를 수정하고 대신 “lewtun/distilbert-base-uncased-finetuned-squad-d5716d28”을 찾아보겠습니다:",Ut,C,We='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/true-model-id.png" alt="The right model name." width="100%"/>',mt,K,ke="좋습니다, 성공했군요. 이제 올바른 모델 ID로 모델을 다시 다운로드 해봅시다:",ut,O,jt,ll,wt,tl,ge="아오 또 실패입니다. 머신러닝 엔지니어의 일상에 오신 것을 환영합니다! 모델 ID를 수정했으므로 문제는 저장소 자체에 있어야 합니다. 🤗 Hub의 저장소 컨텐츠에 빠르게 액세스하는 방법은 <code>huggingface_hub</code> 라이브러리의 <code>list_repo_files()</code> 함수를 사용하는 것입니다:",Tt,el,bt,sl,ft,nl,Ge='흥미롭네요 — 이 저장소에는 <em>config.json</em>가 보이지 않습니다! 우리의 <code>pipeline</code>이 모델을 불러올 수 없는 것이 당연했군요; 동료가 파인튜닝 후에 허브에 푸시하는 것을 잊어버린 모양입니다. 이 경우, 문제는 매우 간단하게 해결할 수 있습니다: 동료에게 파일을 추가하도록 요청하거나, 사전 훈련(pretrained)된 모델이 <a href="https://huggingface.co/distilbert-base-uncased" rel="nofollow"><code>distilbert-base-uncased</code></a>인 것을 확인 할 수 있으므로, 이 모델에 대한 config를 다운로드하고 저장소에 푸시하여 문제가 해결되는지 확인할 수 있습니다. 시도 해봅시다. <a href="/course/chapter2">단원 2</a>에서 배운 기술을 사용해 <code>AutoConfig</code> 클래스로 모델의 config 파일을 다운로드할 수 있습니다.',ht,Ml,Zt,I,Ct,al,Xe=`그런 다음 config 클래스의 <code>push_to_hub()</code> 기능을 사용해서 config 파일을 모델 저장소로 푸시할 수 있습니다:
We can then push this to our model repository with the configuration’s <code>push_to_hub()</code> function:`,It,il,Wt,pl,_e="이제 <code>main</code> 브랜치의 최신 커밋에서 모델을 로드해서 작동 여부를 테스트할 수 있습니다:",kt,yl,gt,Jl,Gt,ol,Be="유후, 동작하네요! 방금 배운 내용을 요약 해보겠습니다:",Xt,dl,$e=`<li>Python의 오류 메시지는 <em>tracebacks</em>로 알려져 있으며 아래에서 위로 읽습니다. 오류 메시지의 마지막 줄에는 일반적으로 문제의 원인을 찾는 데 필요한 정보가 포함되어 있습니다.</li> <li>마지막 줄에 충분한 정보가 포함되어 있지 않으면 traceback을 위로 훑어보고 소스 코드에서 오류가 발생한 위치를 식별할 수 있는지 확인합니다.</li> <li>오류 메시지가 문제를 디버그하는 데 도움이 되지 않으면 온라인에서 유사한 문제에 대한 해결책을 검색해 보세요.</li> <li><code>huggingface_hub</code>
// 🤗 Hub?
이 라이브러리는 허브의 저장소와 상호 작용하고 디버그하는 데 사용할 수 있는 툴들을 제공합니다.</li>`,_t,rl,Re="이제 파이프라인을 디버깅하는 방법을 알았으니 모델 자체의 forward pass에서 더 까다로운 예를 살펴보겠습니다.",Bt,cl,$t,Ul,Ve="‘pipeline’은 빠르게 예측을 생성해야 하는 대부분의 애플리케이션에 적합하지만 때로는 모델의 logits값에 접근해야 할 수도 있습니다(예: 적용하려는 커스텀 후처리 과정이 있는 경우). 이 경우 무엇이 잘못될 수 있는지 알아보기 위해 먼저 <code>pipeline</code>에서 모델과 토크나이저를 가져와 보겠습니다:",Rt,ml,Vt,ul,xe="다음으로 질문이 필요합니다. 선호하는 프레임워크가 지원되는지 살펴보겠습니다:",xt,jl,vt,wl,ve='<a href="/course/chapter7">단원 7</a>에서 보았듯이 일반적인 단계는 입력을 토큰화하고 시작과 마지막 토큰의 logits를 추출한 다음 응답 부분을 디코딩하는 것입니다:',At,Tl,Nt,bl,zt,fl,Ae="이런, 코드에 버그가 있는 것 같네요! 하지만 약간의 디버깅은 두렵지 않습니다. 노트북에서 파이썬 디버거를 사용 할 수 있습니다:",Yt,hl,Qt,Zl,Ne="또는 터미널에서:",Ht,Cl,Ft,Il,ze="여기에서 오류 메시지를 읽으면 <code>&#39;list&#39; 객체에는 &#39;size&#39; 속성이 없으며 </code>model(**inputs)‘에서 문제가 발생한 라인을 가리키는 <code>--&gt;</code> 화살표를 볼 수 있습니다. <code>.Python 디버거를 사용하여 대화식으로 디버그할 수 있지만 지금은 단순히 </code>inputs` 부분을 슬라이스하여 어떤 값이 있는지 볼 것입니다:",Et,Wl,St,kl,qt,gl,Ye="확실히 일반적인 Python <code>list</code>처럼 보이지만 타입을 다시 확인합시다:",Lt,Gl,Dt,Xl,Pt,_l,Qe='네, 확실히 파이썬의 <code>list</code>입니다. 무엇이 잘못되었을까요? <a href="/course/chapter2">단원 2</a>에서 🤗 Transformers의 <code>AutoModelForXxx</code> 클래스는 <em>tensors</em>(PyTorch 또는 TensorFlow 포함)에서 작동하며 tensor의 dimensions를 추출하기 위해 일반적인 방법으로 PyTorch의 <code>Tensor.size()</code>를 활용합니다. 어떤 라인이 예외를 발생시켰는지 알아보기 위해 traceback을 다시 살펴보겠습니다:',Kt,Bl,Ot,$l,He='코드가 <code>input_ids.size()</code>를 호출하려고 하지만, Python <code>list</code>에서는 절대 동작하지 않습니다. 이 문제를 어떻게 해결할 수 있을까요? 스택오버플로우에서 오류 메시지를 검색하면 꽤 많은 관련 <a href="https://stackoverflow.com/search?q=AttributeError%3A+%27list%27+object+has+no+attribute+%27size%27&amp;s=c15ec54c-63cb-481d-a749-408920073e8f" rel="nofollow">해결책</a>을 제공합니다. 첫 번째 질문을 클릭하면 아래 스크린샷에 표시된 답변과 함께 우리와 유사한 질문이 표시됩니다:',le,W,Fe='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/stack-overflow.png" alt="An answer from Stack Overflow." width="100%"/>',te,Rl,Ee="대답은 토크나이저에 <code>return_tensors=&#39;pt&#39;</code>를 추가할 것을 권장하는데, 이게 작동하는지 확인해 보겠습니다:",ee,Vl,se,xl,ne,vl,Se='잘 동작하네요! 이게 바로 스택오버플로우가 얼마나 유용한지 보여주는 좋은 예입니다. 유사한 문제를 식별하여 커뮤니티의 다른 사람들의 경험을 활용할 수 있었습니다. 그러나 이와 같은 검색이 항상 적절한 답변을 제공하는 것은 아닙니다. 이러한 경우에 무엇을 할 수 있을까요? 다행히도 <a href="https://discuss.huggingface.co/" rel="nofollow">Hugging Face forums</a>에 여러분을 반기고 도와줄 수 있는 개발자 커뮤니티가 있습니다! 다음 장에서는 답변을 얻을 수 있는 좋은 포럼 질문을 만드는 방법을 살펴보겠습니다.',Me,Al,ae,zl,ie;return k=new ns({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),g=new ye({props:{title:"에러가 발생했을 때 대응 방법",local:"에러가-발생했을-때-대응-방법",headingTag:"h1"}}),G=new as({props:{chapter:8,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter8/section2.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter8/section2.ipynb"}]}}),_=new Je({props:{id:"DQ-CpJn6Rc4"}}),$=new m({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login

notebook_login()`,wrap:!1}}),V=new m({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),v=new m({props:{code:"ZnJvbSUyMGRpc3R1dGlscy5kaXJfdXRpbCUyMGltcG9ydCUyMGNvcHlfdHJlZSUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBSZXBvc2l0b3J5JTJDJTIwc25hcHNob3RfZG93bmxvYWQlMkMlMjBjcmVhdGVfcmVwbyUyQyUyMGdldF9mdWxsX3JlcG9fbmFtZSUwQSUwQSUwQWRlZiUyMGNvcHlfcmVwb3NpdG9yeV90ZW1wbGF0ZSgpJTNBJTBBJTIwJTIwJTIwJTIwJTIzJTIwQ2xvbmUlMjB0aGUlMjByZXBvJTIwYW5kJTIwZXh0cmFjdCUyMHRoZSUyMGxvY2FsJTIwcGF0aCUwQSUyMCUyMCUyMCUyMHRlbXBsYXRlX3JlcG9faWQlMjAlM0QlMjAlMjJsZXd0dW4lMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjglMjIlMEElMjAlMjAlMjAlMjBjb21taXRfaGFzaCUyMCUzRCUyMCUyMmJlM2VhZmZjMjg2NjlkNzkzMjQ5MjY4MWNkNWYzZTg5MDVlMzU4YjQlMjIlMEElMjAlMjAlMjAlMjB0ZW1wbGF0ZV9yZXBvX2RpciUyMCUzRCUyMHNuYXBzaG90X2Rvd25sb2FkKHRlbXBsYXRlX3JlcG9faWQlMkMlMjByZXZpc2lvbiUzRGNvbW1pdF9oYXNoKSUwQSUyMCUyMCUyMCUyMCUyMyUyMENyZWF0ZSUyMGFuJTIwZW1wdHklMjByZXBvJTIwb24lMjB0aGUlMjBIdWIlMEElMjAlMjAlMjAlMjBtb2RlbF9uYW1lJTIwJTNEJTIwdGVtcGxhdGVfcmVwb19pZC5zcGxpdCglMjIlMkYlMjIpJTVCMSU1RCUwQSUyMCUyMCUyMCUyMGNyZWF0ZV9yZXBvKG1vZGVsX25hbWUlMkMlMjBleGlzdF9vayUzRFRydWUpJTBBJTIwJTIwJTIwJTIwJTIzJTIwQ2xvbmUlMjB0aGUlMjBlbXB0eSUyMHJlcG8lMEElMjAlMjAlMjAlMjBuZXdfcmVwb19pZCUyMCUzRCUyMGdldF9mdWxsX3JlcG9fbmFtZShtb2RlbF9uYW1lKSUwQSUyMCUyMCUyMCUyMG5ld19yZXBvX2RpciUyMCUzRCUyMG1vZGVsX25hbWUlMEElMjAlMjAlMjAlMjByZXBvJTIwJTNEJTIwUmVwb3NpdG9yeShsb2NhbF9kaXIlM0RuZXdfcmVwb19kaXIlMkMlMjBjbG9uZV9mcm9tJTNEbmV3X3JlcG9faWQpJTBBJTIwJTIwJTIwJTIwJTIzJTIwQ29weSUyMGZpbGVzJTBBJTIwJTIwJTIwJTIwY29weV90cmVlKHRlbXBsYXRlX3JlcG9fZGlyJTJDJTIwbmV3X3JlcG9fZGlyKSUwQSUyMCUyMCUyMCUyMCUyMyUyMFB1c2glMjB0byUyMEh1YiUwQSUyMCUyMCUyMCUyMHJlcG8ucHVzaF90b19odWIoKQ==",highlighted:`<span class="hljs-keyword">from</span> distutils.dir_util <span class="hljs-keyword">import</span> copy_tree
<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> Repository, snapshot_download, create_repo, get_full_repo_name


<span class="hljs-keyword">def</span> <span class="hljs-title function_">copy_repository_template</span>():
    <span class="hljs-comment"># Clone the repo and extract the local path</span>
    template_repo_id = <span class="hljs-string">&quot;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&quot;</span>
    commit_hash = <span class="hljs-string">&quot;be3eaffc28669d7932492681cd5f3e8905e358b4&quot;</span>
    template_repo_dir = snapshot_download(template_repo_id, revision=commit_hash)
    <span class="hljs-comment"># Create an empty repo on the Hub</span>
    model_name = template_repo_id.split(<span class="hljs-string">&quot;/&quot;</span>)[<span class="hljs-number">1</span>]
    create_repo(model_name, exist_ok=<span class="hljs-literal">True</span>)
    <span class="hljs-comment"># Clone the empty repo</span>
    new_repo_id = get_full_repo_name(model_name)
    new_repo_dir = model_name
    repo = Repository(local_dir=new_repo_dir, clone_from=new_repo_id)
    <span class="hljs-comment"># Copy files</span>
    copy_tree(template_repo_dir, new_repo_dir)
    <span class="hljs-comment"># Push to Hub</span>
    repo.push_to_hub()`,wrap:!1}}),N=new ye({props:{title:"🤗 Transformers의 파이프라인 디버깅",local:"-transformers의-파이프라인-디버깅",headingTag:"h2"}}),H=new m({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBbW9kZWxfY2hlY2twb2ludCUyMCUzRCUyMGdldF9mdWxsX3JlcG9fbmFtZSglMjJkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JTIyKSUwQXJlYWRlciUyMCUzRCUyMHBpcGVsaW5lKCUyMnF1ZXN0aW9uLWFuc3dlcmluZyUyMiUyQyUyMG1vZGVsJTNEbW9kZWxfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

model_checkpoint = get_full_repo_name(<span class="hljs-string">&quot;distillbert-base-uncased-finetuned-squad-d5716d28&quot;</span>)
reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint)`,wrap:!1}}),F=new m({props:{code:"JTIyJTIyJTIyJTBBT1NFcnJvciUzQSUyMENhbid0JTIwbG9hZCUyMGNvbmZpZyUyMGZvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4Jy4lMjBtYWtlJTIwc3VyZSUyMHRoYXQlM0ElMEElMEEtJTIwJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJUVDJTlEJUI0JUVCJTlEJUJDJUVCJThBJTk0JTIwJUVCJUFBJUE4JUVCJThEJUI4JUVCJUFBJTg1JUVDJTlEJUI0JTIwJ2h0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZtb2RlbHMnJUVDJTk3JTkwJTIwJUVDJUExJUI0JUVDJTlFJUFDJUVEJTk1JTk4JUVCJThBJTk0JUVDJUE3JTgwJTIwJUVEJTk5JTk1JUVDJTlEJUI4JUVEJTk1JTk4JUVBJUIxJUIwJUVCJTgyJTk4JTBBJTBBJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJUVDJTlEJUI0JUVCJTlEJUJDJUVCJThBJTk0JTIwJUVBJUIyJUJEJUVCJUExJTlDJTIwJUVCJTk4JTkwJUVCJThBJTk0JTIwJUVEJThGJUI0JUVCJThEJTk0JUVBJUIwJTgwJTIwY29uZmlnLmpzb24lMjAlRUQlOEMlOEMlRUMlOUQlQkMlMjAlRUQlOEYlQUMlRUQlOTUlQTglRUQlOTUlOTglRUElQjMlQTAlMjAlRUMlOUUlODglRUIlOEElOTQlRUMlQTclODAlMjAlRUQlOTklOTUlRUMlOUQlQjglRUQlOTUlOTglRUMlODQlQjglRUMlOUElOTQuJTBBJTIyJTIyJTIy",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
OSError: Can&#x27;t load config for &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27;. make sure that:

- &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27;이라는 모델명이 &#x27;https://huggingface.co/models&#x27;에 존재하는지 확인하거나

&#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27;이라는 경로 또는 폴더가 config.json 파일 포함하고 있는지 확인하세요.
&quot;&quot;&quot;</span>`,wrap:!1}}),f=new pe({props:{$$slots:{default:[is]},$$scope:{ctx:T}}}),L=new m({props:{code:"JTIyJTIyJTIyJTBBbWFrZSUyMHN1cmUlMjB0aGF0JTNBJTBBJTBBLSUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwYSUyMGNvcnJlY3QlMjBtb2RlbCUyMGlkZW50aWZpZXIlMjBsaXN0ZWQlMjBvbiUyMCdodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbW9kZWxzJyUwQSUwQS0lMjBvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwdGhlJTIwY29ycmVjdCUyMHBhdGglMjB0byUyMGElMjBkaXJlY3RvcnklMjBjb250YWluaW5nJTIwYSUyMGNvbmZpZy5qc29uJTIwZmlsZSUwQSUyMiUyMiUyMg==",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
make sure that:

- &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is a correct model identifier listed on &#x27;https://huggingface.co/models&#x27;

- or &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is the correct path to a directory containing a config.json file
&quot;&quot;&quot;</span>`,wrap:!1}}),h=new pe({props:{$$slots:{default:[ps]},$$scope:{ctx:T}}}),O=new m({props:{code:"bW9kZWxfY2hlY2twb2ludCUyMCUzRCUyMGdldF9mdWxsX3JlcG9fbmFtZSglMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjglMjIpJTBBcmVhZGVyJTIwJTNEJTIwcGlwZWxpbmUoJTIycXVlc3Rpb24tYW5zd2VyaW5nJTIyJTJDJTIwbW9kZWwlM0Rtb2RlbF9jaGVja3BvaW50KQ==",highlighted:`model_checkpoint = get_full_repo_name(<span class="hljs-string">&quot;distilbert-base-uncased-finetuned-squad-d5716d28&quot;</span>)
reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint)`,wrap:!1}}),ll=new m({props:{code:"JTIyJTIyJTIyJTBBT1NFcnJvciUzQSUyMENhbid0JTIwbG9hZCUyMGNvbmZpZyUyMGZvciUyMCdsZXd0dW4lMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnLiUyME1ha2UlMjBzdXJlJTIwdGhhdCUzQSUwQSUwQS0lMjAnbGV3dHVuJTJGZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwYSUyMGNvcnJlY3QlMjBtb2RlbCUyMGlkZW50aWZpZXIlMjBsaXN0ZWQlMjBvbiUyMCdodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbW9kZWxzJyUwQSUwQS0lMjBvciUyMCdsZXd0dW4lMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjB0aGUlMjBjb3JyZWN0JTIwcGF0aCUyMHRvJTIwYSUyMGRpcmVjdG9yeSUyMGNvbnRhaW5pbmclMjBhJTIwY29uZmlnLmpzb24lMjBmaWxlJTBBJTIyJTIyJTIy",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
OSError: Can&#x27;t load config for &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27;. Make sure that:

- &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27; is a correct model identifier listed on &#x27;https://huggingface.co/models&#x27;

- or &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27; is the correct path to a directory containing a config.json file
&quot;&quot;&quot;</span>`,wrap:!1}}),el=new m({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGxpc3RfcmVwb19maWxlcyUwQSUwQWxpc3RfcmVwb19maWxlcyhyZXBvX2lkJTNEbW9kZWxfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> list_repo_files

list_repo_files(repo_id=model_checkpoint)`,wrap:!1}}),sl=new m({props:{code:"JTVCJy5naXRhdHRyaWJ1dGVzJyUyQyUyMCdSRUFETUUubWQnJTJDJTIwJ3B5dG9yY2hfbW9kZWwuYmluJyUyQyUyMCdzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiclMkMlMjAndG9rZW5pemVyX2NvbmZpZy5qc29uJyUyQyUyMCd0cmFpbmluZ19hcmdzLmJpbiclMkMlMjAndm9jYWIudHh0JyU1RA==",highlighted:'[<span class="hljs-string">&#x27;.gitattributes&#x27;</span>, <span class="hljs-string">&#x27;README.md&#x27;</span>, <span class="hljs-string">&#x27;pytorch_model.bin&#x27;</span>, <span class="hljs-string">&#x27;special_tokens_map.json&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_config.json&#x27;</span>, <span class="hljs-string">&#x27;training_args.bin&#x27;</span>, <span class="hljs-string">&#x27;vocab.txt&#x27;</span>]',wrap:!1}}),Ml=new m({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Db25maWclMEElMEFwcmV0cmFpbmVkX2NoZWNrcG9pbnQlMjAlM0QlMjAlMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMiUwQWNvbmZpZyUyMCUzRCUyMEF1dG9Db25maWcuZnJvbV9wcmV0cmFpbmVkKHByZXRyYWluZWRfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoConfig

pretrained_checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>
config = AutoConfig.from_pretrained(pretrained_checkpoint)`,wrap:!1}}),I=new pe({props:{warning:!0,$$slots:{default:[ys]},$$scope:{ctx:T}}}),il=new m({props:{code:"Y29uZmlnLnB1c2hfdG9faHViKG1vZGVsX2NoZWNrcG9pbnQlMkMlMjBjb21taXRfbWVzc2FnZSUzRCUyMkFkZCUyMGNvbmZpZy5qc29uJTIyKQ==",highlighted:'config.push_to_hub(model_checkpoint, commit_message=<span class="hljs-string">&quot;Add config.json&quot;</span>)',wrap:!1}}),yl=new m({props:{code:"cmVhZGVyJTIwJTNEJTIwcGlwZWxpbmUoJTIycXVlc3Rpb24tYW5zd2VyaW5nJTIyJTJDJTIwbW9kZWwlM0Rtb2RlbF9jaGVja3BvaW50JTJDJTIwcmV2aXNpb24lM0QlMjJtYWluJTIyKSUwQSUwQWNvbnRleHQlMjAlM0QlMjByJTIyJTIyJTIyJTBBRXh0cmFjdGl2ZSUyMFF1ZXN0aW9uJTIwQW5zd2VyaW5nJTIwaXMlMjB0aGUlMjB0YXNrJTIwb2YlMjBleHRyYWN0aW5nJTIwYW4lMjBhbnN3ZXIlMjBmcm9tJTIwYSUyMHRleHQlMEFnaXZlbiUyMGElMjBxdWVzdGlvbi4lMjBBbiUyMGV4YW1wbGUlMjBvZiUyMGElMjBxdWVzdGlvbiUyMGFuc3dlcmluZyUyMGRhdGFzZXQlMjBpcyUyMHRoZSUyMFNRdUFEJTBBZGF0YXNldCUyQyUyMHdoaWNoJTIwaXMlMjBlbnRpcmVseSUyMGJhc2VkJTIwb24lMjB0aGF0JTIwdGFzay4lMjBJZiUyMHlvdSUyMHdvdWxkJTIwbGlrZSUyMHRvJTIwZmluZS10dW5lJTIwYSUwQW1vZGVsJTIwb24lMjBhJTIwU1F1QUQlMjB0YXNrJTJDJTIweW91JTIwbWF5JTIwbGV2ZXJhZ2UlMjB0aGUlMEFleGFtcGxlcyUyRnB5dG9yY2glMkZxdWVzdGlvbi1hbnN3ZXJpbmclMkZydW5fc3F1YWQucHklMjBzY3JpcHQuJTBBJTBBJUYwJTlGJUE0JTk3JTIwVHJhbnNmb3JtZXJzJTIwaXMlMjBpbnRlcm9wZXJhYmxlJTIwd2l0aCUyMHRoZSUyMFB5VG9yY2glMkMlMjBUZW5zb3JGbG93JTJDJTIwYW5kJTIwSkFYJTBBZnJhbWV3b3JrcyUyQyUyMHNvJTIweW91JTIwY2FuJTIwdXNlJTIweW91ciUyMGZhdm91cml0ZSUyMHRvb2xzJTIwZm9yJTIwYSUyMHdpZGUlMjB2YXJpZXR5JTIwb2YlMjB0YXNrcyElMEElMjIlMjIlMjIlMEElMEFxdWVzdGlvbiUyMCUzRCUyMCUyMldoYXQlMjBpcyUyMGV4dHJhY3RpdmUlMjBxdWVzdGlvbiUyMGFuc3dlcmluZyUzRiUyMiUwQXJlYWRlcihxdWVzdGlvbiUzRHF1ZXN0aW9uJTJDJTIwY29udGV4dCUzRGNvbnRleHQp",highlighted:`reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint, revision=<span class="hljs-string">&quot;main&quot;</span>)

context = <span class="hljs-string">r&quot;&quot;&quot;
Extractive Question Answering is the task of extracting an answer from a text
given a question. An example of a question answering dataset is the SQuAD
dataset, which is entirely based on that task. If you would like to fine-tune a
model on a SQuAD task, you may leverage the
examples/pytorch/question-answering/run_squad.py script.

🤗 Transformers is interoperable with the PyTorch, TensorFlow, and JAX
frameworks, so you can use your favourite tools for a wide variety of tasks!
&quot;&quot;&quot;</span>

question = <span class="hljs-string">&quot;What is extractive question answering?&quot;</span>
reader(question=question, context=context)`,wrap:!1}}),Jl=new m({props:{code:"JTdCJ3Njb3JlJyUzQSUyMDAuMzg2Njk1MzU1MTc2OTI1NjYlMkMlMEElMjAnc3RhcnQnJTNBJTIwMzQlMkMlMEElMjAnZW5kJyUzQSUyMDk1JTJDJTBBJTIwJ2Fuc3dlciclM0ElMjAndGhlJTIwdGFzayUyMG9mJTIwZXh0cmFjdGluZyUyMGFuJTIwYW5zd2VyJTIwZnJvbSUyMGElMjB0ZXh0JTIwZ2l2ZW4lMjBhJTIwcXVlc3Rpb24nJTdE",highlighted:`{<span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.38669535517692566</span>,
 <span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">34</span>,
 <span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">95</span>,
 <span class="hljs-string">&#x27;answer&#x27;</span>: <span class="hljs-string">&#x27;the task of extracting an answer from a text given a question&#x27;</span>}`,wrap:!1}}),cl=new ye({props:{title:"모델의 foward pass 디버깅",local:"모델의-foward-pass-디버깅",headingTag:"h2"}}),ml=new m({props:{code:"dG9rZW5pemVyJTIwJTNEJTIwcmVhZGVyLnRva2VuaXplciUwQW1vZGVsJTIwJTNEJTIwcmVhZGVyLm1vZGVs",highlighted:`tokenizer = reader.tokenizer
model = reader.model`,wrap:!1}}),jl=new m({props:{code:"cXVlc3Rpb24lMjAlM0QlMjAlMjJXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTIy",highlighted:'question = <span class="hljs-string">&quot;Which frameworks can I use?&quot;</span>',wrap:!1}}),Tl=new m({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIocXVlc3Rpb24lMkMlMjBjb250ZXh0JTJDJTIwYWRkX3NwZWNpYWxfdG9rZW5zJTNEVHJ1ZSklMEFpbnB1dF9pZHMlMjAlM0QlMjBpbnB1dHMlNUIlMjJpbnB1dF9pZHMlMjIlNUQlNUIwJTVEJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQWFuc3dlcl9zdGFydF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLnN0YXJ0X2xvZ2l0cyUwQWFuc3dlcl9lbmRfc2NvcmVzJTIwJTNEJTIwb3V0cHV0cy5lbmRfbG9naXRzJTBBJTIzJTIwR2V0JTIwdGhlJTIwbW9zdCUyMGxpa2VseSUyMGJlZ2lubmluZyUyMG9mJTIwYW5zd2VyJTIwd2l0aCUyMHRoZSUyMGFyZ21heCUyMG9mJTIwdGhlJTIwc2NvcmUlMEFhbnN3ZXJfc3RhcnQlMjAlM0QlMjB0b3JjaC5hcmdtYXgoYW5zd2VyX3N0YXJ0X3Njb3JlcyklMEElMjMlMjBHZXQlMjB0aGUlMjBtb3N0JTIwbGlrZWx5JTIwZW5kJTIwb2YlMjBhbnN3ZXIlMjB3aXRoJTIwdGhlJTIwYXJnbWF4JTIwb2YlMjB0aGUlMjBzY29yZSUwQWFuc3dlcl9lbmQlMjAlM0QlMjB0b3JjaC5hcmdtYXgoYW5zd2VyX2VuZF9zY29yZXMpJTIwJTJCJTIwMSUwQWFuc3dlciUyMCUzRCUyMHRva2VuaXplci5jb252ZXJ0X3Rva2Vuc190b19zdHJpbmcoJTBBJTIwJTIwJTIwJTIwdG9rZW5pemVyLmNvbnZlcnRfaWRzX3RvX3Rva2VucyhpbnB1dF9pZHMlNUJhbnN3ZXJfc3RhcnQlM0FhbnN3ZXJfZW5kJTVEKSUwQSklMEFwcmludChmJTIyUXVlc3Rpb24lM0ElMjAlN0JxdWVzdGlvbiU3RCUyMiklMEFwcmludChmJTIyQW5zd2VyJTNBJTIwJTdCYW5zd2VyJTdEJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> torch

inputs = tokenizer(question, context, add_special_tokens=<span class="hljs-literal">True</span>)
input_ids = inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][<span class="hljs-number">0</span>]
outputs = model(**inputs)
answer_start_scores = outputs.start_logits
answer_end_scores = outputs.end_logits
<span class="hljs-comment"># Get the most likely beginning of answer with the argmax of the score</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Get the most likely end of answer with the argmax of the score</span>
answer_end = torch.argmax(answer_end_scores) + <span class="hljs-number">1</span>
answer = tokenizer.convert_tokens_to_string(
    tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end])
)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Question: <span class="hljs-subst">{question}</span>&quot;</span>)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Answer: <span class="hljs-subst">{answer}</span>&quot;</span>)`,wrap:!1}}),bl=new m({props:{code:" ",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_75743/2725838073.py in &lt;module&gt;
      1 inputs = tokenizer(question, text, add_special_tokens=True)
      2 input_ids = inputs[&quot;input_ids&quot;]
----&gt; 3 outputs = model(**inputs)
      4 answer_start_scores = outputs.start_logits
      5 answer_end_scores = outputs.end_logits

~/miniconda3/envs/huggingface/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-&gt; 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

~/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, start_positions, end_positions, output_attentions, output_hidden_states, return_dict)
    723         return_dict = return_dict if return_dict is not None else self.config.use_return_dict
    724
--&gt; 725         distilbert_output = self.distilbert(
    726             input_ids=input_ids,
    727             attention_mask=attention_mask,

~/miniconda3/envs/huggingface/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-&gt; 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

~/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, output_attentions, output_hidden_states, return_dict)
    471             raise ValueError(&quot;You cannot specify both input_ids and inputs_embeds at the same time&quot;)
    472         elif input_ids is not None:
--&gt; 473             input_shape = input_ids.size()
    474         elif inputs_embeds is not None:
    475             input_shape = inputs_embeds.size()[:-1]

AttributeError: &#x27;list&#x27; object has no attribute &#x27;size&#x27;
&quot;&quot;&quot;</span>`,wrap:!1}}),hl=new Je({props:{id:"rSPyvPw0p9k"}}),Cl=new Je({props:{id:"5PkZ4rbHL6c"}}),Wl=new m({props:{code:"aW5wdXRzJTVCJTIyaW5wdXRfaWRzJTIyJTVEJTVCJTNBNSU1RA==",highlighted:'inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][:<span class="hljs-number">5</span>]',wrap:!1}}),kl=new m({props:{code:"JTVCMTAxJTJDJTIwMjAyOSUyQyUyMDc3MDUlMkMlMjAyMDE1JTJDJTIwMjA2NCU1RA==",highlighted:'[<span class="hljs-number">101</span>, <span class="hljs-number">2029</span>, <span class="hljs-number">7705</span>, <span class="hljs-number">2015</span>, <span class="hljs-number">2064</span>]',wrap:!1}}),Gl=new m({props:{code:"dHlwZShpbnB1dHMlNUIlMjJpbnB1dF9pZHMlMjIlNUQp",highlighted:'<span class="hljs-built_in">type</span>(inputs[<span class="hljs-string">&quot;input_ids&quot;</span>])',wrap:!1}}),Xl=new m({props:{code:"bGlzdA==",highlighted:'<span class="hljs-built_in">list</span>',wrap:!1}}),Bl=new m({props:{code:"fiUyRm1pbmljb25kYTMlMkZlbnZzJTJGaHVnZ2luZ2ZhY2UlMkZsaWIlMkZweXRob24zLjglMkZzaXRlLXBhY2thZ2VzJTJGdHJhbnNmb3JtZXJzJTJGbW9kZWxzJTJGZGlzdGlsYmVydCUyRm1vZGVsaW5nX2Rpc3RpbGJlcnQucHklMjBpbiUyMGZvcndhcmQoc2VsZiUyQyUyMGlucHV0X2lkcyUyQyUyMGF0dGVudGlvbl9tYXNrJTJDJTIwaGVhZF9tYXNrJTJDJTIwaW5wdXRzX2VtYmVkcyUyQyUyMG91dHB1dF9hdHRlbnRpb25zJTJDJTIwb3V0cHV0X2hpZGRlbl9zdGF0ZXMlMkMlMjByZXR1cm5fZGljdCklMEElMjAlMjAlMjAlMjA0NzElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByYWlzZSUyMFZhbHVlRXJyb3IoJTIyWW91JTIwY2Fubm90JTIwc3BlY2lmeSUyMGJvdGglMjBpbnB1dF9pZHMlMjBhbmQlMjBpbnB1dHNfZW1iZWRzJTIwYXQlMjB0aGUlMjBzYW1lJTIwdGltZSUyMiklMEElMjAlMjAlMjAlMjA0NzIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbGlmJTIwaW5wdXRfaWRzJTIwaXMlMjBub3QlMjBOb25lJTNBJTBBLS0lM0UlMjA0NzMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpbnB1dF9zaGFwZSUyMCUzRCUyMGlucHV0X2lkcy5zaXplKCklMEElMjAlMjAlMjAlMjA0NzQlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbGlmJTIwaW5wdXRzX2VtYmVkcyUyMGlzJTIwbm90JTIwTm9uZSUzQSUwQSUyMCUyMCUyMCUyMDQ3NSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X3NoYXBlJTIwJTNEJTIwaW5wdXRzX2VtYmVkcy5zaXplKCklNUIlM0EtMSU1RCUwQSUwQUF0dHJpYnV0ZUVycm9yJTNBJTIwJ2xpc3QnJTIwb2JqZWN0JTIwaGFzJTIwbm8lMjBhdHRyaWJ1dGUlMjAnc2l6ZSc=",highlighted:`~<span class="hljs-regexp">/miniconda3/</span>envs<span class="hljs-regexp">/huggingface/</span>lib<span class="hljs-regexp">/python3.8/</span>site-packages<span class="hljs-regexp">/transformers/m</span>odels<span class="hljs-regexp">/distilbert/m</span>odeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, output_attentions, output_hidden_states, return_dict)
    <span class="hljs-number">471</span>             raise ValueError(<span class="hljs-string">&quot;You cannot specify both input_ids and inputs_embeds at the same time&quot;</span>)
    <span class="hljs-number">472</span>         elif input_ids is not None:
--&gt; <span class="hljs-number">473</span>             input_shape = input_ids.<span class="hljs-keyword">size</span>()
    <span class="hljs-number">474</span>         elif inputs_embeds is not None:
    <span class="hljs-number">475</span>             input_shape = inputs_embeds.<span class="hljs-keyword">size</span>()[:-<span class="hljs-number">1</span>]

AttributeError: <span class="hljs-string">&#x27;list&#x27;</span> object has no attribute <span class="hljs-string">&#x27;size&#x27;</span>`,wrap:!1}}),Vl=new m({props:{code:"aW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKHF1ZXN0aW9uJTJDJTIwY29udGV4dCUyQyUyMGFkZF9zcGVjaWFsX3Rva2VucyUzRFRydWUlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQWlucHV0X2lkcyUyMCUzRCUyMGlucHV0cyU1QiUyMmlucHV0X2lkcyUyMiU1RCU1QjAlNUQlMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMpJTBBYW5zd2VyX3N0YXJ0X3Njb3JlcyUyMCUzRCUyMG91dHB1dHMuc3RhcnRfbG9naXRzJTBBYW5zd2VyX2VuZF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLmVuZF9sb2dpdHMlMEElMjMlMjBHZXQlMjB0aGUlMjBtb3N0JTIwbGlrZWx5JTIwYmVnaW5uaW5nJTIwb2YlMjBhbnN3ZXIlMjB3aXRoJTIwdGhlJTIwYXJnbWF4JTIwb2YlMjB0aGUlMjBzY29yZSUwQWFuc3dlcl9zdGFydCUyMCUzRCUyMHRvcmNoLmFyZ21heChhbnN3ZXJfc3RhcnRfc2NvcmVzKSUwQSUyMyUyMEdldCUyMHRoZSUyMG1vc3QlMjBsaWtlbHklMjBlbmQlMjBvZiUyMGFuc3dlciUyMHdpdGglMjB0aGUlMjBhcmdtYXglMjBvZiUyMHRoZSUyMHNjb3JlJTBBYW5zd2VyX2VuZCUyMCUzRCUyMHRvcmNoLmFyZ21heChhbnN3ZXJfZW5kX3Njb3JlcyklMjAlMkIlMjAxJTBBYW5zd2VyJTIwJTNEJTIwdG9rZW5pemVyLmNvbnZlcnRfdG9rZW5zX3RvX3N0cmluZyglMEElMjAlMjAlMjAlMjB0b2tlbml6ZXIuY29udmVydF9pZHNfdG9fdG9rZW5zKGlucHV0X2lkcyU1QmFuc3dlcl9zdGFydCUzQWFuc3dlcl9lbmQlNUQpJTBBKSUwQXByaW50KGYlMjJRdWVzdGlvbiUzQSUyMCU3QnF1ZXN0aW9uJTdEJTIyKSUwQXByaW50KGYlMjJBbnN3ZXIlM0ElMjAlN0JhbnN3ZXIlN0QlMjIp",highlighted:`inputs = tokenizer(question, context, add_special_tokens=<span class="hljs-literal">True</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
input_ids = inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][<span class="hljs-number">0</span>]
outputs = model(**inputs)
answer_start_scores = outputs.start_logits
answer_end_scores = outputs.end_logits
<span class="hljs-comment"># Get the most likely beginning of answer with the argmax of the score</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Get the most likely end of answer with the argmax of the score</span>
answer_end = torch.argmax(answer_end_scores) + <span class="hljs-number">1</span>
answer = tokenizer.convert_tokens_to_string(
    tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end])
)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Question: <span class="hljs-subst">{question}</span>&quot;</span>)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Answer: <span class="hljs-subst">{answer}</span>&quot;</span>)`,wrap:!1}}),xl=new m({props:{code:"JTIyJTIyJTIyJTBBUXVlc3Rpb24lM0ElMjBXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTBBQW5zd2VyJTNBJTIwcHl0b3JjaCUyQyUyMHRlbnNvcmZsb3clMkMlMjBhbmQlMjBqYXglMEElMjIlMjIlMjI=",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
Question: Which frameworks can I use?
Answer: pytorch, tensorflow, and jax
&quot;&quot;&quot;</span>`,wrap:!1}}),Al=new Ms({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ko/chapter8/2.mdx"}}),{c(){U=a("meta"),j=n(),u=a("p"),w=n(),y(k.$$.fragment),Yl=n(),y(g.$$.fragment),Ql=n(),y(G.$$.fragment),Hl=n(),X=a("p"),X.textContent=de,Fl=n(),y(_.$$.fragment),El=n(),B=a("p"),B.innerHTML=re,Sl=n(),y($.$$.fragment),ql=n(),R=a("p"),R.textContent=ce,Ll=n(),y(V.$$.fragment),Dl=n(),x=a("p"),x.innerHTML=Ue,Pl=n(),y(v.$$.fragment),Kl=n(),A=a("p"),A.innerHTML=me,Ol=n(),y(N.$$.fragment),lt=n(),z=a("p"),z.textContent=ue,tt=n(),Y=a("blockquote"),Y.innerHTML=je,et=n(),Q=a("p"),Q.innerHTML=we,st=n(),y(H.$$.fragment),nt=n(),y(F.$$.fragment),Mt=n(),E=a("p"),E.innerHTML=Te,at=n(),b=a("div"),b.innerHTML=be,it=n(),S=a("p"),S.innerHTML=fe,pt=n(),y(f.$$.fragment),yt=n(),q=a("p"),q.innerHTML=he,Jt=n(),y(L.$$.fragment),ot=n(),y(h.$$.fragment),dt=n(),D=a("p"),D.textContent=Ze,rt=n(),Z=a("div"),Z.innerHTML=Ce,ct=n(),P=a("p"),P.textContent=Ie,Ut=n(),C=a("div"),C.innerHTML=We,mt=n(),K=a("p"),K.textContent=ke,ut=n(),y(O.$$.fragment),jt=n(),y(ll.$$.fragment),wt=n(),tl=a("p"),tl.innerHTML=ge,Tt=n(),y(el.$$.fragment),bt=n(),y(sl.$$.fragment),ft=n(),nl=a("p"),nl.innerHTML=Ge,ht=n(),y(Ml.$$.fragment),Zt=n(),y(I.$$.fragment),Ct=n(),al=a("p"),al.innerHTML=Xe,It=n(),y(il.$$.fragment),Wt=n(),pl=a("p"),pl.innerHTML=_e,kt=n(),y(yl.$$.fragment),gt=n(),y(Jl.$$.fragment),Gt=n(),ol=a("p"),ol.textContent=Be,Xt=n(),dl=a("ul"),dl.innerHTML=$e,_t=n(),rl=a("p"),rl.textContent=Re,Bt=n(),y(cl.$$.fragment),$t=n(),Ul=a("p"),Ul.innerHTML=Ve,Rt=n(),y(ml.$$.fragment),Vt=n(),ul=a("p"),ul.textContent=xe,xt=n(),y(jl.$$.fragment),vt=n(),wl=a("p"),wl.innerHTML=ve,At=n(),y(Tl.$$.fragment),Nt=n(),y(bl.$$.fragment),zt=n(),fl=a("p"),fl.textContent=Ae,Yt=n(),y(hl.$$.fragment),Qt=n(),Zl=a("p"),Zl.textContent=Ne,Ht=n(),y(Cl.$$.fragment),Ft=n(),Il=a("p"),Il.innerHTML=ze,Et=n(),y(Wl.$$.fragment),St=n(),y(kl.$$.fragment),qt=n(),gl=a("p"),gl.innerHTML=Ye,Lt=n(),y(Gl.$$.fragment),Dt=n(),y(Xl.$$.fragment),Pt=n(),_l=a("p"),_l.innerHTML=Qe,Kt=n(),y(Bl.$$.fragment),Ot=n(),$l=a("p"),$l.innerHTML=He,le=n(),W=a("div"),W.innerHTML=Fe,te=n(),Rl=a("p"),Rl.innerHTML=Ee,ee=n(),y(Vl.$$.fragment),se=n(),y(xl.$$.fragment),ne=n(),vl=a("p"),vl.innerHTML=Se,Me=n(),y(Al.$$.fragment),ae=n(),zl=a("p"),this.h()},l(l){const t=es("svelte-u9bgzb",document.head);U=i(t,"META",{name:!0,content:!0}),t.forEach(e),j=M(l),u=i(l,"P",{}),Pe(u).forEach(e),w=M(l),J(k.$$.fragment,l),Yl=M(l),J(g.$$.fragment,l),Ql=M(l),J(G.$$.fragment,l),Hl=M(l),X=i(l,"P",{"data-svelte-h":!0}),p(X)!=="svelte-1gxlugf"&&(X.textContent=de),Fl=M(l),J(_.$$.fragment,l),El=M(l),B=i(l,"P",{"data-svelte-h":!0}),p(B)!=="svelte-1dvu7gc"&&(B.innerHTML=re),Sl=M(l),J($.$$.fragment,l),ql=M(l),R=i(l,"P",{"data-svelte-h":!0}),p(R)!=="svelte-13w3g2d"&&(R.textContent=ce),Ll=M(l),J(V.$$.fragment,l),Dl=M(l),x=i(l,"P",{"data-svelte-h":!0}),p(x)!=="svelte-kgfrk2"&&(x.innerHTML=Ue),Pl=M(l),J(v.$$.fragment,l),Kl=M(l),A=i(l,"P",{"data-svelte-h":!0}),p(A)!=="svelte-mro1oy"&&(A.innerHTML=me),Ol=M(l),J(N.$$.fragment,l),lt=M(l),z=i(l,"P",{"data-svelte-h":!0}),p(z)!=="svelte-1x9b0w6"&&(z.textContent=ue),tt=M(l),Y=i(l,"BLOCKQUOTE",{"data-svelte-h":!0}),p(Y)!=="svelte-194cznz"&&(Y.innerHTML=je),et=M(l),Q=i(l,"P",{"data-svelte-h":!0}),p(Q)!=="svelte-1bt4065"&&(Q.innerHTML=we),st=M(l),J(H.$$.fragment,l),nt=M(l),J(F.$$.fragment,l),Mt=M(l),E=i(l,"P",{"data-svelte-h":!0}),p(E)!=="svelte-esoryw"&&(E.innerHTML=Te),at=M(l),b=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(b)!=="svelte-1196hzp"&&(b.innerHTML=be),it=M(l),S=i(l,"P",{"data-svelte-h":!0}),p(S)!=="svelte-1udmr7o"&&(S.innerHTML=fe),pt=M(l),J(f.$$.fragment,l),yt=M(l),q=i(l,"P",{"data-svelte-h":!0}),p(q)!=="svelte-po72pj"&&(q.innerHTML=he),Jt=M(l),J(L.$$.fragment,l),ot=M(l),J(h.$$.fragment,l),dt=M(l),D=i(l,"P",{"data-svelte-h":!0}),p(D)!=="svelte-1mpwmwf"&&(D.textContent=Ze),rt=M(l),Z=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(Z)!=="svelte-6ebc1j"&&(Z.innerHTML=Ce),ct=M(l),P=i(l,"P",{"data-svelte-h":!0}),p(P)!=="svelte-1l9my3g"&&(P.textContent=Ie),Ut=M(l),C=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(C)!=="svelte-1b95mxr"&&(C.innerHTML=We),mt=M(l),K=i(l,"P",{"data-svelte-h":!0}),p(K)!=="svelte-1hmbpv0"&&(K.textContent=ke),ut=M(l),J(O.$$.fragment,l),jt=M(l),J(ll.$$.fragment,l),wt=M(l),tl=i(l,"P",{"data-svelte-h":!0}),p(tl)!=="svelte-1ndbnyc"&&(tl.innerHTML=ge),Tt=M(l),J(el.$$.fragment,l),bt=M(l),J(sl.$$.fragment,l),ft=M(l),nl=i(l,"P",{"data-svelte-h":!0}),p(nl)!=="svelte-cl30o8"&&(nl.innerHTML=Ge),ht=M(l),J(Ml.$$.fragment,l),Zt=M(l),J(I.$$.fragment,l),Ct=M(l),al=i(l,"P",{"data-svelte-h":!0}),p(al)!=="svelte-169j1c0"&&(al.innerHTML=Xe),It=M(l),J(il.$$.fragment,l),Wt=M(l),pl=i(l,"P",{"data-svelte-h":!0}),p(pl)!=="svelte-1e8rk6c"&&(pl.innerHTML=_e),kt=M(l),J(yl.$$.fragment,l),gt=M(l),J(Jl.$$.fragment,l),Gt=M(l),ol=i(l,"P",{"data-svelte-h":!0}),p(ol)!=="svelte-s9ixvh"&&(ol.textContent=Be),Xt=M(l),dl=i(l,"UL",{"data-svelte-h":!0}),p(dl)!=="svelte-wtn1pl"&&(dl.innerHTML=$e),_t=M(l),rl=i(l,"P",{"data-svelte-h":!0}),p(rl)!=="svelte-1n9qm6w"&&(rl.textContent=Re),Bt=M(l),J(cl.$$.fragment,l),$t=M(l),Ul=i(l,"P",{"data-svelte-h":!0}),p(Ul)!=="svelte-2o2oia"&&(Ul.innerHTML=Ve),Rt=M(l),J(ml.$$.fragment,l),Vt=M(l),ul=i(l,"P",{"data-svelte-h":!0}),p(ul)!=="svelte-1ge5ru2"&&(ul.textContent=xe),xt=M(l),J(jl.$$.fragment,l),vt=M(l),wl=i(l,"P",{"data-svelte-h":!0}),p(wl)!=="svelte-1nriits"&&(wl.innerHTML=ve),At=M(l),J(Tl.$$.fragment,l),Nt=M(l),J(bl.$$.fragment,l),zt=M(l),fl=i(l,"P",{"data-svelte-h":!0}),p(fl)!=="svelte-16x9dpc"&&(fl.textContent=Ae),Yt=M(l),J(hl.$$.fragment,l),Qt=M(l),Zl=i(l,"P",{"data-svelte-h":!0}),p(Zl)!=="svelte-1vtu8ie"&&(Zl.textContent=Ne),Ht=M(l),J(Cl.$$.fragment,l),Ft=M(l),Il=i(l,"P",{"data-svelte-h":!0}),p(Il)!=="svelte-nxzkfy"&&(Il.innerHTML=ze),Et=M(l),J(Wl.$$.fragment,l),St=M(l),J(kl.$$.fragment,l),qt=M(l),gl=i(l,"P",{"data-svelte-h":!0}),p(gl)!=="svelte-lm48ae"&&(gl.innerHTML=Ye),Lt=M(l),J(Gl.$$.fragment,l),Dt=M(l),J(Xl.$$.fragment,l),Pt=M(l),_l=i(l,"P",{"data-svelte-h":!0}),p(_l)!=="svelte-c3hbiw"&&(_l.innerHTML=Qe),Kt=M(l),J(Bl.$$.fragment,l),Ot=M(l),$l=i(l,"P",{"data-svelte-h":!0}),p($l)!=="svelte-nao1co"&&($l.innerHTML=He),le=M(l),W=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(W)!=="svelte-1i8wi5i"&&(W.innerHTML=Fe),te=M(l),Rl=i(l,"P",{"data-svelte-h":!0}),p(Rl)!=="svelte-17xt6c0"&&(Rl.innerHTML=Ee),ee=M(l),J(Vl.$$.fragment,l),se=M(l),J(xl.$$.fragment,l),ne=M(l),vl=i(l,"P",{"data-svelte-h":!0}),p(vl)!=="svelte-1gwc3cq"&&(vl.innerHTML=Se),Me=M(l),J(Al.$$.fragment,l),ae=M(l),zl=i(l,"P",{}),Pe(zl).forEach(e),this.h()},h(){Nl(U,"name","hf:doc:metadata"),Nl(U,"content",os),Nl(b,"class","flex justify-center"),Nl(Z,"class","flex justify-center"),Nl(C,"class","flex justify-center"),Nl(W,"class","flex justify-center")},m(l,t){ss(document.head,U),s(l,j,t),s(l,u,t),s(l,w,t),o(k,l,t),s(l,Yl,t),o(g,l,t),s(l,Ql,t),o(G,l,t),s(l,Hl,t),s(l,X,t),s(l,Fl,t),o(_,l,t),s(l,El,t),s(l,B,t),s(l,Sl,t),o($,l,t),s(l,ql,t),s(l,R,t),s(l,Ll,t),o(V,l,t),s(l,Dl,t),s(l,x,t),s(l,Pl,t),o(v,l,t),s(l,Kl,t),s(l,A,t),s(l,Ol,t),o(N,l,t),s(l,lt,t),s(l,z,t),s(l,tt,t),s(l,Y,t),s(l,et,t),s(l,Q,t),s(l,st,t),o(H,l,t),s(l,nt,t),o(F,l,t),s(l,Mt,t),s(l,E,t),s(l,at,t),s(l,b,t),s(l,it,t),s(l,S,t),s(l,pt,t),o(f,l,t),s(l,yt,t),s(l,q,t),s(l,Jt,t),o(L,l,t),s(l,ot,t),o(h,l,t),s(l,dt,t),s(l,D,t),s(l,rt,t),s(l,Z,t),s(l,ct,t),s(l,P,t),s(l,Ut,t),s(l,C,t),s(l,mt,t),s(l,K,t),s(l,ut,t),o(O,l,t),s(l,jt,t),o(ll,l,t),s(l,wt,t),s(l,tl,t),s(l,Tt,t),o(el,l,t),s(l,bt,t),o(sl,l,t),s(l,ft,t),s(l,nl,t),s(l,ht,t),o(Ml,l,t),s(l,Zt,t),o(I,l,t),s(l,Ct,t),s(l,al,t),s(l,It,t),o(il,l,t),s(l,Wt,t),s(l,pl,t),s(l,kt,t),o(yl,l,t),s(l,gt,t),o(Jl,l,t),s(l,Gt,t),s(l,ol,t),s(l,Xt,t),s(l,dl,t),s(l,_t,t),s(l,rl,t),s(l,Bt,t),o(cl,l,t),s(l,$t,t),s(l,Ul,t),s(l,Rt,t),o(ml,l,t),s(l,Vt,t),s(l,ul,t),s(l,xt,t),o(jl,l,t),s(l,vt,t),s(l,wl,t),s(l,At,t),o(Tl,l,t),s(l,Nt,t),o(bl,l,t),s(l,zt,t),s(l,fl,t),s(l,Yt,t),o(hl,l,t),s(l,Qt,t),s(l,Zl,t),s(l,Ht,t),o(Cl,l,t),s(l,Ft,t),s(l,Il,t),s(l,Et,t),o(Wl,l,t),s(l,St,t),o(kl,l,t),s(l,qt,t),s(l,gl,t),s(l,Lt,t),o(Gl,l,t),s(l,Dt,t),o(Xl,l,t),s(l,Pt,t),s(l,_l,t),s(l,Kt,t),o(Bl,l,t),s(l,Ot,t),s(l,$l,t),s(l,le,t),s(l,W,t),s(l,te,t),s(l,Rl,t),s(l,ee,t),o(Vl,l,t),s(l,se,t),o(xl,l,t),s(l,ne,t),s(l,vl,t),s(l,Me,t),o(Al,l,t),s(l,ae,t),s(l,zl,t),ie=!0},p(l,[t]){const qe={};t&2&&(qe.$$scope={dirty:t,ctx:l}),f.$set(qe);const Le={};t&2&&(Le.$$scope={dirty:t,ctx:l}),h.$set(Le);const De={};t&2&&(De.$$scope={dirty:t,ctx:l}),I.$set(De)},i(l){ie||(d(k.$$.fragment,l),d(g.$$.fragment,l),d(G.$$.fragment,l),d(_.$$.fragment,l),d($.$$.fragment,l),d(V.$$.fragment,l),d(v.$$.fragment,l),d(N.$$.fragment,l),d(H.$$.fragment,l),d(F.$$.fragment,l),d(f.$$.fragment,l),d(L.$$.fragment,l),d(h.$$.fragment,l),d(O.$$.fragment,l),d(ll.$$.fragment,l),d(el.$$.fragment,l),d(sl.$$.fragment,l),d(Ml.$$.fragment,l),d(I.$$.fragment,l),d(il.$$.fragment,l),d(yl.$$.fragment,l),d(Jl.$$.fragment,l),d(cl.$$.fragment,l),d(ml.$$.fragment,l),d(jl.$$.fragment,l),d(Tl.$$.fragment,l),d(bl.$$.fragment,l),d(hl.$$.fragment,l),d(Cl.$$.fragment,l),d(Wl.$$.fragment,l),d(kl.$$.fragment,l),d(Gl.$$.fragment,l),d(Xl.$$.fragment,l),d(Bl.$$.fragment,l),d(Vl.$$.fragment,l),d(xl.$$.fragment,l),d(Al.$$.fragment,l),ie=!0)},o(l){r(k.$$.fragment,l),r(g.$$.fragment,l),r(G.$$.fragment,l),r(_.$$.fragment,l),r($.$$.fragment,l),r(V.$$.fragment,l),r(v.$$.fragment,l),r(N.$$.fragment,l),r(H.$$.fragment,l),r(F.$$.fragment,l),r(f.$$.fragment,l),r(L.$$.fragment,l),r(h.$$.fragment,l),r(O.$$.fragment,l),r(ll.$$.fragment,l),r(el.$$.fragment,l),r(sl.$$.fragment,l),r(Ml.$$.fragment,l),r(I.$$.fragment,l),r(il.$$.fragment,l),r(yl.$$.fragment,l),r(Jl.$$.fragment,l),r(cl.$$.fragment,l),r(ml.$$.fragment,l),r(jl.$$.fragment,l),r(Tl.$$.fragment,l),r(bl.$$.fragment,l),r(hl.$$.fragment,l),r(Cl.$$.fragment,l),r(Wl.$$.fragment,l),r(kl.$$.fragment,l),r(Gl.$$.fragment,l),r(Xl.$$.fragment,l),r(Bl.$$.fragment,l),r(Vl.$$.fragment,l),r(xl.$$.fragment,l),r(Al.$$.fragment,l),ie=!1},d(l){l&&(e(j),e(u),e(w),e(Yl),e(Ql),e(Hl),e(X),e(Fl),e(El),e(B),e(Sl),e(ql),e(R),e(Ll),e(Dl),e(x),e(Pl),e(Kl),e(A),e(Ol),e(lt),e(z),e(tt),e(Y),e(et),e(Q),e(st),e(nt),e(Mt),e(E),e(at),e(b),e(it),e(S),e(pt),e(yt),e(q),e(Jt),e(ot),e(dt),e(D),e(rt),e(Z),e(ct),e(P),e(Ut),e(C),e(mt),e(K),e(ut),e(jt),e(wt),e(tl),e(Tt),e(bt),e(ft),e(nl),e(ht),e(Zt),e(Ct),e(al),e(It),e(Wt),e(pl),e(kt),e(gt),e(Gt),e(ol),e(Xt),e(dl),e(_t),e(rl),e(Bt),e($t),e(Ul),e(Rt),e(Vt),e(ul),e(xt),e(vt),e(wl),e(At),e(Nt),e(zt),e(fl),e(Yt),e(Qt),e(Zl),e(Ht),e(Ft),e(Il),e(Et),e(St),e(qt),e(gl),e(Lt),e(Dt),e(Pt),e(_l),e(Kt),e(Ot),e($l),e(le),e(W),e(te),e(Rl),e(ee),e(se),e(ne),e(vl),e(Me),e(ae),e(zl)),e(U),c(k,l),c(g,l),c(G,l),c(_,l),c($,l),c(V,l),c(v,l),c(N,l),c(H,l),c(F,l),c(f,l),c(L,l),c(h,l),c(O,l),c(ll,l),c(el,l),c(sl,l),c(Ml,l),c(I,l),c(il,l),c(yl,l),c(Jl,l),c(cl,l),c(ml,l),c(jl,l),c(Tl,l),c(bl,l),c(hl,l),c(Cl,l),c(Wl,l),c(kl,l),c(Gl,l),c(Xl,l),c(Bl,l),c(Vl,l),c(xl,l),c(Al,l)}}}const os='{"title":"에러가 발생했을 때 대응 방법","local":"에러가-발생했을-때-대응-방법","sections":[{"title":"🤗 Transformers의 파이프라인 디버깅","local":"-transformers의-파이프라인-디버깅","sections":[],"depth":2},{"title":"모델의 foward pass 디버깅","local":"모델의-foward-pass-디버깅","sections":[],"depth":2}],"depth":1}';function ds(T){return Oe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ts extends ls{constructor(U){super(),ts(this,U,ds,Js,Ke,{})}}export{Ts as component};
