Buckets:

rtrm's picture
download
raw
64.3 kB
import{s as Le,o as Oe,n as ie}from"../chunks/scheduler.37c15a92.js";import{S as Pe,i as Ke,g as M,s as J,r as i,A as ls,h as U,f as e,c as n,j as qe,u as y,x as a,k as Bl,y as ts,a as s,v as p,d as w,t as d,w as r}from"../chunks/index.2bf4358c.js";import{T as Me}from"../chunks/Tip.363c041f.js";import{Y as Ue}from"../chunks/Youtube.1e50a667.js";import{C as o}from"../chunks/CodeBlock.4e987730.js";import{C as es}from"../chunks/CourseFloatingBanner.9ff4c771.js";import{H as ae,E as ss}from"../chunks/getInferenceSnippets.4e01224f.js";function Js(j){let c,m="🚨 Видите синюю рамку вокруг “6 frames” в трассировке Google Colab? Это специальная функция Colab, которая помещает отчет в раскрывающийся блок текста. Если вы не можете найти источник ошибки, обязательно раскройте этот блок, нажав на эти две маленькие стрелки.";return{c(){c=M("p"),c.textContent=m},l(u){c=U(u,"P",{"data-svelte-h":!0}),a(c)!=="svelte-15kuacv"&&(c.textContent=m)},m(u,T){s(u,c,T)},p:ie,d(u){u&&e(c)}}}function ns(j){let c,m='💡 Если вы столкнулись с сообщением об ошибке, которое трудно понять, просто скопируйте и вставьте его в строку поиска Google или <a href="https://stackoverflow.com/" rel="nofollow">Stack Overflow</a> (да, действительно!). Велика вероятность того, что вы не первый, кто столкнулся с этой ошибкой, и это хороший способ найти решения, которые опубликовали другие члены сообщества. Например, поиск по запросу <code>OSError: Can&#39;t load config for</code> на Stack Overflow дает несколько <a href="https://stackoverflow.com/search?q=OSError%3A+Can%27t+load+config+for+" rel="nofollow">результатов</a>, которые можно использовать в качестве отправной точки для решения проблемы.';return{c(){c=M("p"),c.innerHTML=m},l(u){c=U(u,"P",{"data-svelte-h":!0}),a(c)!=="svelte-myt1fk"&&(c.innerHTML=m)},m(u,T){s(u,c,T)},p:ie,d(u){u&&e(c)}}}function Ms(j){let c,m="🚨 Применяемый здесь подход не является надежным, поскольку наш коллега мог изменить конфигурацию <code>distilbert-base-uncased</code> перед дообучением модели. В реальной жизни мы бы хотели сначала уточнить у него, но для целей этого раздела будем считать, что он использовал конфигурацию по умолчанию.";return{c(){c=M("p"),c.innerHTML=m},l(u){c=U(u,"P",{"data-svelte-h":!0}),a(c)!=="svelte-1xqqp66"&&(c.innerHTML=m)},m(u,T){s(u,c,T)},p:ie,d(u){u&&e(c)}}}function Us(j){let c,m,u,T,Z,Dl,A,Nl,g,ye='В этом разделе мы рассмотрим некоторые распространенные ошибки, которые могут возникнуть при попытке сгенерировать предсказания на основе только что настроенной модели Transformer. Это подготовит вас к <a href="../chapter8/4">разделу 4</a>, где мы рассмотрим, как отладить сам этап обучения.',vl,k,Yl,G,pe='Для этого раздела мы подготовили <a href="https://huggingface.co/lewtun/distilbert-base-uncased-finetuned-squad-d5716d28" rel="nofollow">репозиторий</a>, и если вы хотите запустить код в этой главе, вам сначала нужно скопировать модель в свой аккаунт на <a href="https://huggingface.co" rel="nofollow">Hugging Face Hub</a>. Для этого сначала авторизуйтесь на Hugging Face Hub. Если вы выполняете этот код в блокноте, вы можете сделать это с помощью следующей служебной функции:',zl,W,Fl,X,we="в терминале выполните следующее:",Hl,x,Sl,_,de="Вас попросят ввести имя пользователя и пароль, токен будет сохранен в <em>~/.cache/huggingface/</em>. После того как вы вошли в систему, вы можете скопировать репозиторий-шаблон с помощью следующей функции:",ql,V,Ll,$,re="Теперь при вызове <code>copy_repository_template()</code> будет создана копия репозитория-шаблона под вашим аккаунтом.",Ol,B,Pl,E,ce="Чтобы начать наше путешествие в удивительный мир отладки моделей трансформеров, рассмотрим следующий сценарий: вы работаете с коллегой над проектом ответа на вопросы, который должен помочь клиентам сайта электронной коммерции найти ответы о потребительских товарах. Ваш коллега отправляет вам сообщение следующего содержания:",Kl,D,oe='<p>Добрый день! Я только что провел эксперимент, используя техники из <a href="../chapter7/7">главы 7</a> курса Hugging Face, и получил отличные результаты на SQuAD! Думаю, мы можем использовать эту модель в качестве отправной точки для нашего проекта. ID модели на хабе - “lewtun/distillbert-base-uncased-finetuned-squad-d5716d28”. Не стесняйтесь протестировать ее :)</p>',lt,N,ue="и первое, что приходит в голову, это загрузить модель, используя <code>pipeline</code> из 🤗 Transformers:",tt,v,et,Y,st,z,me="О нет, кажется, что-то пошло не так! Если вы новичок в программировании, подобные ошибки могут показаться вам немного загадочными (что такое <code>OSError</code>?!). Это сообщение является лишь последней частью гораздо большего отчета об ошибке, называемого <em>Python traceback</em> (он же трассировка стека). Например, если вы запустите этот код в Google Colab, вы увидите что-то похожее на содержимое скриншота ниже:",Jt,b,Te='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/traceback.png" alt="A Python traceback." width="100%"/>',nt,F,je='В этих отчетах содержится много информации, поэтому давайте вместе пройдемся по ключевым местам. Первое, что следует отметить, - это то, что трассировки следует читать <em>снизу вверх</em>. Это может показаться странным, если вы привыкли читать английский текст сверху вниз, но это логично: трассировка показывает последовательность вызовов функций, которые делает <code>pipeline</code> при загрузке модели и токенизатора. (Более подробно о том, как работает <code>pipeline</code> под капотом, читайте в <a href="../chapter2/1">Главе 2</a>).',Mt,f,Ut,H,be="Последняя строка трассировки указывает на последнее сообщение об ошибке и дает имя исключения, которое было вызвано. В данном случае тип исключения - <code>OSError</code>, что указывает на системную ошибку. Если мы прочитаем сопроводительное сообщение об ошибке, то увидим, что, похоже, возникла проблема с файлом <em>config.json</em> модели, и нам предлагается два варианта ее устранения:",at,S,it,Q,yt,q,fe="В первом предложении нам предлагается проверить, действительно ли идентификатор модели правильный, поэтому первым делом нужно скопировать идентификатор и вставить его в строку поиска Hub:",pt,I,Qe='<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%"/>',wt,L,Ie="Хм, действительно, похоже, что модели нашего коллеги нет на хабе… ага, но в названии модели опечатка! В названии DistilBERT есть только одна буква “l”, так что давайте исправим это и поищем вместо нее “lewtun/distilbert-base-uncased-finetuned-squad-d5716d28”:",dt,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,O,he="Хорошо! Теперь давайте попробуем загрузить модель снова с правильным идентификатором модели:",ct,P,ot,K,ut,ll,Re="Cнова неудача - добро пожаловать в повседневную жизнь инженера машинного обучения! Поскольку мы исправили ID модели, проблема должна заключаться в самом репозитории. Быстрый способ получить доступ к содержимому репозитория на 🤗 Hub - это функция <code>list_repo_files()</code> библиотеки <code>huggingface_hub</code>:",mt,tl,Tt,el,jt,sl,Ze='Интересно - похоже, что в репозитории нет файла <em>config.json</em>! Неудивительно, что наш <code>pipeline</code> не смог загрузить модель; наш коллега, должно быть, забыл выложить этот файл в Hub после того, как выполнил дообучение. В этом случае проблема кажется довольно простой: мы можем попросить его добавить этот файл, или, поскольку из идентификатора модели видно, что использовалась предварительно обученная модель <a href="https://huggingface.co/distilbert-base-uncased" rel="nofollow"><code>distilbert-base-uncased</code></a>, мы можем загрузить конфигурацию для этой модели и отправить ее в наше репо, чтобы посмотреть, решит ли это проблему. Давайте попробуем это сделать. Используя приемы, изученные в <a href="../chapter2/1">Главе 2</a>, мы можем загрузить конфигурацию модели с помощью класса <code>AutoConfig</code>:',bt,Jl,ft,h,Qt,nl,Ae="Затем мы можем отправить это в наш репозиторий моделей вместе с конфигурацией с помощью функции <code>push_to_hub()</code>:",It,Ml,Ct,Ul,ge="Теперь мы можем проверить, работает ли это, загрузив модель из последнего коммита в ветке <code>main</code>:",ht,al,Rt,il,Zt,yl,ke="Ура, сработало! Давайте вспомним, что вы только что узнали:",At,pl,Ge=`<li>Сообщения об ошибках в Python называются <em>tracebacks</em> и читаются снизу вверх. Последняя строка сообщения об ошибке обычно содержит информацию, необходимую для поиска источника проблемы.</li> <li>Если последняя строка не содержит достаточной информации, пройдите путь вверх по трассировке и посмотрите, сможете ли вы определить, в каком месте исходного кода возникла ошибка.</li> <li>Если ни одно из сообщений об ошибках не помогло вам отладить проблему, попробуйте поискать в Интернете решение аналогичной проблемы.</li> <li>The <code>huggingface_hub</code>
// 🤗 Hub?
предоставляет набор инструментов, с помощью которых вы можете взаимодействовать с репозиториями на Хабе и отлаживать их.</li>`,gt,wl,We="Теперь, когда вы знаете, как отлаживать конвейер, давайте рассмотрим более сложный пример на прямом проходе самой модели.",kt,dl,Gt,rl,Xe="Хотя <code>pipeline</code> отлично подходит для большинства приложений, где вам нужно быстро генерировать предсказания, иногда вам понадобится доступ к логам модели (например, если вы хотите применить какую-то пользовательскую постобработку). Чтобы увидеть, что может пойти не так в этом случае, давайте сначала возьмем модель и токенизатор:",Wt,cl,Xt,ol,xe="Далее нам нужен вопрос, поэтому давайте посмотрим, поддерживаются ли наши любимые фреймворки:",xt,ul,_t,ml,_e='Как мы видели в <a href="../chapter7/1">Главе 7</a>, обычные шаги, которые нам нужно предпринять, - это токенизация входных данных, извлечение логитов начальных и конечных токенов, а затем декодирование диапазона ответов:',Vt,Tl,$t,jl,Bt,bl,Ve="Похоже, что в нашем коде есть ошибка! Но мы не боимся небольшой отладки. Вы можете использовать отладчик Python в блокноте:",Et,fl,Dt,Ql,$e="или в терминале:",Nt,Il,vt,Cl,Be="Здесь чтение сообщения об ошибке говорит нам, что у объекта <code>&#39;list&#39;</code> нет атрибута ‘size’, и мы видим стрелку <code>--&gt;</code>, указывающую на строку, где возникла проблема в <code>model(**inputs)</code>. Вы можете отладить это интерактивно, используя отладчик Python, но сейчас мы просто распечатаем фрагмент <code>inputs</code>, чтобы посмотреть, что у нас есть:",Yt,hl,zt,Rl,Ft,Zl,Ee="Конечно, это выглядит как обычный <code>list</code> в Python, но давайте перепроверим тип:",Ht,Al,St,gl,qt,kl,De='Да, это точно список Python. Так что же пошло не так? Вспомним из <a href="../chapter2/1">Главы 2</a>, что классы <code>AutoModelForXxx</code> в 🤗 Transformers работают с <em>тензорами</em> (либо в PyTorch, либо в TensorFlow), и обычной операцией является извлечение размерности тензора с помощью <code>Tensor.size()</code>, скажем, в PyTorch. Давайте еще раз посмотрим на трассировку, чтобы увидеть, какая строка вызвала исключение:',Lt,Gl,Ot,Wl,Ne='Похоже, что наш код пытался вызвать <code>input_ids.size()</code>, но это явно не сработает для Python <code>list</code>. Как мы можем решить эту проблему? Поиск сообщения об ошибке на Stack Overflow дает довольно много релевантных <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>. При нажатии на первый из них появляется вопрос, аналогичный нашему, ответ на который показан на скриншоте ниже:',Pt,R,ve='<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%"/>',Kt,Xl,Ye="В ответе рекомендуется добавить в токенизатор <code>return_tensors=&#39;pt&#39;</code>, так что давайте посмотрим, сработает ли это для нас:",le,xl,te,_l,ee,Vl,ze='Отлично, это сработало! Это отличный пример того, насколько полезным может быть Stack Overflow: найдя похожую проблему, мы смогли воспользоваться опытом других членов сообщества. Однако подобный поиск не всегда дает нужный ответ, так что же делать в таких случаях? К счастью, на <a href="https://discuss.huggingface.co/" rel="nofollow">Hugging Face forums</a> есть гостеприимное сообщество разработчиков, которые могут вам помочь! В следующем разделе мы рассмотрим, как составить хорошие вопросы на форуме, на которые, скорее всего, будет получен ответ.',se,$l,Je,El,ne;return Z=new ae({props:{title:"Что делать, если возникла ошибка",local:"what-to-do-when-you-get-an-error",headingTag:"h1"}}),A=new es({props:{chapter:8,classNames:"absolute z-10 right-0 top-0",notebook:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter8/section2.ipynb"},{label:"Aws Studio",значение:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter8/section2.ipynb"}]}}),k=new Ue({props:{id:"DQ-CpJn6Rc4"}}),W=new o({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login
notebook_login()`,wrap:!1}}),x=new o({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),V=new o({props:{code:"ZnJvbSUyMGRpc3R1dGlscy5kaXJfdXRpbCUyMGltcG9ydCUyMGNvcHlfdHJlZSUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBSZXBvc2l0b3J5JTJDJTIwc25hcHNob3RfZG93bmxvYWQlMkMlMjBjcmVhdGVfcmVwbyUyQyUyMGdldF9mdWxsX3JlcG9fbmFtZSUwQSUwQSUwQWRlZiUyMGNvcHlfcmVwb3NpdG9yeV90ZW1wbGF0ZSgpJTNBJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUQwJTlBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5JTIwJUQwJUI4JTIwJUQwJUI4JUQwJUI3JUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJCJUQwJUJFJUQwJUJBJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUJGJUQxJTgzJUQxJTgyJUQxJThDJTBBJTIwJTIwJTIwJTIwdGVtcGxhdGVfcmVwb19pZCUyMCUzRCUyMCUyMmxld3R1biUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkLWZpbmV0dW5lZC1zcXVhZC1kNTcxNmQyOCUyMiUwQSUyMCUyMCUyMCUyMGNvbW1pdF9oYXNoJTIwJTNEJTIwJTIyYmUzZWFmZmMyODY2OWQ3OTMyNDkyNjgxY2Q1ZjNlODkwNWUzNThiNCUyMiUwQSUyMCUyMCUyMCUyMHRlbXBsYXRlX3JlcG9fZGlyJTIwJTNEJTIwc25hcHNob3RfZG93bmxvYWQodGVtcGxhdGVfcmVwb19pZCUyQyUyMHJldmlzaW9uJTNEY29tbWl0X2hhc2gpJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI5JUQxJTgyJUQwJUI1JTIwJUQwJUJGJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUJFJUQwJUI1JTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwJUQxJTg1JUQwJUIwJUQwJUIxJUQwJUI1JTBBJTIwJTIwJTIwJTIwJUQwJUI4JUQwJUJDJUQxJThGXyVEMCVCQyVEMCVCRSVEMCVCNCVEMCVCNSVEMCVCQiVEMCVCOCUyMCUzRCUyMHRlbXBsYXRlX3JlcG9faWQuc3BsaXQoJTIyJTJGJTIyKSU1QjElNUQlMEElMjAlMjAlMjAlMjBjcmVhdGVfcmVwbyhtb2RlbF9uYW1lJTJDJTIwZXhpc3Rfb2slM0RUcnVlKSUwQSUyMCUyMCUyMCUyMCUyMyUyMCVEMCU5QSVEMCVCQiVEMCVCRSVEMCVCRCVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCRiVEMSU4MyVEMSU4MSVEMSU4MiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMSU4MCVEMCVCNSVEMCVCRiVEMCVCRSUwQSUyMCUyMCUyMCUyMG5ld19yZXBvX2lkJTIwJTNEJTIwZ2V0X2Z1bGxfcmVwb19uYW1lKG1vZGVsX25hbWUpJTBBJTIwJTIwJTIwJTIwbmV3X3JlcG9fZGlyJTIwJTNEJTIwJUQwJUI4JUQwJUJDJUQxJThGXyVEMCVCQyVEMCVCRSVEMCVCNCVEMCVCNSVEMCVCQiVEMCVCOCUwQSUyMCUyMCUyMCUyMHJlcG8lMjAlM0QlMjBSZXBvc2l0b3J5KGxvY2FsX2RpciUzRG5ld19yZXBvX2RpciUyQyUyMGNsb25lX2Zyb20lM0RuZXdfcmVwb19pZCklMEElMjAlMjAlMjAlMjAlMjMlMjAlRDAlOUElRDAlQkUlRDAlQkYlRDAlQjglRDElODAlRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQjglRDAlQjUlMjAlRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQkUlRDAlQjIlMEElMjAlMjAlMjAlMjBjb3B5X3RyZWUodGVtcGxhdGVfcmVwb19kaXIlMkMlMjBuZXdfcmVwb19kaXIpJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUQwJTlFJUQxJTgyJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUIyJTIwJUQxJTg1JUQwJUIwJUQwJUIxJTBBJTIwJTIwJTIwJTIwcmVwby5wdXNoX3RvX2h1Yigp",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"># Клонируем репозиторий и извлекаем локальный путь</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"># Создайте пустое репо на хабе</span>
имя_модели = 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"># Клонирование пустого репо</span>
new_repo_id = get_full_repo_name(model_name)
new_repo_dir = имя_модели
repo = Repository(local_dir=new_repo_dir, clone_from=new_repo_id)
<span class="hljs-comment"># Копирование файлов</span>
copy_tree(template_repo_dir, new_repo_dir)
<span class="hljs-comment"># Отправить в хаб</span>
repo.push_to_hub()`,wrap:!1}}),B=new ae({props:{title:"Отладка пайплайна из 🤗 Transformers",local:"debugging-the-pipeline-from-transformers",headingTag:"h2"}}),v=new o({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}}),Y=new o({props:{code:"JTIyJTIyJTIyJTBBT1NFcnJvciUzQSUyMENhbid0JTIwbG9hZCUyMGNvbmZpZyUyMGZvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4Jy4lMjBNYWtlJTIwc3VyZSUyMHRoYXQlM0ElMEElMEEtJTIwJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjBhJTIwY29ycmVjdCUyMG1vZGVsJTIwaWRlbnRpZmllciUyMGxpc3RlZCUyMG9uJTIwJ2h0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZtb2RlbHMnJTBBJTBBLSUyMG9yJTIwJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjB0aGUlMjBjb3JyZWN0JTIwcGF0aCUyMHRvJTIwYSUyMGRpcmVjdG9yeSUyMGNvbnRhaW5pbmclMjBhJTIwY29uZmlnLmpzb24lMjBmaWxlJTBBJTIyJTIyJTIy",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; 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}}),f=new Me({props:{$$slots:{default:[Js]},$$scope:{ctx:j}}}),S=new o({props:{code:"JTIyJTIyJTIyJTBBTWFrZSUyMHN1cmUlMjB0aGF0JTNBJTBBJTBBLSUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwYSUyMGNvcnJlY3QlMjBtb2RlbCUyMGlkZW50aWZpZXIlMjBsaXN0ZWQlMjBvbiUyMCdodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbW9kZWxzJyUwQSUwQS0lMjBvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwdGhlJTIwY29ycmVjdCUyMHBhdGglMjB0byUyMGElMjBkaXJlY3RvcnklMjBjb250YWluaW5nJTIwYSUyMGNvbmZpZy5qc29uJTIwZmlsZSUwQSUyMiUyMiUyMg==",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}}),Q=new Me({props:{$$slots:{default:[ns]},$$scope:{ctx:j}}}),P=new o({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}}),K=new o({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 o({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 o({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}}),Jl=new o({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}}),h=new Me({props:{warning:!0,$$slots:{default:[Ms]},$$scope:{ctx:j}}}),Ml=new o({props:{code:"Y29uZmlnLnB1c2hfdG9faHViKG1vZGVsX2NoZWNrcG9pbnQlMkMlMjBjb21taXRfbWVzc2FnZSUzRCUyMkFkZCUyMGNvbmZpZy5qc29uJTIyKQ==",highlighted:'config.push_to_hub(model_checkpoint, commit_message=<span class="hljs-string">&quot;Add config.json&quot;</span>)',wrap:!1}}),al=new o({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}}),il=new o({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}}),dl=new ae({props:{title:"Отладка прямого прохода модели",local:"debugging-the-forward-pass-of-your-model",headingTag:"h2"}}),cl=new o({props:{code:"dG9rZW5pemVyJTIwJTNEJTIwcmVhZGVyLnRva2VuaXplciUwQW1vZGVsJTIwJTNEJTIwcmVhZGVyLm1vZGVs",highlighted:`tokenizer = reader.tokenizer
model = reader.model`,wrap:!1}}),ul=new o({props:{code:"cXVlc3Rpb24lMjAlM0QlMjAlMjJXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTIy",highlighted:'question = <span class="hljs-string">&quot;Which frameworks can I use?&quot;</span>',wrap:!1}}),Tl=new o({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIocXVlc3Rpb24lMkMlMjBjb250ZXh0JTJDJTIwYWRkX3NwZWNpYWxfdG9rZW5zJTNEVHJ1ZSklMEFpbnB1dF9pZHMlMjAlM0QlMjBpbnB1dHMlNUIlMjJpbnB1dF9pZHMlMjIlNUQlNUIwJTVEJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQWFuc3dlcl9zdGFydF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLnN0YXJ0X2xvZ2l0cyUwQWFuc3dlcl9lbmRfc2NvcmVzJTIwJTNEJTIwb3V0cHV0cy5lbmRfbG9naXRzJTBBJTIzJTIwJUQwJTkyJUQxJThCJUQwJUIxJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQwJUI4JUQwJUIxJUQwJUJFJUQwJUJCJUQwJUI1JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI0JUQwJUJFJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJFJUQwJUIxJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJEJUQwJUIwJUQxJTg3JUQwJUIwJUQwJUJCJUQwJUIwJTIwJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQwJUIwJTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUJDJUQwJUJFJUQxJTg5JUQxJThDJUQxJThFJTIwJUQxJTg0JUQxJTgzJUQwJUJEJUQwJUJBJUQxJTg2JUQwJUI4JUQwJUI4JTIwYXJnbWF4JTBBYW5zd2VyX3N0YXJ0JTIwJTNEJTIwdG9yY2guYXJnbWF4KGFuc3dlcl9zdGFydF9zY29yZXMpJTBBJTIzJTIwJUQwJTkyJUQxJThCJUQwJUIxJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQwJUI4JUQwJUIxJUQwJUJFJUQwJUJCJUQwJUI1JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI0JUQwJUJFJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUIxJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJFJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg3JUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQwJUIwJTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUJDJUQwJUJFJUQxJTg5JUQxJThDJUQxJThFJTIwJUQxJTg0JUQxJTgzJUQwJUJEJUQwJUJBJUQxJTg2JUQwJUI4JUQwJUI4JTIwYXJnbWF4JTBBYW5zd2VyX2VuZCUyMCUzRCUyMHRvcmNoLmFyZ21heChhbnN3ZXJfZW5kX3Njb3JlcyklMjAlMkIlMjAxJTBBYW5zd2VyJTIwJTNEJTIwdG9rZW5pemVyLmNvbnZlcnRfdG9rZW5zX3RvX3N0cmluZyglMEElMjAlMjAlMjAlMjB0b2tlbml6ZXIuY29udmVydF9pZHNfdG9fdG9rZW5zKGlucHV0X2lkcyU1QmFuc3dlcl9zdGFydCUzQWFuc3dlcl9lbmQlNUQpJTBBKSUwQXByaW50KGYlMjJRdWVzdGlvbiUzQSUyMCU3QnF1ZXN0aW9uJTdEJTIyKSUwQXByaW50KGYlMjJBbnN3ZXIlM0ElMjAlN0JhbnN3ZXIlN0QlMjIp",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"># Выберем наиболее правдоподобную позицию начала ответа с помощью функции argmax</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Выберем наиболее правдоподбную позицию окончания ответа с помощью функции argmax</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}}),jl=new o({props:{code:"JTIyJTIyJTIyJTBBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTBBQXR0cmlidXRlRXJyb3IlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBUcmFjZWJhY2slMjAobW9zdCUyMHJlY2VudCUyMGNhbGwlMjBsYXN0KSUwQSUyRnZhciUyRmZvbGRlcnMlMkYyOCUyRms0Y3k1cTdzMmhzOTJ4cTdfaDg5X3ZnbTAwMDBnbiUyRlQlMkZpcHlrZXJuZWxfNzU3NDMlMkYyNzI1ODM4MDczLnB5JTIwaW4lMjAlM0Ntb2R1bGUlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAxJTIwaW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKHF1ZXN0aW9uJTJDJTIwdGV4dCUyQyUyMGFkZF9zcGVjaWFsX3Rva2VucyUzRFRydWUpJTBBJTIwJTIwJTIwJTIwJTIwJTIwMiUyMGlucHV0X2lkcyUyMCUzRCUyMGlucHV0cyU1QiUyMmlucHV0X2lkcyUyMiU1RCUwQS0tLS0lM0UlMjAzJTIwb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMDQlMjBhbnN3ZXJfc3RhcnRfc2NvcmVzJTIwJTNEJTIwb3V0cHV0cy5zdGFydF9sb2dpdHMlMEElMjAlMjAlMjAlMjAlMjAlMjA1JTIwYW5zd2VyX2VuZF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLmVuZF9sb2dpdHMlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0b3JjaCUyRm5uJTJGbW9kdWxlcyUyRm1vZHVsZS5weSUyMGluJTIwX2NhbGxfaW1wbChzZWxmJTJDJTIwKmlucHV0JTJDJTIwKiprd2FyZ3MpJTBBJTIwJTIwJTIwMTA0OSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwKHNlbGYuX2JhY2t3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX3ByZV9ob29rcyUyMG9yJTIwX2dsb2JhbF9iYWNrd2FyZF9ob29rcyUwQSUyMCUyMCUyMDEwNTAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvciUyMF9nbG9iYWxfZm9yd2FyZF9ob29rcyUyMG9yJTIwX2dsb2JhbF9mb3J3YXJkX3ByZV9ob29rcyklM0ElMEEtJTNFJTIwMTA1MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGZvcndhcmRfY2FsbCgqaW5wdXQlMkMlMjAqKmt3YXJncyklMEElMjAlMjAlMjAxMDUyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRG8lMjBub3QlMjBjYWxsJTIwZnVuY3Rpb25zJTIwd2hlbiUyMGppdCUyMGlzJTIwdXNlZCUwQSUyMCUyMCUyMDEwNTMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmdWxsX2JhY2t3YXJkX2hvb2tzJTJDJTIwbm9uX2Z1bGxfYmFja3dhcmRfaG9va3MlMjAlM0QlMjAlNUIlNUQlMkMlMjAlNUIlNUQlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0cmFuc2Zvcm1lcnMlMkZtb2RlbHMlMkZkaXN0aWxiZXJ0JTJGbW9kZWxpbmdfZGlzdGlsYmVydC5weSUyMGluJTIwZm9yd2FyZChzZWxmJTJDJTIwaW5wdXRfaWRzJTJDJTIwYXR0ZW50aW9uX21hc2slMkMlMjBoZWFkX21hc2slMkMlMjBpbnB1dHNfZW1iZWRzJTJDJTIwc3RhcnRfcG9zaXRpb25zJTJDJTIwZW5kX3Bvc2l0aW9ucyUyQyUyMG91dHB1dF9hdHRlbnRpb25zJTJDJTIwb3V0cHV0X2hpZGRlbl9zdGF0ZXMlMkMlMjByZXR1cm5fZGljdCklMEElMjAlMjAlMjAlMjA3MjMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm5fZGljdCUyMCUzRCUyMHJldHVybl9kaWN0JTIwaWYlMjByZXR1cm5fZGljdCUyMGlzJTIwbm90JTIwTm9uZSUyMGVsc2UlMjBzZWxmLmNvbmZpZy51c2VfcmV0dXJuX2RpY3QlMEElMjAlMjAlMjAlMjA3MjQlMEEtLSUzRSUyMDcyNSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRpc3RpbGJlcnRfb3V0cHV0JTIwJTNEJTIwc2VsZi5kaXN0aWxiZXJ0KCUwQSUyMCUyMCUyMCUyMDcyNiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X2lkcyUzRGlucHV0X2lkcyUyQyUwQSUyMCUyMCUyMCUyMDcyNyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGF0dGVudGlvbl9tYXNrJTNEYXR0ZW50aW9uX21hc2slMkMlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0b3JjaCUyRm5uJTJGbW9kdWxlcyUyRm1vZHVsZS5weSUyMGluJTIwX2NhbGxfaW1wbChzZWxmJTJDJTIwKmlucHV0JTJDJTIwKiprd2FyZ3MpJTBBJTIwJTIwJTIwMTA0OSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwKHNlbGYuX2JhY2t3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX3ByZV9ob29rcyUyMG9yJTIwX2dsb2JhbF9iYWNrd2FyZF9ob29rcyUwQSUyMCUyMCUyMDEwNTAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvciUyMF9nbG9iYWxfZm9yd2FyZF9ob29rcyUyMG9yJTIwX2dsb2JhbF9mb3J3YXJkX3ByZV9ob29rcyklM0ElMEEtJTNFJTIwMTA1MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGZvcndhcmRfY2FsbCgqaW5wdXQlMkMlMjAqKmt3YXJncyklMEElMjAlMjAlMjAxMDUyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRG8lMjBub3QlMjBjYWxsJTIwZnVuY3Rpb25zJTIwd2hlbiUyMGppdCUyMGlzJTIwdXNlZCUwQSUyMCUyMCUyMDEwNTMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmdWxsX2JhY2t3YXJkX2hvb2tzJTJDJTIwbm9uX2Z1bGxfYmFja3dhcmRfaG9va3MlMjAlM0QlMjAlNUIlNUQlMkMlMjAlNUIlNUQlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0cmFuc2Zvcm1lcnMlMkZtb2RlbHMlMkZkaXN0aWxiZXJ0JTJGbW9kZWxpbmdfZGlzdGlsYmVydC5weSUyMGluJTIwZm9yd2FyZChzZWxmJTJDJTIwaW5wdXRfaWRzJTJDJTIwYXR0ZW50aW9uX21hc2slMkMlMjBoZWFkX21hc2slMkMlMjBpbnB1dHNfZW1iZWRzJTJDJTIwb3V0cHV0X2F0dGVudGlvbnMlMkMlMjBvdXRwdXRfaGlkZGVuX3N0YXRlcyUyQyUyMHJldHVybl9kaWN0KSUwQSUyMCUyMCUyMCUyMDQ3MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJhaXNlJTIwVmFsdWVFcnJvciglMjJZb3UlMjBjYW5ub3QlMjBzcGVjaWZ5JTIwYm90aCUyMGlucHV0X2lkcyUyMGFuZCUyMGlucHV0c19lbWJlZHMlMjBhdCUyMHRoZSUyMHNhbWUlMjB0aW1lJTIyKSUwQSUyMCUyMCUyMCUyMDQ3MiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVsaWYlMjBpbnB1dF9pZHMlMjBpcyUyMG5vdCUyME5vbmUlM0ElMEEtLSUzRSUyMDQ3MyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X3NoYXBlJTIwJTNEJTIwaW5wdXRfaWRzLnNpemUoKSUwQSUyMCUyMCUyMCUyMDQ3NCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVsaWYlMjBpbnB1dHNfZW1iZWRzJTIwaXMlMjBub3QlMjBOb25lJTNBJTBBJTIwJTIwJTIwJTIwNDc1JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaW5wdXRfc2hhcGUlMjAlM0QlMjBpbnB1dHNfZW1iZWRzLnNpemUoKSU1QiUzQS0xJTVEJTBBJTBBQXR0cmlidXRlRXJyb3IlM0ElMjAnbGlzdCclMjBvYmplY3QlMjBoYXMlMjBubyUyMGF0dHJpYnV0ZSUyMCdzaXplJyUwQSUyMiUyMiUyMg==",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 Ue({props:{id:"rSPyvPw0p9k"}}),Il=new Ue({props:{id:"5PkZ4rbHL6c"}}),hl=new o({props:{code:"aW5wdXRzJTVCJTIyaW5wdXRfaWRzJTIyJTVEJTVCJTNBNSU1RA==",highlighted:'inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][:<span class="hljs-number">5</span>]',wrap:!1}}),Rl=new o({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}}),Al=new o({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 o({props:{code:"bGlzdA==",highlighted:'<span class="hljs-built_in">list</span>',wrap:!1}}),Gl=new o({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}}),xl=new o({props:{code:"aW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKHF1ZXN0aW9uJTJDJTIwY29udGV4dCUyQyUyMGFkZF9zcGVjaWFsX3Rva2VucyUzRFRydWUlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQWlucHV0X2lkcyUyMCUzRCUyMGlucHV0cyU1QiUyMmlucHV0X2lkcyUyMiU1RCU1QjAlNUQlMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMpJTBBYW5zd2VyX3N0YXJ0X3Njb3JlcyUyMCUzRCUyMG91dHB1dHMuc3RhcnRfbG9naXRzJTBBYW5zd2VyX2VuZF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLmVuZF9sb2dpdHMlMEElMjMlMjAlRDAlOTIlRDElOEIlRDAlQjElRDAlQjUlRDElODAlRDAlQjUlRDAlQkMlMjAlRDAlQkQlRDAlQjAlRDAlQjglRDAlQjElRDAlQkUlRDAlQkIlRDAlQjUlRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjQlRDAlQkUlRDAlQkYlRDAlQkUlRDAlQjQlRDAlQkUlRDAlQjElRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQkYlRDAlQkUlRDAlQjclRDAlQjglRDElODYlRDAlQjglRDElOEUlMjAlRDAlQkQlRDAlQjAlRDElODclRDAlQjAlRDAlQkIlRDAlQjAlMjAlRDAlQkUlRDElODIlRDAlQjIlRDAlQjUlRDElODIlRDAlQjAlMjAlRDElODElMjAlRDAlQkYlRDAlQkUlRDAlQkMlRDAlQkUlRDElODklRDElOEMlRDElOEUlMjAlRDElODQlRDElODMlRDAlQkQlRDAlQkElRDElODYlRDAlQjglRDAlQjglMjBhcmdtYXglMEFhbnN3ZXJfc3RhcnQlMjAlM0QlMjB0b3JjaC5hcmdtYXgoYW5zd2VyX3N0YXJ0X3Njb3JlcyklMEElMjMlMjAlRDAlOTIlRDElOEIlRDAlQjElRDAlQjUlRDElODAlRDAlQjUlRDAlQkMlMjAlRDAlQkQlRDAlQjAlRDAlQjglRDAlQjElRDAlQkUlRDAlQkIlRDAlQjUlRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjQlRDAlQkUlRDAlQkYlRDAlQkUlRDAlQjQlRDAlQjElRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQkYlRDAlQkUlRDAlQjclRDAlQjglRDElODYlRDAlQjglRDElOEUlMjAlRDAlQkUlRDAlQkElRDAlQkUlRDAlQkQlRDElODclRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlMjAlRDAlQkUlRDElODIlRDAlQjIlRDAlQjUlRDElODIlRDAlQjAlMjAlRDElODElMjAlRDAlQkYlRDAlQkUlRDAlQkMlRDAlQkUlRDElODklRDElOEMlRDElOEUlMjAlRDElODQlRDElODMlRDAlQkQlRDAlQkElRDElODYlRDAlQjglRDAlQjglMjBhcmdtYXglMEFhbnN3ZXJfZW5kJTIwJTNEJTIwdG9yY2guYXJnbWF4KGFuc3dlcl9lbmRfc2NvcmVzKSUyMCUyQiUyMDElMEFhbnN3ZXIlMjAlM0QlMjB0b2tlbml6ZXIuY29udmVydF90b2tlbnNfdG9fc3RyaW5nKCUwQSUyMCUyMCUyMCUyMHRva2VuaXplci5jb252ZXJ0X2lkc190b190b2tlbnMoaW5wdXRfaWRzJTVCYW5zd2VyX3N0YXJ0JTNBYW5zd2VyX2VuZCU1RCklMEEpJTBBcHJpbnQoZiUyMlF1ZXN0aW9uJTNBJTIwJTdCcXVlc3Rpb24lN0QlMjIpJTBBcHJpbnQoZiUyMkFuc3dlciUzQSUyMCU3QmFuc3dlciU3RCUyMik=",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"># Выберем наиболее правдоподобную позицию начала ответа с помощью функции argmax</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Выберем наиболее правдоподбную позицию окончания ответа с помощью функции argmax</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}}),_l=new o({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}}),$l=new ss({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter8/2.mdx"}}),{c(){c=M("meta"),m=J(),u=M("p"),T=J(),i(Z.$$.fragment),Dl=J(),i(A.$$.fragment),Nl=J(),g=M("p"),g.innerHTML=ye,vl=J(),i(k.$$.fragment),Yl=J(),G=M("p"),G.innerHTML=pe,zl=J(),i(W.$$.fragment),Fl=J(),X=M("p"),X.textContent=we,Hl=J(),i(x.$$.fragment),Sl=J(),_=M("p"),_.innerHTML=de,ql=J(),i(V.$$.fragment),Ll=J(),$=M("p"),$.innerHTML=re,Ol=J(),i(B.$$.fragment),Pl=J(),E=M("p"),E.textContent=ce,Kl=J(),D=M("blockquote"),D.innerHTML=oe,lt=J(),N=M("p"),N.innerHTML=ue,tt=J(),i(v.$$.fragment),et=J(),i(Y.$$.fragment),st=J(),z=M("p"),z.innerHTML=me,Jt=J(),b=M("div"),b.innerHTML=Te,nt=J(),F=M("p"),F.innerHTML=je,Mt=J(),i(f.$$.fragment),Ut=J(),H=M("p"),H.innerHTML=be,at=J(),i(S.$$.fragment),it=J(),i(Q.$$.fragment),yt=J(),q=M("p"),q.textContent=fe,pt=J(),I=M("div"),I.innerHTML=Qe,wt=J(),L=M("p"),L.textContent=Ie,dt=J(),C=M("div"),C.innerHTML=Ce,rt=J(),O=M("p"),O.textContent=he,ct=J(),i(P.$$.fragment),ot=J(),i(K.$$.fragment),ut=J(),ll=M("p"),ll.innerHTML=Re,mt=J(),i(tl.$$.fragment),Tt=J(),i(el.$$.fragment),jt=J(),sl=M("p"),sl.innerHTML=Ze,bt=J(),i(Jl.$$.fragment),ft=J(),i(h.$$.fragment),Qt=J(),nl=M("p"),nl.innerHTML=Ae,It=J(),i(Ml.$$.fragment),Ct=J(),Ul=M("p"),Ul.innerHTML=ge,ht=J(),i(al.$$.fragment),Rt=J(),i(il.$$.fragment),Zt=J(),yl=M("p"),yl.textContent=ke,At=J(),pl=M("ul"),pl.innerHTML=Ge,gt=J(),wl=M("p"),wl.textContent=We,kt=J(),i(dl.$$.fragment),Gt=J(),rl=M("p"),rl.innerHTML=Xe,Wt=J(),i(cl.$$.fragment),Xt=J(),ol=M("p"),ol.textContent=xe,xt=J(),i(ul.$$.fragment),_t=J(),ml=M("p"),ml.innerHTML=_e,Vt=J(),i(Tl.$$.fragment),$t=J(),i(jl.$$.fragment),Bt=J(),bl=M("p"),bl.textContent=Ve,Et=J(),i(fl.$$.fragment),Dt=J(),Ql=M("p"),Ql.textContent=$e,Nt=J(),i(Il.$$.fragment),vt=J(),Cl=M("p"),Cl.innerHTML=Be,Yt=J(),i(hl.$$.fragment),zt=J(),i(Rl.$$.fragment),Ft=J(),Zl=M("p"),Zl.innerHTML=Ee,Ht=J(),i(Al.$$.fragment),St=J(),i(gl.$$.fragment),qt=J(),kl=M("p"),kl.innerHTML=De,Lt=J(),i(Gl.$$.fragment),Ot=J(),Wl=M("p"),Wl.innerHTML=Ne,Pt=J(),R=M("div"),R.innerHTML=ve,Kt=J(),Xl=M("p"),Xl.innerHTML=Ye,le=J(),i(xl.$$.fragment),te=J(),i(_l.$$.fragment),ee=J(),Vl=M("p"),Vl.innerHTML=ze,se=J(),i($l.$$.fragment),Je=J(),El=M("p"),this.h()},l(l){const t=ls("svelte-u9bgzb",document.head);c=U(t,"META",{name:!0,content:!0}),t.forEach(e),m=n(l),u=U(l,"P",{}),qe(u).forEach(e),T=n(l),y(Z.$$.fragment,l),Dl=n(l),y(A.$$.fragment,l),Nl=n(l),g=U(l,"P",{"data-svelte-h":!0}),a(g)!=="svelte-nfv66c"&&(g.innerHTML=ye),vl=n(l),y(k.$$.fragment,l),Yl=n(l),G=U(l,"P",{"data-svelte-h":!0}),a(G)!=="svelte-1j0y4g3"&&(G.innerHTML=pe),zl=n(l),y(W.$$.fragment,l),Fl=n(l),X=U(l,"P",{"data-svelte-h":!0}),a(X)!=="svelte-v6kv50"&&(X.textContent=we),Hl=n(l),y(x.$$.fragment,l),Sl=n(l),_=U(l,"P",{"data-svelte-h":!0}),a(_)!=="svelte-zyk6my"&&(_.innerHTML=de),ql=n(l),y(V.$$.fragment,l),Ll=n(l),$=U(l,"P",{"data-svelte-h":!0}),a($)!=="svelte-1t00dzh"&&($.innerHTML=re),Ol=n(l),y(B.$$.fragment,l),Pl=n(l),E=U(l,"P",{"data-svelte-h":!0}),a(E)!=="svelte-18b8cdx"&&(E.textContent=ce),Kl=n(l),D=U(l,"BLOCKQUOTE",{"data-svelte-h":!0}),a(D)!=="svelte-j87xfj"&&(D.innerHTML=oe),lt=n(l),N=U(l,"P",{"data-svelte-h":!0}),a(N)!=="svelte-d7mcqh"&&(N.innerHTML=ue),tt=n(l),y(v.$$.fragment,l),et=n(l),y(Y.$$.fragment,l),st=n(l),z=U(l,"P",{"data-svelte-h":!0}),a(z)!=="svelte-1y7svir"&&(z.innerHTML=me),Jt=n(l),b=U(l,"DIV",{class:!0,"data-svelte-h":!0}),a(b)!=="svelte-1196hzp"&&(b.innerHTML=Te),nt=n(l),F=U(l,"P",{"data-svelte-h":!0}),a(F)!=="svelte-5qqbis"&&(F.innerHTML=je),Mt=n(l),y(f.$$.fragment,l),Ut=n(l),H=U(l,"P",{"data-svelte-h":!0}),a(H)!=="svelte-5o37es"&&(H.innerHTML=be),at=n(l),y(S.$$.fragment,l),it=n(l),y(Q.$$.fragment,l),yt=n(l),q=U(l,"P",{"data-svelte-h":!0}),a(q)!=="svelte-1aavsdy"&&(q.textContent=fe),pt=n(l),I=U(l,"DIV",{class:!0,"data-svelte-h":!0}),a(I)!=="svelte-6ebc1j"&&(I.innerHTML=Qe),wt=n(l),L=U(l,"P",{"data-svelte-h":!0}),a(L)!=="svelte-1oy92tm"&&(L.textContent=Ie),dt=n(l),C=U(l,"DIV",{class:!0,"data-svelte-h":!0}),a(C)!=="svelte-1b95mxr"&&(C.innerHTML=Ce),rt=n(l),O=U(l,"P",{"data-svelte-h":!0}),a(O)!=="svelte-1xz48zl"&&(O.textContent=he),ct=n(l),y(P.$$.fragment,l),ot=n(l),y(K.$$.fragment,l),ut=n(l),ll=U(l,"P",{"data-svelte-h":!0}),a(ll)!=="svelte-12aztic"&&(ll.innerHTML=Re),mt=n(l),y(tl.$$.fragment,l),Tt=n(l),y(el.$$.fragment,l),jt=n(l),sl=U(l,"P",{"data-svelte-h":!0}),a(sl)!=="svelte-12a4ffe"&&(sl.innerHTML=Ze),bt=n(l),y(Jl.$$.fragment,l),ft=n(l),y(h.$$.fragment,l),Qt=n(l),nl=U(l,"P",{"data-svelte-h":!0}),a(nl)!=="svelte-3864ub"&&(nl.innerHTML=Ae),It=n(l),y(Ml.$$.fragment,l),Ct=n(l),Ul=U(l,"P",{"data-svelte-h":!0}),a(Ul)!=="svelte-1vin1q3"&&(Ul.innerHTML=ge),ht=n(l),y(al.$$.fragment,l),Rt=n(l),y(il.$$.fragment,l),Zt=n(l),yl=U(l,"P",{"data-svelte-h":!0}),a(yl)!=="svelte-8xy2qe"&&(yl.textContent=ke),At=n(l),pl=U(l,"UL",{"data-svelte-h":!0}),a(pl)!=="svelte-u36oyt"&&(pl.innerHTML=Ge),gt=n(l),wl=U(l,"P",{"data-svelte-h":!0}),a(wl)!=="svelte-17hru87"&&(wl.textContent=We),kt=n(l),y(dl.$$.fragment,l),Gt=n(l),rl=U(l,"P",{"data-svelte-h":!0}),a(rl)!=="svelte-1gurvx8"&&(rl.innerHTML=Xe),Wt=n(l),y(cl.$$.fragment,l),Xt=n(l),ol=U(l,"P",{"data-svelte-h":!0}),a(ol)!=="svelte-1usm1yx"&&(ol.textContent=xe),xt=n(l),y(ul.$$.fragment,l),_t=n(l),ml=U(l,"P",{"data-svelte-h":!0}),a(ml)!=="svelte-c1gtnt"&&(ml.innerHTML=_e),Vt=n(l),y(Tl.$$.fragment,l),$t=n(l),y(jl.$$.fragment,l),Bt=n(l),bl=U(l,"P",{"data-svelte-h":!0}),a(bl)!=="svelte-1tfjw2h"&&(bl.textContent=Ve),Et=n(l),y(fl.$$.fragment,l),Dt=n(l),Ql=U(l,"P",{"data-svelte-h":!0}),a(Ql)!=="svelte-bwb02d"&&(Ql.textContent=$e),Nt=n(l),y(Il.$$.fragment,l),vt=n(l),Cl=U(l,"P",{"data-svelte-h":!0}),a(Cl)!=="svelte-1f9pch7"&&(Cl.innerHTML=Be),Yt=n(l),y(hl.$$.fragment,l),zt=n(l),y(Rl.$$.fragment,l),Ft=n(l),Zl=U(l,"P",{"data-svelte-h":!0}),a(Zl)!=="svelte-6f34h3"&&(Zl.innerHTML=Ee),Ht=n(l),y(Al.$$.fragment,l),St=n(l),y(gl.$$.fragment,l),qt=n(l),kl=U(l,"P",{"data-svelte-h":!0}),a(kl)!=="svelte-1deawe1"&&(kl.innerHTML=De),Lt=n(l),y(Gl.$$.fragment,l),Ot=n(l),Wl=U(l,"P",{"data-svelte-h":!0}),a(Wl)!=="svelte-11xeqr5"&&(Wl.innerHTML=Ne),Pt=n(l),R=U(l,"DIV",{class:!0,"data-svelte-h":!0}),a(R)!=="svelte-1i8wi5i"&&(R.innerHTML=ve),Kt=n(l),Xl=U(l,"P",{"data-svelte-h":!0}),a(Xl)!=="svelte-as50sq"&&(Xl.innerHTML=Ye),le=n(l),y(xl.$$.fragment,l),te=n(l),y(_l.$$.fragment,l),ee=n(l),Vl=U(l,"P",{"data-svelte-h":!0}),a(Vl)!=="svelte-18hr4pq"&&(Vl.innerHTML=ze),se=n(l),y($l.$$.fragment,l),Je=n(l),El=U(l,"P",{}),qe(El).forEach(e),this.h()},h(){Bl(c,"name","hf:doc:metadata"),Bl(c,"content",as),Bl(b,"class","flex justify-center"),Bl(I,"class","flex justify-center"),Bl(C,"class","flex justify-center"),Bl(R,"class","flex justify-center")},m(l,t){ts(document.head,c),s(l,m,t),s(l,u,t),s(l,T,t),p(Z,l,t),s(l,Dl,t),p(A,l,t),s(l,Nl,t),s(l,g,t),s(l,vl,t),p(k,l,t),s(l,Yl,t),s(l,G,t),s(l,zl,t),p(W,l,t),s(l,Fl,t),s(l,X,t),s(l,Hl,t),p(x,l,t),s(l,Sl,t),s(l,_,t),s(l,ql,t),p(V,l,t),s(l,Ll,t),s(l,$,t),s(l,Ol,t),p(B,l,t),s(l,Pl,t),s(l,E,t),s(l,Kl,t),s(l,D,t),s(l,lt,t),s(l,N,t),s(l,tt,t),p(v,l,t),s(l,et,t),p(Y,l,t),s(l,st,t),s(l,z,t),s(l,Jt,t),s(l,b,t),s(l,nt,t),s(l,F,t),s(l,Mt,t),p(f,l,t),s(l,Ut,t),s(l,H,t),s(l,at,t),p(S,l,t),s(l,it,t),p(Q,l,t),s(l,yt,t),s(l,q,t),s(l,pt,t),s(l,I,t),s(l,wt,t),s(l,L,t),s(l,dt,t),s(l,C,t),s(l,rt,t),s(l,O,t),s(l,ct,t),p(P,l,t),s(l,ot,t),p(K,l,t),s(l,ut,t),s(l,ll,t),s(l,mt,t),p(tl,l,t),s(l,Tt,t),p(el,l,t),s(l,jt,t),s(l,sl,t),s(l,bt,t),p(Jl,l,t),s(l,ft,t),p(h,l,t),s(l,Qt,t),s(l,nl,t),s(l,It,t),p(Ml,l,t),s(l,Ct,t),s(l,Ul,t),s(l,ht,t),p(al,l,t),s(l,Rt,t),p(il,l,t),s(l,Zt,t),s(l,yl,t),s(l,At,t),s(l,pl,t),s(l,gt,t),s(l,wl,t),s(l,kt,t),p(dl,l,t),s(l,Gt,t),s(l,rl,t),s(l,Wt,t),p(cl,l,t),s(l,Xt,t),s(l,ol,t),s(l,xt,t),p(ul,l,t),s(l,_t,t),s(l,ml,t),s(l,Vt,t),p(Tl,l,t),s(l,$t,t),p(jl,l,t),s(l,Bt,t),s(l,bl,t),s(l,Et,t),p(fl,l,t),s(l,Dt,t),s(l,Ql,t),s(l,Nt,t),p(Il,l,t),s(l,vt,t),s(l,Cl,t),s(l,Yt,t),p(hl,l,t),s(l,zt,t),p(Rl,l,t),s(l,Ft,t),s(l,Zl,t),s(l,Ht,t),p(Al,l,t),s(l,St,t),p(gl,l,t),s(l,qt,t),s(l,kl,t),s(l,Lt,t),p(Gl,l,t),s(l,Ot,t),s(l,Wl,t),s(l,Pt,t),s(l,R,t),s(l,Kt,t),s(l,Xl,t),s(l,le,t),p(xl,l,t),s(l,te,t),p(_l,l,t),s(l,ee,t),s(l,Vl,t),s(l,se,t),p($l,l,t),s(l,Je,t),s(l,El,t),ne=!0},p(l,[t]){const Fe={};t&2&&(Fe.$$scope={dirty:t,ctx:l}),f.$set(Fe);const He={};t&2&&(He.$$scope={dirty:t,ctx:l}),Q.$set(He);const Se={};t&2&&(Se.$$scope={dirty:t,ctx:l}),h.$set(Se)},i(l){ne||(w(Z.$$.fragment,l),w(A.$$.fragment,l),w(k.$$.fragment,l),w(W.$$.fragment,l),w(x.$$.fragment,l),w(V.$$.fragment,l),w(B.$$.fragment,l),w(v.$$.fragment,l),w(Y.$$.fragment,l),w(f.$$.fragment,l),w(S.$$.fragment,l),w(Q.$$.fragment,l),w(P.$$.fragment,l),w(K.$$.fragment,l),w(tl.$$.fragment,l),w(el.$$.fragment,l),w(Jl.$$.fragment,l),w(h.$$.fragment,l),w(Ml.$$.fragment,l),w(al.$$.fragment,l),w(il.$$.fragment,l),w(dl.$$.fragment,l),w(cl.$$.fragment,l),w(ul.$$.fragment,l),w(Tl.$$.fragment,l),w(jl.$$.fragment,l),w(fl.$$.fragment,l),w(Il.$$.fragment,l),w(hl.$$.fragment,l),w(Rl.$$.fragment,l),w(Al.$$.fragment,l),w(gl.$$.fragment,l),w(Gl.$$.fragment,l),w(xl.$$.fragment,l),w(_l.$$.fragment,l),w($l.$$.fragment,l),ne=!0)},o(l){d(Z.$$.fragment,l),d(A.$$.fragment,l),d(k.$$.fragment,l),d(W.$$.fragment,l),d(x.$$.fragment,l),d(V.$$.fragment,l),d(B.$$.fragment,l),d(v.$$.fragment,l),d(Y.$$.fragment,l),d(f.$$.fragment,l),d(S.$$.fragment,l),d(Q.$$.fragment,l),d(P.$$.fragment,l),d(K.$$.fragment,l),d(tl.$$.fragment,l),d(el.$$.fragment,l),d(Jl.$$.fragment,l),d(h.$$.fragment,l),d(Ml.$$.fragment,l),d(al.$$.fragment,l),d(il.$$.fragment,l),d(dl.$$.fragment,l),d(cl.$$.fragment,l),d(ul.$$.fragment,l),d(Tl.$$.fragment,l),d(jl.$$.fragment,l),d(fl.$$.fragment,l),d(Il.$$.fragment,l),d(hl.$$.fragment,l),d(Rl.$$.fragment,l),d(Al.$$.fragment,l),d(gl.$$.fragment,l),d(Gl.$$.fragment,l),d(xl.$$.fragment,l),d(_l.$$.fragment,l),d($l.$$.fragment,l),ne=!1},d(l){l&&(e(m),e(u),e(T),e(Dl),e(Nl),e(g),e(vl),e(Yl),e(G),e(zl),e(Fl),e(X),e(Hl),e(Sl),e(_),e(ql),e(Ll),e($),e(Ol),e(Pl),e(E),e(Kl),e(D),e(lt),e(N),e(tt),e(et),e(st),e(z),e(Jt),e(b),e(nt),e(F),e(Mt),e(Ut),e(H),e(at),e(it),e(yt),e(q),e(pt),e(I),e(wt),e(L),e(dt),e(C),e(rt),e(O),e(ct),e(ot),e(ut),e(ll),e(mt),e(Tt),e(jt),e(sl),e(bt),e(ft),e(Qt),e(nl),e(It),e(Ct),e(Ul),e(ht),e(Rt),e(Zt),e(yl),e(At),e(pl),e(gt),e(wl),e(kt),e(Gt),e(rl),e(Wt),e(Xt),e(ol),e(xt),e(_t),e(ml),e(Vt),e($t),e(Bt),e(bl),e(Et),e(Dt),e(Ql),e(Nt),e(vt),e(Cl),e(Yt),e(zt),e(Ft),e(Zl),e(Ht),e(St),e(qt),e(kl),e(Lt),e(Ot),e(Wl),e(Pt),e(R),e(Kt),e(Xl),e(le),e(te),e(ee),e(Vl),e(se),e(Je),e(El)),e(c),r(Z,l),r(A,l),r(k,l),r(W,l),r(x,l),r(V,l),r(B,l),r(v,l),r(Y,l),r(f,l),r(S,l),r(Q,l),r(P,l),r(K,l),r(tl,l),r(el,l),r(Jl,l),r(h,l),r(Ml,l),r(al,l),r(il,l),r(dl,l),r(cl,l),r(ul,l),r(Tl,l),r(jl,l),r(fl,l),r(Il,l),r(hl,l),r(Rl,l),r(Al,l),r(gl,l),r(Gl,l),r(xl,l),r(_l,l),r($l,l)}}}const as='{"title":"Что делать, если возникла ошибка","local":"what-to-do-when-you-get-an-error","sections":[{"title":"Отладка пайплайна из 🤗 Transformers","local":"debugging-the-pipeline-from-transformers","sections":[],"depth":2},{"title":"Отладка прямого прохода модели","local":"debugging-the-forward-pass-of-your-model","sections":[],"depth":2}],"depth":1}';function is(j){return Oe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class us extends Pe{constructor(c){super(),Ke(this,c,is,Us,Le,{})}}export{us as component};

Xet Storage Details

Size:
64.3 kB
·
Xet hash:
98bccec002999de533036278dddaaf46e5386c3eb8e6c916182d2710584d8c4d

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