import{s as j,o as q}from"../chunks/scheduler.37c15a92.js";import{S as B,i as G,g as d,s as $,r as y,A as K,h as w,f as l,c as _,j as F,u as L,x as z,k as N,y as R,a as i,v as T,d as x,t as M,w as U}from"../chunks/index.2bf4358c.js";import{C as D}from"../chunks/CourseFloatingBanner.06521e8b.js";import{F as I}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as J}from"../chunks/Heading.8ada512a.js";function O(m){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}),z(e)!=="svelte-za70n1"&&(e.innerHTML=r)},m(a,s){i(a,e,s)},d(a){a&&l(e)}}}function Q(m){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}),z(e)!=="svelte-1v3rn43"&&(e.innerHTML=r)},m(a,s){i(a,e,s)},d(a){a&&l(e)}}}function V(m){let e,r,a,s,f,b,c,v,u,k,p,E="这是非常令人高兴的！ 在前两章中，您了解了模型和标记器(tokenizer)，现在您知道如何针对您自己的数据对它们进行微调。回顾一下，在本章中，您：",C,h,g,H;f=new I({props:{fw:m[0]}}),c=new J({props:{title:"微调，检查!",local:"微调，检查!",headingTag:"h1"}}),u=new D({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function S(t,n){return t[0]==="pt"?Q:O}let P=S(m),o=P(m);return{c(){e=d("meta"),r=$(),a=d("p"),s=$(),y(f.$$.fragment),b=$(),y(c.$$.fragment),v=$(),y(u.$$.fragment),k=$(),p=d("p"),p.textContent=E,C=$(),o.c(),h=$(),g=d("p"),this.h()},l(t){const n=K("svelte-u9bgzb",document.head);e=w(n,"META",{name:!0,content:!0}),n.forEach(l),r=_(t),a=w(t,"P",{}),F(a).forEach(l),s=_(t),L(f.$$.fragment,t),b=_(t),L(c.$$.fragment,t),v=_(t),L(u.$$.fragment,t),k=_(t),p=w(t,"P",{"data-svelte-h":!0}),z(p)!=="svelte-fcs6dw"&&(p.textContent=E),C=_(t),o.l(t),h=_(t),g=w(t,"P",{}),F(g).forEach(l),this.h()},h(){N(e,"name","hf:doc:metadata"),N(e,"content",W)},m(t,n){R(document.head,e),i(t,r,n),i(t,a,n),i(t,s,n),T(f,t,n),i(t,b,n),T(c,t,n),i(t,v,n),T(u,t,n),i(t,k,n),i(t,p,n),i(t,C,n),o.m(t,n),i(t,h,n),i(t,g,n),H=!0},p(t,[n]){const A={};n&1&&(A.fw=t[0]),f.$set(A),P!==(P=S(t))&&(o.d(1),o=P(t),o&&(o.c(),o.m(h.parentNode,h)))},i(t){H||(x(f.$$.fragment,t),x(c.$$.fragment,t),x(u.$$.fragment,t),H=!0)},o(t){M(f.$$.fragment,t),M(c.$$.fragment,t),M(u.$$.fragment,t),H=!1},d(t){t&&(l(r),l(a),l(s),l(b),l(v),l(k),l(p),l(C),l(h),l(g)),l(e),U(f,t),U(c,t),U(u,t),o.d(t)}}}const W='{"title":"微调，检查!","local":"微调，检查!","sections":[],"depth":1}';function X(m,e,r){let a="pt";return q(()=>{const s=new URLSearchParams(window.location.search);r(0,a=s.get("fw")||"pt")}),[a]}class nt extends B{constructor(e){super(),G(this,e,X,V,j,{})}}export{nt as component};
