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