import{s as A,o as q}from"../chunks/scheduler.37c15a92.js";import{S as N,i as B,g as $,s as d,r as T,A as G,h as _,f as o,c as h,j,u as H,x as F,k as z,y as K,a as l,v as P,d as x,t as M,w as U}from"../chunks/index.2bf4358c.js";import{C as R}from"../chunks/CourseFloatingBanner.15ba07e6.js";import{F as D}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as J}from"../chunks/Heading.8ada512a.js";function O(m){let t,i='<li>Learned about datasets in the <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a></li> <li>Learned how to load and preprocess datasets</li> <li>Learned how to fine-tune and evaluate a model with Keras</li> <li>Implemented a custom metric</li>';return{c(){t=$("ul"),t.innerHTML=i},l(n){t=_(n,"UL",{"data-svelte-h":!0}),F(t)!=="svelte-1jau6qj"&&(t.innerHTML=i)},m(n,r){l(n,t,r)},d(n){n&&o(t)}}}function Q(m){let t,i='<li>Learned about datasets in the <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a></li> <li>Learned how to load and preprocess datasets, including using dynamic padding and collators</li> <li>Implemented your own fine-tuning and evaluation of a model</li> <li>Implemented a lower-level training loop</li> <li>Used 🤗 Accelerate to easily adapt your training loop so it works for multiple GPUs or TPUs</li>';return{c(){t=$("ul"),t.innerHTML=i},l(n){t=_(n,"UL",{"data-svelte-h":!0}),F(t)!=="svelte-et6r9c"&&(t.innerHTML=i)},m(n,r){l(n,t,r)},d(n){n&&o(t)}}}function V(m){let t,i,n,r,u,k,c,y,f,b,p,E="That was fun! In the first two chapters you learned about models and tokenizers, and now you know how to fine-tune them for your own data. To recap, in this chapter you:",v,w,g,L;u=new D({props:{fw:m[0]}}),c=new J({props:{title:"Fine-tuning, Check!",local:"fine-tuning-check",headingTag:"h1"}}),f=new R({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function I(e,a){return e[0]==="pt"?Q:O}let C=I(m),s=C(m);return{c(){t=$("meta"),i=d(),n=$("p"),r=d(),T(u.$$.fragment),k=d(),T(c.$$.fragment),y=d(),T(f.$$.fragment),b=d(),p=$("p"),p.textContent=E,v=d(),s.c(),w=d(),g=$("p"),this.h()},l(e){const a=G("svelte-u9bgzb",document.head);t=_(a,"META",{name:!0,content:!0}),a.forEach(o),i=h(e),n=_(e,"P",{}),j(n).forEach(o),r=h(e),H(u.$$.fragment,e),k=h(e),H(c.$$.fragment,e),y=h(e),H(f.$$.fragment,e),b=h(e),p=_(e,"P",{"data-svelte-h":!0}),F(p)!=="svelte-t5arek"&&(p.textContent=E),v=h(e),s.l(e),w=h(e),g=_(e,"P",{}),j(g).forEach(o),this.h()},h(){z(t,"name","hf:doc:metadata"),z(t,"content",W)},m(e,a){K(document.head,t),l(e,i,a),l(e,n,a),l(e,r,a),P(u,e,a),l(e,k,a),P(c,e,a),l(e,y,a),P(f,e,a),l(e,b,a),l(e,p,a),l(e,v,a),s.m(e,a),l(e,w,a),l(e,g,a),L=!0},p(e,[a]){const S={};a&1&&(S.fw=e[0]),u.$set(S),C!==(C=I(e))&&(s.d(1),s=C(e),s&&(s.c(),s.m(w.parentNode,w)))},i(e){L||(x(u.$$.fragment,e),x(c.$$.fragment,e),x(f.$$.fragment,e),L=!0)},o(e){M(u.$$.fragment,e),M(c.$$.fragment,e),M(f.$$.fragment,e),L=!1},d(e){e&&(o(i),o(n),o(r),o(k),o(y),o(b),o(p),o(v),o(w),o(g)),o(t),U(u,e),U(c,e),U(f,e),s.d(e)}}}const W='{"title":"Fine-tuning, Check!","local":"fine-tuning-check","sections":[],"depth":1}';function X(m,t,i){let n="pt";return q(()=>{const r=new URLSearchParams(window.location.search);i(0,n=r.get("fw")||"pt")}),[n]}class ae extends N{constructor(t){super(),B(this,t,X,V,A,{})}}export{ae as component};
