Buckets:

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

Xet Storage Details

Size:
63.8 kB
·
Xet hash:
e2b99b2112473c567d0d916b3f06f15d912941c50b2d4f5242291d3bdeb5c5eb

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