import{s as B,o as K,n as O}from"../chunks/scheduler.37c15a92.js";import{S as J,i as Q,g as m,s as p,r as E,A as V,h as $,f as s,c as u,j as R,u as z,x as P,k as U,y as W,a as i,v as y,d as I,t as S,w as N}from"../chunks/index.2bf4358c.js";import{T as X}from"../chunks/Tip.363c041f.js";import{F as Y}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as Z,E as ee}from"../chunks/getInferenceSnippets.80a69898.js";function te(h){let t,o='为此，你需要充分利用在 <a href="/course/chapter3">第三章</a> 中学到的有关 <code>Keras</code> API、 <a href="/course/chapter5">第五章</a> 中的 🤗 Datasets 库以及 <a href="/course/chapter6">第六章</a> 中的 🤗 Tokenizers 库的所有知识。我们还会像在 <a href="/course/chapter4">第四章</a> 中那样将结果上传到 Model Hub，所以这真的是所有所学内容融会贯通的一章！',a,r,f="本章每个部分都可以独立阅读。";return{c(){t=m("p"),t.innerHTML=o,a=p(),r=m("p"),r.textContent=f},l(l){t=$(l,"P",{"data-svelte-h":!0}),P(t)!=="svelte-1j3ldzn"&&(t.innerHTML=o),a=u(l),r=$(l,"P",{"data-svelte-h":!0}),P(r)!=="svelte-t1swhp"&&(r.textContent=f)},m(l,c){i(l,t,c),i(l,a,c),i(l,r,c)},d(l){l&&(s(t),s(a),s(r))}}}function ne(h){let t,o='为此，你需要充分利用在 <a href="/course/chapter3">第三章</a> 中学到的有关 <code>Trainer</code> API 和 🤗 Accelerate 库的知识，以及在 <a href="/course/chapter5">第五章</a> 中学到的 🤗 Datasets 库和 <a href="/course/chapter6">第六章</a> 中学到的 🤗 Tokenizers 库的知识。我们还会像在 <a href="/course/chapter4">第四章</a> 中那样将结果上传到 Model Hub，所以这真的是所有所学内容融会贯通的一章！',a,r,f="本章的每个部分都可以独立阅读，它们将向你展示如何使用 <code>Trainer</code> API 或自己的训练循环来训练模型，同时使用 🤗 Accelerate 加速。你可以随意跳过其中任意部分，重点关注你最感兴趣的部分： <code>Trainer</code> API 非常适合微调（fine-tuning）或训练模型，而无需关注内部的实现细节，而使用 <code>Accelerate</code> 的训练循环将使你更容易自定义所需的任何结构。";return{c(){t=m("p"),t.innerHTML=o,a=p(),r=m("p"),r.innerHTML=f},l(l){t=$(l,"P",{"data-svelte-h":!0}),P(t)!=="svelte-1w828bk"&&(t.innerHTML=o),a=u(l),r=$(l,"P",{"data-svelte-h":!0}),P(r)!=="svelte-ncm79e"&&(r.innerHTML=f)},m(l,c){i(l,t,c),i(l,a,c),i(l,r,c)},d(l){l&&(s(t),s(a),s(r))}}}function ae(h){let t,o="如果你按顺序阅读这些部分，你会注意到各小节在代码和描述上有许多相似之处。这种重复是有意为之的，让你可以随时钻研或对比学习任何感兴趣的任务，并且在每个任务中都可以找到一个完整的可运行示例。";return{c(){t=m("p"),t.textContent=o},l(a){t=$(a,"P",{"data-svelte-h":!0}),P(t)!=="svelte-uznxfm"&&(t.textContent=o)},m(a,r){i(a,t,r)},p:O,d(a){a&&s(t)}}}function re(h){let t,o,a,r,f,l,c,C,w,j='在 <a href="/course/chapter3">第三章</a> ，你了解了如何微调文本分类模型。在本章中，我们将处理以下常见的 NLP 任务：',H,T,q="<li>Token 分类</li> <li>掩码语言建模（如 BERT）</li> <li>文本摘要</li> <li>翻译</li> <li>因果语言建模预训练（如 GPT-2）</li> <li>问答</li>",M,b,d,x,v,L,k,A;f=new Y({props:{fw:h[0]}}),c=new Z({props:{title:"章节简介",local:"章节简介",headingTag:"h1"}});function D(e,n){return e[0]==="pt"?ne:te}let g=D(h),_=g(h);return d=new X({props:{$$slots:{default:[ae]},$$scope:{ctx:h}}}),v=new ee({props:{source:"https://github.com/huggingface/course/blob/main/chapters/zh-CN/chapter7/1.mdx"}}),{c(){t=m("meta"),o=p(),a=m("p"),r=p(),E(f.$$.fragment),l=p(),E(c.$$.fragment),C=p(),w=m("p"),w.innerHTML=j,H=p(),T=m("ul"),T.innerHTML=q,M=p(),_.c(),b=p(),E(d.$$.fragment),x=p(),E(v.$$.fragment),L=p(),k=m("p"),this.h()},l(e){const n=V("svelte-u9bgzb",document.head);t=$(n,"META",{name:!0,content:!0}),n.forEach(s),o=u(e),a=$(e,"P",{}),R(a).forEach(s),r=u(e),z(f.$$.fragment,e),l=u(e),z(c.$$.fragment,e),C=u(e),w=$(e,"P",{"data-svelte-h":!0}),P(w)!=="svelte-b1whw3"&&(w.innerHTML=j),H=u(e),T=$(e,"UL",{"data-svelte-h":!0}),P(T)!=="svelte-kqendt"&&(T.innerHTML=q),M=u(e),_.l(e),b=u(e),z(d.$$.fragment,e),x=u(e),z(v.$$.fragment,e),L=u(e),k=$(e,"P",{}),R(k).forEach(s),this.h()},h(){U(t,"name","hf:doc:metadata"),U(t,"content",le)},m(e,n){W(document.head,t),i(e,o,n),i(e,a,n),i(e,r,n),y(f,e,n),i(e,l,n),y(c,e,n),i(e,C,n),i(e,w,n),i(e,H,n),i(e,T,n),i(e,M,n),_.m(e,n),i(e,b,n),y(d,e,n),i(e,x,n),y(v,e,n),i(e,L,n),i(e,k,n),A=!0},p(e,[n]){const F={};n&1&&(F.fw=e[0]),f.$set(F),g!==(g=D(e))&&(_.d(1),_=g(e),_&&(_.c(),_.m(b.parentNode,b)));const G={};n&2&&(G.$$scope={dirty:n,ctx:e}),d.$set(G)},i(e){A||(I(f.$$.fragment,e),I(c.$$.fragment,e),I(d.$$.fragment,e),I(v.$$.fragment,e),A=!0)},o(e){S(f.$$.fragment,e),S(c.$$.fragment,e),S(d.$$.fragment,e),S(v.$$.fragment,e),A=!1},d(e){e&&(s(o),s(a),s(r),s(l),s(C),s(w),s(H),s(T),s(M),s(b),s(x),s(L),s(k)),s(t),N(f,e),N(c,e),_.d(e),N(d,e),N(v,e)}}}const le='{"title":"章节简介","local":"章节简介","sections":[],"depth":1}';function se(h,t,o){let a="pt";return K(()=>{const r=new URLSearchParams(window.location.search);o(0,a=r.get("fw")||"pt")}),[a]}class ue extends J{constructor(t){super(),Q(this,t,se,re,B,{})}}export{ue as component};
