import{s as q,o as B}from"../chunks/scheduler.37c15a92.js";import{S as K,i as O,g as d,s as f,r as y,A as R,h as w,f as l,c as u,j as G,u as L,x as S,k as j,y as D,a as i,v as E,d as M,t as z,w as U}from"../chunks/index.2bf4358c.js";import{C as I}from"../chunks/CourseFloatingBanner.06521e8b.js";import{F as J}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as Q,E as V}from"../chunks/EditOnGithub.8916dc7c.js";function W(c){let e,r='<li>了解了 <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a> 中的数据集</li> <li>学习了如何加载和预处理数据集</li> <li>学习了如何使用 Keras 微调和评估模型</li> <li>实现了自定义指标</li>';return{c(){e=d("ul"),e.innerHTML=r},l(a){e=w(a,"UL",{"data-svelte-h":!0}),S(e)!=="svelte-edl2mn"&&(e.innerHTML=r)},m(a,s){i(a,e,s)},d(a){a&&l(e)}}}function X(c){let e,r='<li>了解了 <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a> 中的数据集</li> <li>学习了如何加载和预处理数据集，包括使用动态填充和数据整理器</li> <li>实现你自己的模型微调和评估</li> <li>实现了一个较为底层的训练循环</li> <li>使用 🤗 Accelerate 轻松调整你的训练循环，使其适用于多个 GPU 或 TPU</li>';return{c(){e=d("ul"),e.innerHTML=r},l(a){e=w(a,"UL",{"data-svelte-h":!0}),S(e)!=="svelte-xm2ptu"&&(e.innerHTML=r)},m(a,s){i(a,e,s)},d(a){a&&l(e)}}}function Y(c){let e,r,a,s,m,k,p,v,$,C,h,A="这是非常令人高兴的！在前两章中，你了解了模型和 Tokenizer，现在你知道如何针对你自己的数据对它们进行微调。回顾一下，在本章中，你：",x,g,_,H,b,P;m=new J({props:{fw:c[0]}}),p=new Q({props:{title:"微调，检查！",local:"微调，检查!",headingTag:"h1"}}),$=new I({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function F(t,n){return t[0]==="pt"?X:W}let T=F(c),o=T(c);return _=new V({props:{source:"https://github.com/huggingface/course/blob/main/chapters/zh-CN/chapter3/5.mdx"}}),{c(){e=d("meta"),r=f(),a=d("p"),s=f(),y(m.$$.fragment),k=f(),y(p.$$.fragment),v=f(),y($.$$.fragment),C=f(),h=d("p"),h.textContent=A,x=f(),o.c(),g=f(),y(_.$$.fragment),H=f(),b=d("p"),this.h()},l(t){const n=R("svelte-u9bgzb",document.head);e=w(n,"META",{name:!0,content:!0}),n.forEach(l),r=u(t),a=w(t,"P",{}),G(a).forEach(l),s=u(t),L(m.$$.fragment,t),k=u(t),L(p.$$.fragment,t),v=u(t),L($.$$.fragment,t),C=u(t),h=w(t,"P",{"data-svelte-h":!0}),S(h)!=="svelte-1507izk"&&(h.textContent=A),x=u(t),o.l(t),g=u(t),L(_.$$.fragment,t),H=u(t),b=w(t,"P",{}),G(b).forEach(l),this.h()},h(){j(e,"name","hf:doc:metadata"),j(e,"content",Z)},m(t,n){D(document.head,e),i(t,r,n),i(t,a,n),i(t,s,n),E(m,t,n),i(t,k,n),E(p,t,n),i(t,v,n),E($,t,n),i(t,C,n),i(t,h,n),i(t,x,n),o.m(t,n),i(t,g,n),E(_,t,n),i(t,H,n),i(t,b,n),P=!0},p(t,[n]){const N={};n&1&&(N.fw=t[0]),m.$set(N),T!==(T=F(t))&&(o.d(1),o=T(t),o&&(o.c(),o.m(g.parentNode,g)))},i(t){P||(M(m.$$.fragment,t),M(p.$$.fragment,t),M($.$$.fragment,t),M(_.$$.fragment,t),P=!0)},o(t){z(m.$$.fragment,t),z(p.$$.fragment,t),z($.$$.fragment,t),z(_.$$.fragment,t),P=!1},d(t){t&&(l(r),l(a),l(s),l(k),l(v),l(C),l(h),l(x),l(g),l(H),l(b)),l(e),U(m,t),U(p,t),U($,t),o.d(t),U(_,t)}}}const Z='{"title":"微调，检查！","local":"微调，检查!","sections":[],"depth":1}';function tt(c,e,r){let a="pt";return B(()=>{const s=new URLSearchParams(window.location.search);r(0,a=s.get("fw")||"pt")}),[a]}class rt extends K{constructor(e){super(),O(this,e,tt,Y,q,{})}}export{rt as component};
