import{s as De,o as Pe,n as ye}from"../chunks/scheduler.37c15a92.js";import{S as Ke,i as Oe,g as a,s as n,r as y,A as ls,h as i,f as e,c as M,j as Le,u as J,x as p,k as Al,y as ts,a as s,v as d,d as o,t as c,w as r}from"../chunks/index.2bf4358c.js";import{T as ae}from"../chunks/Tip.363c041f.js";import{Y as ie}from"../chunks/Youtube.1e50a667.js";import{C as m}from"../chunks/CodeBlock.4e987730.js";import{C as es}from"../chunks/CourseFloatingBanner.9ff4c771.js";import{H as pe,E as ss}from"../chunks/index.b8688d36.js";function ns(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:ye,d(u){u&&e(U)}}}function Ms(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:ye,d(u){u&&e(U)}}}function as(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:ye,d(u){u&&e(U)}}}function is(T){let U,j,u,w,k,zl,G,Yl,g,Je="이번 장에서는 Transformer 모델을 새롭게 튜닝 후 예측을 하려고 할 때 발생할 수 있는 몇가지 일반적인 에러를 살펴보겠습니다.",Ql,X,Hl,_,de=`이번 장에서 <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>의 개인 계정에 모델을 복사해야 합니다.
모델을 계정의 저장소에 복제하기 위해 주피터 노트북에서 아래의 코드를 실행하거나:`,Fl,B,El,$,oe="또는 아래의 스크립트를 원하는 터미널에서 실행합니다:",Sl,R,ql,V,ce="터미널에서 아이디와 비밀번호를 입력하는 프롬프트가 나타나며, 식별 토큰은 <em>~/.cache/huggingface/</em>에 저장됩니다. 한번 로그인 하고 나면 모델의 저장소 템플릿을 아래의 함수를 사용해 복사할 수 있습니다:",Ll,x,Dl,v,re="이제 <code>copy_repository_template()</code>를 호출하면 모델 저장소의 템플릿이 계정에 복사 됩니다.",Pl,A,Kl,N,Ue="Transformer 모델들의 멋진 디버깅 세계로 여정을 떠나기 위해, 다음의 시나리오를 생각해보세요: 여러분은 E-commerce 사이트의 고객이 소비자 상품에 대한 답변을 찾기 위한 질문 및 답변 프로젝트에서 동료와 함께 일하고 있으며, 동료가 당신에게 다음과 같은 메세지를 보냈습니다:",Ol,z,me='<p>안녕하세요! Hugging Face 코스에 있는 <a href="/course/chapter7/7">7 단원</a>의 기술을 활용해서 실험을 해봤는데, SQuAD에서 좋은 결과를 얻었습니다. 저희 프로젝트를 이 모델로 시작할 수 있다고 생각이 됩니다. 허브에 있는 모델 아이디는 “lewtun/distillbert-base-uncased-finetuned-squad-d5716d28” 입니다. 마음 껏 테스트 해보세요. :)</p>',lt,Y,ue="🤗 Transformers의 <code>pipeline</code>을 사용는 모델을 불러오기 위해 우선 고려해야 할 것이 있습니다:",tt,Q,et,H,st,F,je="아 이런, 뭔가 잘못된 것 같네요! 만약 프로그래밍이 처음이라면, 이런 종류의 에러가 처음에는 다소 신비하게(<code>OSError</code>란 도대체..) 보일 수도 있습니다. 여기에서 보이는 에러는 파이썬의 traceback(stack trace로 알려져있음)으로 불리는 좀 더 큰 에러 리포트의 마지막 부분 입니다. 예를 들어 이 코드를 Google의 Colab에서 실행한다면 아래와 같은 스크린샷을 보게 될겁니다:",nt,b,we='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/traceback.png" alt="A Python traceback." width="100%"/>',Mt,E,Te='이 리포트에는 많은 정보를 담고 있으니, 같이 핵심 부분을 살펴보겠습니다. 우선 명심해야할 것은 tracebacks은 <em>아래부터 위로</em> 읽어야 합니다. 이러한 말은 영어 텍스트를 위에서 아래로 읽어오곤 했다면 이상하게 들릴 수 있겠지만 모델과 토크나이저를 다운로드 할 때 <code>pipeline</code>이 만드는 함수 호출 순서를 보여주는 traceback을 반영했기 때문입니다. 내부에서 <code>pipeline</code>이 작동하는 방식에 대한 자세한 내용은 <a href="/course/chapter2">단원 2</a>를 참고하세요.',at,f,it,S,be="즉 마지막 에러 메시지와 발생한 예외의 이름을 가리키는 traceback의 마지막 줄을 뜻합니다. 이 경우의 예외 유형은 시스템 관련 오류를 나타내는 OS Error 입니다. 첨부된 오류 메시지를 읽으면 모델의 <em>config.json</em> 파일에 문제가 있는 것으로 보이며 이를 수정하기 위해 두 가지 선택지가 있습니다:",pt,q,yt,h,Jt,L,fe="첫 번째 제안은 모델 ID가 실제로 정확한지 확인하도록 요청하는 것으로 비즈니스의 첫 순서는 식별자(모델 이름)를 복사하여 Hub의 검색 창에 붙여넣는 것입니다:",dt,Z,he='<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%"/>',ot,D,Ze="음, 동료의 모델이 허브에 없는 것 같습니다… 아하, 모델의 이름에 오타가 있었습니다! DistilBERT는 이름에 “l”이 하나만 있으므로 이를 수정하고 대신 “lewtun/distilbert-base-uncased-finetuned-squad-d5716d28”을 찾아보겠습니다:",ct,C,Ce='<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%"/>',rt,P,Ie="좋습니다, 성공했군요. 이제 올바른 모델 ID로 모델을 다시 다운로드 해봅시다:",Ut,K,mt,O,ut,ll,We="아오 또 실패입니다. 머신러닝 엔지니어의 일상에 오신 것을 환영합니다! 모델 ID를 수정했으므로 문제는 저장소 자체에 있어야 합니다. 🤗 Hub의 저장소 컨텐츠에 빠르게 액세스하는 방법은 <code>huggingface_hub</code> 라이브러리의 <code>list_repo_files()</code> 함수를 사용하는 것입니다:",jt,tl,wt,el,Tt,sl,ke='흥미롭네요 — 이 저장소에는 <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 파일을 다운로드할 수 있습니다.',bt,nl,ft,I,ht,Ml,Ge=`그런 다음 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:`,Zt,al,Ct,il,ge="이제 <code>main</code> 브랜치의 최신 커밋에서 모델을 로드해서 작동 여부를 테스트할 수 있습니다:",It,pl,Wt,yl,kt,Jl,Xe="유후, 동작하네요! 방금 배운 내용을 요약 해보겠습니다:",Gt,dl,_e=`<li>Python의 오류 메시지는 <em>tracebacks</em>로 알려져 있으며 아래에서 위로 읽습니다. 오류 메시지의 마지막 줄에는 일반적으로 문제의 원인을 찾는 데 필요한 정보가 포함되어 있습니다.</li> <li>마지막 줄에 충분한 정보가 포함되어 있지 않으면 traceback을 위로 훑어보고 소스 코드에서 오류가 발생한 위치를 식별할 수 있는지 확인합니다.</li> <li>오류 메시지가 문제를 디버그하는 데 도움이 되지 않으면 온라인에서 유사한 문제에 대한 해결책을 검색해 보세요.</li> <li><code>huggingface_hub</code>
// 🤗 Hub?
이 라이브러리는 허브의 저장소와 상호 작용하고 디버그하는 데 사용할 수 있는 툴들을 제공합니다.</li>`,gt,ol,Be="이제 파이프라인을 디버깅하는 방법을 알았으니 모델 자체의 forward pass에서 더 까다로운 예를 살펴보겠습니다.",Xt,cl,_t,rl,$e="‘pipeline’은 빠르게 예측을 생성해야 하는 대부분의 애플리케이션에 적합하지만 때로는 모델의 logits값에 접근해야 할 수도 있습니다(예: 적용하려는 커스텀 후처리 과정이 있는 경우). 이 경우 무엇이 잘못될 수 있는지 알아보기 위해 먼저 <code>pipeline</code>에서 모델과 토크나이저를 가져와 보겠습니다:",Bt,Ul,$t,ml,Re="다음으로 질문이 필요합니다. 선호하는 프레임워크가 지원되는지 살펴보겠습니다:",Rt,ul,Vt,jl,Ve='<a href="/course/chapter7">단원 7</a>에서 보았듯이 일반적인 단계는 입력을 토큰화하고 시작과 마지막 토큰의 logits를 추출한 다음 응답 부분을 디코딩하는 것입니다:',xt,wl,vt,Tl,At,bl,xe="이런, 코드에 버그가 있는 것 같네요! 하지만 약간의 디버깅은 두렵지 않습니다. 노트북에서 파이썬 디버거를 사용 할 수 있습니다:",Nt,fl,zt,hl,ve="또는 터미널에서:",Yt,Zl,Qt,Cl,Ae="여기에서 오류 메시지를 읽으면 <code>&#39;list&#39; 객체에는 &#39;size&#39; 속성이 없으며 </code>model(**inputs)‘에서 문제가 발생한 라인을 가리키는 <code>--&gt;</code> 화살표를 볼 수 있습니다. <code>.Python 디버거를 사용하여 대화식으로 디버그할 수 있지만 지금은 단순히 </code>inputs` 부분을 슬라이스하여 어떤 값이 있는지 볼 것입니다:",Ht,Il,Ft,Wl,Et,kl,Ne="확실히 일반적인 Python <code>list</code>처럼 보이지만 타입을 다시 확인합시다:",St,Gl,qt,gl,Lt,Xl,ze='네, 확실히 파이썬의 <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을 다시 살펴보겠습니다:',Dt,_l,Pt,Bl,Ye='코드가 <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>을 제공합니다. 첫 번째 질문을 클릭하면 아래 스크린샷에 표시된 답변과 함께 우리와 유사한 질문이 표시됩니다:',Kt,W,Qe='<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%"/>',Ot,$l,He="대답은 토크나이저에 <code>return_tensors=&#39;pt&#39;</code>를 추가할 것을 권장하는데, 이게 작동하는지 확인해 보겠습니다:",le,Rl,te,Vl,ee,xl,Fe='잘 동작하네요! 이게 바로 스택오버플로우가 얼마나 유용한지 보여주는 좋은 예입니다. 유사한 문제를 식별하여 커뮤니티의 다른 사람들의 경험을 활용할 수 있었습니다. 그러나 이와 같은 검색이 항상 적절한 답변을 제공하는 것은 아닙니다. 이러한 경우에 무엇을 할 수 있을까요? 다행히도 <a href="https://discuss.huggingface.co/" rel="nofollow">Hugging Face forums</a>에 여러분을 반기고 도와줄 수 있는 개발자 커뮤니티가 있습니다! 다음 장에서는 답변을 얻을 수 있는 좋은 포럼 질문을 만드는 방법을 살펴보겠습니다.',se,vl,ne,Nl,Me;return k=new pe({props:{title:"에러가 발생했을 때 대응 방법",local:"에러가-발생했을-때-대응-방법",headingTag:"h1"}}),G=new es({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"}]}}),X=new ie({props:{id:"DQ-CpJn6Rc4"}}),B=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}}),R=new m({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),x=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}}),A=new pe({props:{title:"🤗 Transformers의 파이프라인 디버깅",local:"-transformers의-파이프라인-디버깅",headingTag:"h2"}}),Q=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}}),H=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 ae({props:{$$slots:{default:[ns]},$$scope:{ctx:T}}}),q=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 ae({props:{$$slots:{default:[Ms]},$$scope:{ctx:T}}}),K=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}}),O=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}}),tl=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}}),el=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}}),nl=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 ae({props:{warning:!0,$$slots:{default:[as]},$$scope:{ctx:T}}}),al=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}}),pl=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}}),yl=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 pe({props:{title:"모델의 foward pass 디버깅",local:"모델의-foward-pass-디버깅",headingTag:"h2"}}),Ul=new m({props:{code:"dG9rZW5pemVyJTIwJTNEJTIwcmVhZGVyLnRva2VuaXplciUwQW1vZGVsJTIwJTNEJTIwcmVhZGVyLm1vZGVs",highlighted:`tokenizer = reader.tokenizer
model = reader.model`,wrap:!1}}),ul=new m({props:{code:"cXVlc3Rpb24lMjAlM0QlMjAlMjJXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTIy",highlighted:'question = <span class="hljs-string">&quot;Which frameworks can I use?&quot;</span>',wrap:!1}}),wl=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}}),Tl=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}}),fl=new ie({props:{id:"rSPyvPw0p9k"}}),Zl=new ie({props:{id:"5PkZ4rbHL6c"}}),Il=new m({props:{code:"aW5wdXRzJTVCJTIyaW5wdXRfaWRzJTIyJTVEJTVCJTNBNSU1RA==",highlighted:'inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][:<span class="hljs-number">5</span>]',wrap:!1}}),Wl=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}}),gl=new m({props:{code:"bGlzdA==",highlighted:'<span class="hljs-built_in">list</span>',wrap:!1}}),_l=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}}),Rl=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}}),Vl=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}}),vl=new ss({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),zl=n(),y(G.$$.fragment),Yl=n(),g=a("p"),g.textContent=Je,Ql=n(),y(X.$$.fragment),Hl=n(),_=a("p"),_.innerHTML=de,Fl=n(),y(B.$$.fragment),El=n(),$=a("p"),$.textContent=oe,Sl=n(),y(R.$$.fragment),ql=n(),V=a("p"),V.innerHTML=ce,Ll=n(),y(x.$$.fragment),Dl=n(),v=a("p"),v.innerHTML=re,Pl=n(),y(A.$$.fragment),Kl=n(),N=a("p"),N.textContent=Ue,Ol=n(),z=a("blockquote"),z.innerHTML=me,lt=n(),Y=a("p"),Y.innerHTML=ue,tt=n(),y(Q.$$.fragment),et=n(),y(H.$$.fragment),st=n(),F=a("p"),F.innerHTML=je,nt=n(),b=a("div"),b.innerHTML=we,Mt=n(),E=a("p"),E.innerHTML=Te,at=n(),y(f.$$.fragment),it=n(),S=a("p"),S.innerHTML=be,pt=n(),y(q.$$.fragment),yt=n(),y(h.$$.fragment),Jt=n(),L=a("p"),L.textContent=fe,dt=n(),Z=a("div"),Z.innerHTML=he,ot=n(),D=a("p"),D.textContent=Ze,ct=n(),C=a("div"),C.innerHTML=Ce,rt=n(),P=a("p"),P.textContent=Ie,Ut=n(),y(K.$$.fragment),mt=n(),y(O.$$.fragment),ut=n(),ll=a("p"),ll.innerHTML=We,jt=n(),y(tl.$$.fragment),wt=n(),y(el.$$.fragment),Tt=n(),sl=a("p"),sl.innerHTML=ke,bt=n(),y(nl.$$.fragment),ft=n(),y(I.$$.fragment),ht=n(),Ml=a("p"),Ml.innerHTML=Ge,Zt=n(),y(al.$$.fragment),Ct=n(),il=a("p"),il.innerHTML=ge,It=n(),y(pl.$$.fragment),Wt=n(),y(yl.$$.fragment),kt=n(),Jl=a("p"),Jl.textContent=Xe,Gt=n(),dl=a("ul"),dl.innerHTML=_e,gt=n(),ol=a("p"),ol.textContent=Be,Xt=n(),y(cl.$$.fragment),_t=n(),rl=a("p"),rl.innerHTML=$e,Bt=n(),y(Ul.$$.fragment),$t=n(),ml=a("p"),ml.textContent=Re,Rt=n(),y(ul.$$.fragment),Vt=n(),jl=a("p"),jl.innerHTML=Ve,xt=n(),y(wl.$$.fragment),vt=n(),y(Tl.$$.fragment),At=n(),bl=a("p"),bl.textContent=xe,Nt=n(),y(fl.$$.fragment),zt=n(),hl=a("p"),hl.textContent=ve,Yt=n(),y(Zl.$$.fragment),Qt=n(),Cl=a("p"),Cl.innerHTML=Ae,Ht=n(),y(Il.$$.fragment),Ft=n(),y(Wl.$$.fragment),Et=n(),kl=a("p"),kl.innerHTML=Ne,St=n(),y(Gl.$$.fragment),qt=n(),y(gl.$$.fragment),Lt=n(),Xl=a("p"),Xl.innerHTML=ze,Dt=n(),y(_l.$$.fragment),Pt=n(),Bl=a("p"),Bl.innerHTML=Ye,Kt=n(),W=a("div"),W.innerHTML=Qe,Ot=n(),$l=a("p"),$l.innerHTML=He,le=n(),y(Rl.$$.fragment),te=n(),y(Vl.$$.fragment),ee=n(),xl=a("p"),xl.innerHTML=Fe,se=n(),y(vl.$$.fragment),ne=n(),Nl=a("p"),this.h()},l(l){const t=ls("svelte-u9bgzb",document.head);U=i(t,"META",{name:!0,content:!0}),t.forEach(e),j=M(l),u=i(l,"P",{}),Le(u).forEach(e),w=M(l),J(k.$$.fragment,l),zl=M(l),J(G.$$.fragment,l),Yl=M(l),g=i(l,"P",{"data-svelte-h":!0}),p(g)!=="svelte-1gxlugf"&&(g.textContent=Je),Ql=M(l),J(X.$$.fragment,l),Hl=M(l),_=i(l,"P",{"data-svelte-h":!0}),p(_)!=="svelte-1dvu7gc"&&(_.innerHTML=de),Fl=M(l),J(B.$$.fragment,l),El=M(l),$=i(l,"P",{"data-svelte-h":!0}),p($)!=="svelte-13w3g2d"&&($.textContent=oe),Sl=M(l),J(R.$$.fragment,l),ql=M(l),V=i(l,"P",{"data-svelte-h":!0}),p(V)!=="svelte-kgfrk2"&&(V.innerHTML=ce),Ll=M(l),J(x.$$.fragment,l),Dl=M(l),v=i(l,"P",{"data-svelte-h":!0}),p(v)!=="svelte-mro1oy"&&(v.innerHTML=re),Pl=M(l),J(A.$$.fragment,l),Kl=M(l),N=i(l,"P",{"data-svelte-h":!0}),p(N)!=="svelte-1x9b0w6"&&(N.textContent=Ue),Ol=M(l),z=i(l,"BLOCKQUOTE",{"data-svelte-h":!0}),p(z)!=="svelte-194cznz"&&(z.innerHTML=me),lt=M(l),Y=i(l,"P",{"data-svelte-h":!0}),p(Y)!=="svelte-1bt4065"&&(Y.innerHTML=ue),tt=M(l),J(Q.$$.fragment,l),et=M(l),J(H.$$.fragment,l),st=M(l),F=i(l,"P",{"data-svelte-h":!0}),p(F)!=="svelte-esoryw"&&(F.innerHTML=je),nt=M(l),b=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(b)!=="svelte-1196hzp"&&(b.innerHTML=we),Mt=M(l),E=i(l,"P",{"data-svelte-h":!0}),p(E)!=="svelte-1udmr7o"&&(E.innerHTML=Te),at=M(l),J(f.$$.fragment,l),it=M(l),S=i(l,"P",{"data-svelte-h":!0}),p(S)!=="svelte-po72pj"&&(S.innerHTML=be),pt=M(l),J(q.$$.fragment,l),yt=M(l),J(h.$$.fragment,l),Jt=M(l),L=i(l,"P",{"data-svelte-h":!0}),p(L)!=="svelte-1mpwmwf"&&(L.textContent=fe),dt=M(l),Z=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(Z)!=="svelte-6ebc1j"&&(Z.innerHTML=he),ot=M(l),D=i(l,"P",{"data-svelte-h":!0}),p(D)!=="svelte-1l9my3g"&&(D.textContent=Ze),ct=M(l),C=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(C)!=="svelte-1b95mxr"&&(C.innerHTML=Ce),rt=M(l),P=i(l,"P",{"data-svelte-h":!0}),p(P)!=="svelte-1hmbpv0"&&(P.textContent=Ie),Ut=M(l),J(K.$$.fragment,l),mt=M(l),J(O.$$.fragment,l),ut=M(l),ll=i(l,"P",{"data-svelte-h":!0}),p(ll)!=="svelte-1ndbnyc"&&(ll.innerHTML=We),jt=M(l),J(tl.$$.fragment,l),wt=M(l),J(el.$$.fragment,l),Tt=M(l),sl=i(l,"P",{"data-svelte-h":!0}),p(sl)!=="svelte-cl30o8"&&(sl.innerHTML=ke),bt=M(l),J(nl.$$.fragment,l),ft=M(l),J(I.$$.fragment,l),ht=M(l),Ml=i(l,"P",{"data-svelte-h":!0}),p(Ml)!=="svelte-169j1c0"&&(Ml.innerHTML=Ge),Zt=M(l),J(al.$$.fragment,l),Ct=M(l),il=i(l,"P",{"data-svelte-h":!0}),p(il)!=="svelte-1e8rk6c"&&(il.innerHTML=ge),It=M(l),J(pl.$$.fragment,l),Wt=M(l),J(yl.$$.fragment,l),kt=M(l),Jl=i(l,"P",{"data-svelte-h":!0}),p(Jl)!=="svelte-s9ixvh"&&(Jl.textContent=Xe),Gt=M(l),dl=i(l,"UL",{"data-svelte-h":!0}),p(dl)!=="svelte-wtn1pl"&&(dl.innerHTML=_e),gt=M(l),ol=i(l,"P",{"data-svelte-h":!0}),p(ol)!=="svelte-1n9qm6w"&&(ol.textContent=Be),Xt=M(l),J(cl.$$.fragment,l),_t=M(l),rl=i(l,"P",{"data-svelte-h":!0}),p(rl)!=="svelte-2o2oia"&&(rl.innerHTML=$e),Bt=M(l),J(Ul.$$.fragment,l),$t=M(l),ml=i(l,"P",{"data-svelte-h":!0}),p(ml)!=="svelte-1ge5ru2"&&(ml.textContent=Re),Rt=M(l),J(ul.$$.fragment,l),Vt=M(l),jl=i(l,"P",{"data-svelte-h":!0}),p(jl)!=="svelte-1nriits"&&(jl.innerHTML=Ve),xt=M(l),J(wl.$$.fragment,l),vt=M(l),J(Tl.$$.fragment,l),At=M(l),bl=i(l,"P",{"data-svelte-h":!0}),p(bl)!=="svelte-16x9dpc"&&(bl.textContent=xe),Nt=M(l),J(fl.$$.fragment,l),zt=M(l),hl=i(l,"P",{"data-svelte-h":!0}),p(hl)!=="svelte-1vtu8ie"&&(hl.textContent=ve),Yt=M(l),J(Zl.$$.fragment,l),Qt=M(l),Cl=i(l,"P",{"data-svelte-h":!0}),p(Cl)!=="svelte-nxzkfy"&&(Cl.innerHTML=Ae),Ht=M(l),J(Il.$$.fragment,l),Ft=M(l),J(Wl.$$.fragment,l),Et=M(l),kl=i(l,"P",{"data-svelte-h":!0}),p(kl)!=="svelte-lm48ae"&&(kl.innerHTML=Ne),St=M(l),J(Gl.$$.fragment,l),qt=M(l),J(gl.$$.fragment,l),Lt=M(l),Xl=i(l,"P",{"data-svelte-h":!0}),p(Xl)!=="svelte-c3hbiw"&&(Xl.innerHTML=ze),Dt=M(l),J(_l.$$.fragment,l),Pt=M(l),Bl=i(l,"P",{"data-svelte-h":!0}),p(Bl)!=="svelte-nao1co"&&(Bl.innerHTML=Ye),Kt=M(l),W=i(l,"DIV",{class:!0,"data-svelte-h":!0}),p(W)!=="svelte-1i8wi5i"&&(W.innerHTML=Qe),Ot=M(l),$l=i(l,"P",{"data-svelte-h":!0}),p($l)!=="svelte-17xt6c0"&&($l.innerHTML=He),le=M(l),J(Rl.$$.fragment,l),te=M(l),J(Vl.$$.fragment,l),ee=M(l),xl=i(l,"P",{"data-svelte-h":!0}),p(xl)!=="svelte-1gwc3cq"&&(xl.innerHTML=Fe),se=M(l),J(vl.$$.fragment,l),ne=M(l),Nl=i(l,"P",{}),Le(Nl).forEach(e),this.h()},h(){Al(U,"name","hf:doc:metadata"),Al(U,"content",ps),Al(b,"class","flex justify-center"),Al(Z,"class","flex justify-center"),Al(C,"class","flex justify-center"),Al(W,"class","flex justify-center")},m(l,t){ts(document.head,U),s(l,j,t),s(l,u,t),s(l,w,t),d(k,l,t),s(l,zl,t),d(G,l,t),s(l,Yl,t),s(l,g,t),s(l,Ql,t),d(X,l,t),s(l,Hl,t),s(l,_,t),s(l,Fl,t),d(B,l,t),s(l,El,t),s(l,$,t),s(l,Sl,t),d(R,l,t),s(l,ql,t),s(l,V,t),s(l,Ll,t),d(x,l,t),s(l,Dl,t),s(l,v,t),s(l,Pl,t),d(A,l,t),s(l,Kl,t),s(l,N,t),s(l,Ol,t),s(l,z,t),s(l,lt,t),s(l,Y,t),s(l,tt,t),d(Q,l,t),s(l,et,t),d(H,l,t),s(l,st,t),s(l,F,t),s(l,nt,t),s(l,b,t),s(l,Mt,t),s(l,E,t),s(l,at,t),d(f,l,t),s(l,it,t),s(l,S,t),s(l,pt,t),d(q,l,t),s(l,yt,t),d(h,l,t),s(l,Jt,t),s(l,L,t),s(l,dt,t),s(l,Z,t),s(l,ot,t),s(l,D,t),s(l,ct,t),s(l,C,t),s(l,rt,t),s(l,P,t),s(l,Ut,t),d(K,l,t),s(l,mt,t),d(O,l,t),s(l,ut,t),s(l,ll,t),s(l,jt,t),d(tl,l,t),s(l,wt,t),d(el,l,t),s(l,Tt,t),s(l,sl,t),s(l,bt,t),d(nl,l,t),s(l,ft,t),d(I,l,t),s(l,ht,t),s(l,Ml,t),s(l,Zt,t),d(al,l,t),s(l,Ct,t),s(l,il,t),s(l,It,t),d(pl,l,t),s(l,Wt,t),d(yl,l,t),s(l,kt,t),s(l,Jl,t),s(l,Gt,t),s(l,dl,t),s(l,gt,t),s(l,ol,t),s(l,Xt,t),d(cl,l,t),s(l,_t,t),s(l,rl,t),s(l,Bt,t),d(Ul,l,t),s(l,$t,t),s(l,ml,t),s(l,Rt,t),d(ul,l,t),s(l,Vt,t),s(l,jl,t),s(l,xt,t),d(wl,l,t),s(l,vt,t),d(Tl,l,t),s(l,At,t),s(l,bl,t),s(l,Nt,t),d(fl,l,t),s(l,zt,t),s(l,hl,t),s(l,Yt,t),d(Zl,l,t),s(l,Qt,t),s(l,Cl,t),s(l,Ht,t),d(Il,l,t),s(l,Ft,t),d(Wl,l,t),s(l,Et,t),s(l,kl,t),s(l,St,t),d(Gl,l,t),s(l,qt,t),d(gl,l,t),s(l,Lt,t),s(l,Xl,t),s(l,Dt,t),d(_l,l,t),s(l,Pt,t),s(l,Bl,t),s(l,Kt,t),s(l,W,t),s(l,Ot,t),s(l,$l,t),s(l,le,t),d(Rl,l,t),s(l,te,t),d(Vl,l,t),s(l,ee,t),s(l,xl,t),s(l,se,t),d(vl,l,t),s(l,ne,t),s(l,Nl,t),Me=!0},p(l,[t]){const Ee={};t&2&&(Ee.$$scope={dirty:t,ctx:l}),f.$set(Ee);const Se={};t&2&&(Se.$$scope={dirty:t,ctx:l}),h.$set(Se);const qe={};t&2&&(qe.$$scope={dirty:t,ctx:l}),I.$set(qe)},i(l){Me||(o(k.$$.fragment,l),o(G.$$.fragment,l),o(X.$$.fragment,l),o(B.$$.fragment,l),o(R.$$.fragment,l),o(x.$$.fragment,l),o(A.$$.fragment,l),o(Q.$$.fragment,l),o(H.$$.fragment,l),o(f.$$.fragment,l),o(q.$$.fragment,l),o(h.$$.fragment,l),o(K.$$.fragment,l),o(O.$$.fragment,l),o(tl.$$.fragment,l),o(el.$$.fragment,l),o(nl.$$.fragment,l),o(I.$$.fragment,l),o(al.$$.fragment,l),o(pl.$$.fragment,l),o(yl.$$.fragment,l),o(cl.$$.fragment,l),o(Ul.$$.fragment,l),o(ul.$$.fragment,l),o(wl.$$.fragment,l),o(Tl.$$.fragment,l),o(fl.$$.fragment,l),o(Zl.$$.fragment,l),o(Il.$$.fragment,l),o(Wl.$$.fragment,l),o(Gl.$$.fragment,l),o(gl.$$.fragment,l),o(_l.$$.fragment,l),o(Rl.$$.fragment,l),o(Vl.$$.fragment,l),o(vl.$$.fragment,l),Me=!0)},o(l){c(k.$$.fragment,l),c(G.$$.fragment,l),c(X.$$.fragment,l),c(B.$$.fragment,l),c(R.$$.fragment,l),c(x.$$.fragment,l),c(A.$$.fragment,l),c(Q.$$.fragment,l),c(H.$$.fragment,l),c(f.$$.fragment,l),c(q.$$.fragment,l),c(h.$$.fragment,l),c(K.$$.fragment,l),c(O.$$.fragment,l),c(tl.$$.fragment,l),c(el.$$.fragment,l),c(nl.$$.fragment,l),c(I.$$.fragment,l),c(al.$$.fragment,l),c(pl.$$.fragment,l),c(yl.$$.fragment,l),c(cl.$$.fragment,l),c(Ul.$$.fragment,l),c(ul.$$.fragment,l),c(wl.$$.fragment,l),c(Tl.$$.fragment,l),c(fl.$$.fragment,l),c(Zl.$$.fragment,l),c(Il.$$.fragment,l),c(Wl.$$.fragment,l),c(Gl.$$.fragment,l),c(gl.$$.fragment,l),c(_l.$$.fragment,l),c(Rl.$$.fragment,l),c(Vl.$$.fragment,l),c(vl.$$.fragment,l),Me=!1},d(l){l&&(e(j),e(u),e(w),e(zl),e(Yl),e(g),e(Ql),e(Hl),e(_),e(Fl),e(El),e($),e(Sl),e(ql),e(V),e(Ll),e(Dl),e(v),e(Pl),e(Kl),e(N),e(Ol),e(z),e(lt),e(Y),e(tt),e(et),e(st),e(F),e(nt),e(b),e(Mt),e(E),e(at),e(it),e(S),e(pt),e(yt),e(Jt),e(L),e(dt),e(Z),e(ot),e(D),e(ct),e(C),e(rt),e(P),e(Ut),e(mt),e(ut),e(ll),e(jt),e(wt),e(Tt),e(sl),e(bt),e(ft),e(ht),e(Ml),e(Zt),e(Ct),e(il),e(It),e(Wt),e(kt),e(Jl),e(Gt),e(dl),e(gt),e(ol),e(Xt),e(_t),e(rl),e(Bt),e($t),e(ml),e(Rt),e(Vt),e(jl),e(xt),e(vt),e(At),e(bl),e(Nt),e(zt),e(hl),e(Yt),e(Qt),e(Cl),e(Ht),e(Ft),e(Et),e(kl),e(St),e(qt),e(Lt),e(Xl),e(Dt),e(Pt),e(Bl),e(Kt),e(W),e(Ot),e($l),e(le),e(te),e(ee),e(xl),e(se),e(ne),e(Nl)),e(U),r(k,l),r(G,l),r(X,l),r(B,l),r(R,l),r(x,l),r(A,l),r(Q,l),r(H,l),r(f,l),r(q,l),r(h,l),r(K,l),r(O,l),r(tl,l),r(el,l),r(nl,l),r(I,l),r(al,l),r(pl,l),r(yl,l),r(cl,l),r(Ul,l),r(ul,l),r(wl,l),r(Tl,l),r(fl,l),r(Zl,l),r(Il,l),r(Wl,l),r(Gl,l),r(gl,l),r(_l,l),r(Rl,l),r(Vl,l),r(vl,l)}}}const ps='{"title":"에러가 발생했을 때 대응 방법","local":"에러가-발생했을-때-대응-방법","sections":[{"title":"🤗 Transformers의 파이프라인 디버깅","local":"-transformers의-파이프라인-디버깅","sections":[],"depth":2},{"title":"모델의 foward pass 디버깅","local":"모델의-foward-pass-디버깅","sections":[],"depth":2}],"depth":1}';function ys(T){return Pe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class us extends Ke{constructor(U){super(),Oe(this,U,ys,is,De,{})}}export{us as component};
