import{s as q,o as B}from"../chunks/scheduler.37c15a92.js";import{S as K,i as O,g as w,s as m,r as L,A as R,h as d,f as l,c,j as G,u as T,x as S,k as j,y as D,a as r,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(u){let e,i='<li>了解了<a href="https://huggingface.co/datasets" rel="nofollow">Hub</a>中的数据集</li> <li>学习了如何加载和预处理数据集</li> <li>学习了如何使用 Keras 微调和评估模型</li> <li>实现了自定义指标</li>';return{c(){e=w("ul"),e.innerHTML=i},l(a){e=d(a,"UL",{"data-svelte-h":!0}),S(e)!=="svelte-za70n1"&&(e.innerHTML=i)},m(a,s){r(a,e,s)},d(a){a&&l(e)}}}function X(u){let e,i='<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=w("ul"),e.innerHTML=i},l(a){e=d(a,"UL",{"data-svelte-h":!0}),S(e)!=="svelte-1v3rn43"&&(e.innerHTML=i)},m(a,s){r(a,e,s)},d(a){a&&l(e)}}}function Y(u){let e,i,a,s,f,v,p,k,$,C,h,A="这是非常令人高兴的！ 在前两章中，您了解了模型和标记器(tokenizer)，现在您知道如何针对您自己的数据对它们进行微调。回顾一下，在本章中，您：",H,g,_,P,b,x;f=new J({props:{fw:u[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 y=F(u),o=y(u);return _=new V({props:{source:"https://github.com/huggingface/course/blob/main/chapters/zh-CN/chapter3/5.mdx"}}),{c(){e=w("meta"),i=m(),a=w("p"),s=m(),L(f.$$.fragment),v=m(),L(p.$$.fragment),k=m(),L($.$$.fragment),C=m(),h=w("p"),h.textContent=A,H=m(),o.c(),g=m(),L(_.$$.fragment),P=m(),b=w("p"),this.h()},l(t){const n=R("svelte-u9bgzb",document.head);e=d(n,"META",{name:!0,content:!0}),n.forEach(l),i=c(t),a=d(t,"P",{}),G(a).forEach(l),s=c(t),T(f.$$.fragment,t),v=c(t),T(p.$$.fragment,t),k=c(t),T($.$$.fragment,t),C=c(t),h=d(t,"P",{"data-svelte-h":!0}),S(h)!=="svelte-fcs6dw"&&(h.textContent=A),H=c(t),o.l(t),g=c(t),T(_.$$.fragment,t),P=c(t),b=d(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),r(t,i,n),r(t,a,n),r(t,s,n),E(f,t,n),r(t,v,n),E(p,t,n),r(t,k,n),E($,t,n),r(t,C,n),r(t,h,n),r(t,H,n),o.m(t,n),r(t,g,n),E(_,t,n),r(t,P,n),r(t,b,n),x=!0},p(t,[n]){const N={};n&1&&(N.fw=t[0]),f.$set(N),y!==(y=F(t))&&(o.d(1),o=y(t),o&&(o.c(),o.m(g.parentNode,g)))},i(t){x||(M(f.$$.fragment,t),M(p.$$.fragment,t),M($.$$.fragment,t),M(_.$$.fragment,t),x=!0)},o(t){z(f.$$.fragment,t),z(p.$$.fragment,t),z($.$$.fragment,t),z(_.$$.fragment,t),x=!1},d(t){t&&(l(i),l(a),l(s),l(v),l(k),l(C),l(h),l(H),l(g),l(P),l(b)),l(e),U(f,t),U(p,t),U($,t),o.d(t),U(_,t)}}}const Z='{"title":"微调，检查!","local":"微调，检查!","sections":[],"depth":1}';function tt(u,e,i){let a="pt";return B(()=>{const s=new URLSearchParams(window.location.search);i(0,a=s.get("fw")||"pt")}),[a]}class it extends K{constructor(e){super(),O(this,e,tt,Y,q,{})}}export{it as component};
