import{S as j,i as D,s as Q,e as c,k as b,w as M,t as g,l as z,M as V,c as d,d as o,m as I,x as K,a as f,h as L,b as C,G as a,g as F,y as B,q as J,o as O,B as R,v as W}from"../../chunks/vendor-hf-doc-builder.js";import{I as X}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{F as Y}from"../../chunks/FrameworkSwitchCourse-hf-doc-builder.js";function Z(H){let t,l,i,r,p,_,m,y,P,w,U,$,u,A;return{c(){t=c("ul"),l=c("li"),i=g("Learned about datasets in the "),r=c("a"),p=g("Hub"),_=b(),m=c("li"),y=g("Learned how to load and preprocess datasets"),P=b(),w=c("li"),U=g("Learned how to fine-tune and evaluate a model with Keras"),$=b(),u=c("li"),A=g("Implemented a custom metric"),this.h()},l(k){t=d(k,"UL",{});var n=f(t);l=d(n,"LI",{});var E=f(l);i=L(E,"Learned about datasets in the "),r=d(E,"A",{href:!0,rel:!0});var S=f(r);p=L(S,"Hub"),S.forEach(o),E.forEach(o),_=I(n),m=d(n,"LI",{});var s=f(m);y=L(s,"Learned how to load and preprocess datasets"),s.forEach(o),P=I(n),w=d(n,"LI",{});var v=f(w);U=L(v,"Learned how to fine-tune and evaluate a model with Keras"),v.forEach(o),$=I(n),u=d(n,"LI",{});var e=f(u);A=L(e,"Implemented a custom metric"),e.forEach(o),n.forEach(o),this.h()},h(){C(r,"href","https://huggingface.co/datasets"),C(r,"rel","nofollow")},m(k,n){F(k,t,n),a(t,l),a(l,i),a(l,r),a(r,p),a(t,_),a(t,m),a(m,y),a(t,P),a(t,w),a(w,U),a(t,$),a(t,u),a(u,A)},d(k){k&&o(t)}}}function ee(H){let t,l,i,r,p,_,m,y,P,w,U,$,u,A,k,n,E;return{c(){t=c("ul"),l=c("li"),i=g("Learned about datasets in the "),r=c("a"),p=g("Hub"),_=b(),m=c("li"),y=g("Learned how to load and preprocess datasets, including using dynamic padding and collators"),P=b(),w=c("li"),U=g("Implemented your own fine-tuning and evaluation of a model"),$=b(),u=c("li"),A=g("Implemented a lower-level training loop"),k=b(),n=c("li"),E=g("Used \u{1F917} Accelerate to easily adapt your training loop so it works for multiple GPUs or TPUs"),this.h()},l(S){t=d(S,"UL",{});var s=f(t);l=d(s,"LI",{});var v=f(l);i=L(v,"Learned about datasets in the "),r=d(v,"A",{href:!0,rel:!0});var e=f(r);p=L(e,"Hub"),e.forEach(o),v.forEach(o),_=I(s),m=d(s,"LI",{});var h=f(m);y=L(h,"Learned how to load and preprocess datasets, including using dynamic padding and collators"),h.forEach(o),P=I(s),w=d(s,"LI",{});var T=f(w);U=L(T,"Implemented your own fine-tuning and evaluation of a model"),T.forEach(o),$=I(s),u=d(s,"LI",{});var x=f(u);A=L(x,"Implemented a lower-level training loop"),x.forEach(o),k=I(s),n=d(s,"LI",{});var N=f(n);E=L(N,"Used \u{1F917} Accelerate to easily adapt your training loop so it works for multiple GPUs or TPUs"),N.forEach(o),s.forEach(o),this.h()},h(){C(r,"href","https://huggingface.co/datasets"),C(r,"rel","nofollow")},m(S,s){F(S,t,s),a(t,l),a(l,i),a(l,r),a(r,p),a(t,_),a(t,m),a(m,y),a(t,P),a(t,w),a(w,U),a(t,$),a(t,u),a(u,A),a(t,k),a(t,n),a(n,E)},d(S){S&&o(t)}}}function te(H){let t,l,i,r,p,_,m,y,P,w,U,$,u,A,k,n,E;i=new Y({props:{fw:H[0]}}),y=new X({});function S(e,h){return e[0]==="pt"?ee:Z}let s=S(H),v=s(H);return{c(){t=c("meta"),l=b(),M(i.$$.fragment),r=b(),p=c("h1"),_=c("a"),m=c("span"),M(y.$$.fragment),P=b(),w=c("span"),U=g("Fine-tuning, Check!"),$=b(),u=c("p"),A=g("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:"),k=b(),v.c(),n=z(),this.h()},l(e){const h=V('[data-svelte="svelte-1phssyn"]',document.head);t=d(h,"META",{name:!0,content:!0}),h.forEach(o),l=I(e),K(i.$$.fragment,e),r=I(e),p=d(e,"H1",{class:!0});var T=f(p);_=d(T,"A",{id:!0,class:!0,href:!0});var x=f(_);m=d(x,"SPAN",{});var N=f(m);K(y.$$.fragment,N),N.forEach(o),x.forEach(o),P=I(T),w=d(T,"SPAN",{});var q=f(w);U=L(q,"Fine-tuning, Check!"),q.forEach(o),T.forEach(o),$=I(e),u=d(e,"P",{});var G=f(u);A=L(G,"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:"),G.forEach(o),k=I(e),v.l(e),n=z(),this.h()},h(){C(t,"name","hf:doc:metadata"),C(t,"content",JSON.stringify(ae)),C(_,"id","finetuning-check"),C(_,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),C(_,"href","#finetuning-check"),C(p,"class","relative group")},m(e,h){a(document.head,t),F(e,l,h),B(i,e,h),F(e,r,h),F(e,p,h),a(p,_),a(_,m),B(y,m,null),a(p,P),a(p,w),a(w,U),F(e,$,h),F(e,u,h),a(u,A),F(e,k,h),v.m(e,h),F(e,n,h),E=!0},p(e,[h]){const T={};h&1&&(T.fw=e[0]),i.$set(T),s!==(s=S(e))&&(v.d(1),v=s(e),v&&(v.c(),v.m(n.parentNode,n)))},i(e){E||(J(i.$$.fragment,e),J(y.$$.fragment,e),E=!0)},o(e){O(i.$$.fragment,e),O(y.$$.fragment,e),E=!1},d(e){o(t),e&&o(l),R(i,e),e&&o(r),e&&o(p),R(y),e&&o($),e&&o(u),e&&o(k),v.d(e),e&&o(n)}}}const ae={local:"finetuning-check",title:"Fine-tuning, Check!"};function oe(H,t,l){let i="pt";return W(()=>{const r=new URLSearchParams(window.location.search);l(0,i=r.get("fw")||"pt")}),[i]}class se extends j{constructor(t){super();D(this,t,oe,te,Q,{})}}export{se as default,ae as metadata};
