import{s as Z,o as tt,n as et}from"../chunks/scheduler.37c15a92.js";import{S as nt,i as st,g as m,s as i,r as I,A as at,h as p,f as n,c as o,j as W,u as N,x as M,k as G,y as rt,a as s,v as S,d as F,t as U,w as B,m as X,n as Y}from"../chunks/index.2bf4358c.js";import{T as lt}from"../chunks/Tip.363c041f.js";import{C as it}from"../chunks/CourseFloatingBanner.06521e8b.js";import{H as ot,E as mt}from"../chunks/EditOnGithub.8916dc7c.js";function pt(L){let r,l,u="创建帐户",f;return{c(){r=X("⚠️ 为了从Model Hub和🤗Transformers的所有可用功能中获益，我们建议"),l=m("a"),l.textContent=u,f=X("."),this.h()},l(a){r=Y(a,"⚠️ 为了从Model Hub和🤗Transformers的所有可用功能中获益，我们建议"),l=p(a,"A",{href:!0,"data-svelte-h":!0}),M(l)!=="svelte-7x7o7k"&&(l.textContent=u),f=Y(a,"."),this.h()},h(){G(l,"href","https://huggingface.co/join")},m(a,$){s(a,r,$),s(a,l,$),s(a,f,$)},p:et,d(a){a&&(n(r),n(l),n(f))}}}function ft(L){let r,l,u,f,a,$,h,b,_,O='正如你在 <a href="/course/chapter1">Chapter 1</a>,中看到的那样，Transformers模型通常非常大。对于数以百万计到数千万计数十亿的参数，训练和部署这些模型是一项复杂的任务。此外，由于几乎每天都在发布新模型，而且每种模型都有自己的实现，因此尝试它们绝非易事。',H,x,R="创建🤗 Transformers库就是为了解决这个问题。它的目标是提供一个API，通过它可以加载、训练和保存任何Transformer模型。这个库的主要特点是：",w,d,D="<li><strong>易于使用</strong>：下载、加载和使用最先进的NLP模型进行推理只需两行代码即可完成。</li> <li><strong>灵活</strong>：所有模型的核心都是简单的PyTorch <strong>nn.Module</strong> 或者 TensorFlow <strong>tf.kears.Model</strong>类，可以像在其各自的机器学习 (ML) 框架中的任何其他模型一样方便地进行处理。</li> <li><strong>简单</strong>：库中几乎没有任何抽象。 “All in one file”（所有代码在一个文件中）是一个核心概念：模型的前向传播完全定义在一个文件中，因此代码本身易于理解和修改</li>",k,g,J="最后一个特性使🤗 Transformers与其他ML库截然不同。这些模型不是基于通过文件共享的模块构建的；相反，每一个模型都有自己的网络结构（layers）。除了使模型更加容易接受和更容易理解，这还允许你轻松地在一个模型上实验，而且不影响其他模型。",y,T,K='本章将从一个端到端的示例开始，在该示例中，我们一起使用模型和<em>tokenizer</em>分词器来复制<a href="/course/chapter1">Chapter 1</a>中引入的函数<code>pipeline()</code>. 接下来，我们将讨论模型API：我们将深入研究模型和配置类，并向您展示如何加载模型以及如何将数值输入处理为输出预测。',z,v,Q="接下来，我们将介绍 <em>tokenizer</em> API，它是 <code>pipeline()</code> 函数的另一个主要组件。<em>tokenizer</em> 负责第一个和最后一个处理步骤，处理从文本到神经网络数值输入的转换，以及在需要时将数值转换回文本。最后，我们将向您展示如何处理将多个句子作为一个准备好的批次发送到模型中，然后通过更深入地了解高级 <code>tokenizer()</code> 函数来总结所有内容。",A,c,E,C,j,P,q;return a=new ot({props:{title:"本章简介",local:"本章简介",headingTag:"h1"}}),h=new it({props:{chapter:2,classNames:"absolute z-10 right-0 top-0"}}),c=new lt({props:{$$slots:{default:[pt]},$$scope:{ctx:L}}}),C=new mt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/zh-CN/chapter2/1.mdx"}}),{c(){r=m("meta"),l=i(),u=m("p"),f=i(),I(a.$$.fragment),$=i(),I(h.$$.fragment),b=i(),_=m("p"),_.innerHTML=O,H=i(),x=m("p"),x.textContent=R,w=i(),d=m("ul"),d.innerHTML=D,k=i(),g=m("p"),g.textContent=J,y=i(),T=m("p"),T.innerHTML=K,z=i(),v=m("p"),v.innerHTML=Q,A=i(),I(c.$$.fragment),E=i(),I(C.$$.fragment),j=i(),P=m("p"),this.h()},l(t){const e=at("svelte-u9bgzb",document.head);r=p(e,"META",{name:!0,content:!0}),e.forEach(n),l=o(t),u=p(t,"P",{}),W(u).forEach(n),f=o(t),N(a.$$.fragment,t),$=o(t),N(h.$$.fragment,t),b=o(t),_=p(t,"P",{"data-svelte-h":!0}),M(_)!=="svelte-padh8t"&&(_.innerHTML=O),H=o(t),x=p(t,"P",{"data-svelte-h":!0}),M(x)!=="svelte-feomsz"&&(x.textContent=R),w=o(t),d=p(t,"UL",{"data-svelte-h":!0}),M(d)!=="svelte-qe3xvq"&&(d.innerHTML=D),k=o(t),g=p(t,"P",{"data-svelte-h":!0}),M(g)!=="svelte-9a8yjy"&&(g.textContent=J),y=o(t),T=p(t,"P",{"data-svelte-h":!0}),M(T)!=="svelte-1gcsjby"&&(T.innerHTML=K),z=o(t),v=p(t,"P",{"data-svelte-h":!0}),M(v)!=="svelte-k1kd3n"&&(v.innerHTML=Q),A=o(t),N(c.$$.fragment,t),E=o(t),N(C.$$.fragment,t),j=o(t),P=p(t,"P",{}),W(P).forEach(n),this.h()},h(){G(r,"name","hf:doc:metadata"),G(r,"content",ut)},m(t,e){rt(document.head,r),s(t,l,e),s(t,u,e),s(t,f,e),S(a,t,e),s(t,$,e),S(h,t,e),s(t,b,e),s(t,_,e),s(t,H,e),s(t,x,e),s(t,w,e),s(t,d,e),s(t,k,e),s(t,g,e),s(t,y,e),s(t,T,e),s(t,z,e),s(t,v,e),s(t,A,e),S(c,t,e),s(t,E,e),S(C,t,e),s(t,j,e),s(t,P,e),q=!0},p(t,[e]){const V={};e&2&&(V.$$scope={dirty:e,ctx:t}),c.$set(V)},i(t){q||(F(a.$$.fragment,t),F(h.$$.fragment,t),F(c.$$.fragment,t),F(C.$$.fragment,t),q=!0)},o(t){U(a.$$.fragment,t),U(h.$$.fragment,t),U(c.$$.fragment,t),U(C.$$.fragment,t),q=!1},d(t){t&&(n(l),n(u),n(f),n($),n(b),n(_),n(H),n(x),n(w),n(d),n(k),n(g),n(y),n(T),n(z),n(v),n(A),n(E),n(j),n(P)),n(r),B(a,t),B(h,t),B(c,t),B(C,t)}}}const ut='{"title":"本章简介","local":"本章简介","sections":[],"depth":1}';function $t(L){return tt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class gt extends nt{constructor(r){super(),st(this,r,$t,ft,Z,{})}}export{gt as component};
