import{s as B,o as I}from"../chunks/scheduler.37c15a92.js";import{S as R,i as D,g as h,s as f,r as P,A as G,h as g,f as i,c as m,j as N,u as x,x as C,k as q,y as J,a as r,v as A,d as E,t as F,w as S}from"../chunks/index.2bf4358c.js";import{C as O}from"../chunks/CourseFloatingBanner.15ba07e6.js";import{F as Q}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as V}from"../chunks/Heading.8ada512a.js";function W(u){let t,l="<li>วิธีการเตรียม dataset ขนาดใหญ่จาก Hub</li> <li>วิธีการใช้ Keras ในการ fine-tune โมเดล</li> <li>วิธีการใช้ Keras ในการทำนายผล</li> <li>วิธีการใช้ metric ที่เขียนขึ้นเอง (custom metric)</li>";return{c(){t=h("ul"),t.innerHTML=l},l(a){t=g(a,"UL",{"data-svelte-h":!0}),C(t)!=="svelte-bj2icn"&&(t.innerHTML=l)},m(a,s){r(a,t,s)},d(a){a&&i(t)}}}function X(u){let t,l="<li>วิธีการเตรียม dataset ขนาดใหญ่จาก Hub</li> <li>วิธีการใช้ high-level <code>Trainer</code> API ในการ fine-tune โมเดล</li> <li>วิธีการใช้ training loop ที่เขียนขึ้นเอง (custom training loop)</li> <li>วิธีการใช้ประโยชน์จาก 🤗 Accelerate library ในการรัน custom training loop บน distributed setup แบบต่าง ๆ</li>";return{c(){t=h("ul"),t.innerHTML=l},l(a){t=g(a,"UL",{"data-svelte-h":!0}),C(t)!=="svelte-1on0o8x"&&(t.innerHTML=l)},m(a,s){r(a,t,s)},d(a){a&&i(t)}}}function Y(u){let t,l,a,s,c,H,p,v,$,k,_,j='ใน <a href="/course/chapter2">Chapter 2</a> เราได้เรียนรู้วิธีการใช้ tokenizers และโมเดลที่ผ่านการเทรนมาแล้ว (pretrained models) ในการทำนาย แต่ถ้าเราต้องการจะใช้ dataset ของเราเองในการ fine-tune โมเดลล่ะ? นั่นคือหัวข้อของบทนี้เลย! คุณจะได้เรียนรู้:',L,w,d,z='ถ้าคุณต้องการจะ upload trained checkpoints ของคุณขึ้น Hugging Face Hub คุณจะต้องมีบัญชี huggingface.co ก่อน : <a href="https://huggingface.co/join" rel="nofollow">create an account</a>',T,b,M;c=new Q({props:{fw:u[0]}}),p=new V({props:{title:"บทนำ",local:"บทนำ",headingTag:"h1"}}),$=new O({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function U(e,n){return e[0]==="pt"?X:W}let y=U(u),o=y(u);return{c(){t=h("meta"),l=f(),a=h("p"),s=f(),P(c.$$.fragment),H=f(),P(p.$$.fragment),v=f(),P($.$$.fragment),k=f(),_=h("p"),_.innerHTML=j,L=f(),o.c(),w=f(),d=h("p"),d.innerHTML=z,T=f(),b=h("p"),this.h()},l(e){const n=G("svelte-u9bgzb",document.head);t=g(n,"META",{name:!0,content:!0}),n.forEach(i),l=m(e),a=g(e,"P",{}),N(a).forEach(i),s=m(e),x(c.$$.fragment,e),H=m(e),x(p.$$.fragment,e),v=m(e),x($.$$.fragment,e),k=m(e),_=g(e,"P",{"data-svelte-h":!0}),C(_)!=="svelte-ymcgbx"&&(_.innerHTML=j),L=m(e),o.l(e),w=m(e),d=g(e,"P",{"data-svelte-h":!0}),C(d)!=="svelte-16f80gr"&&(d.innerHTML=z),T=m(e),b=g(e,"P",{}),N(b).forEach(i),this.h()},h(){q(t,"name","hf:doc:metadata"),q(t,"content",Z)},m(e,n){J(document.head,t),r(e,l,n),r(e,a,n),r(e,s,n),A(c,e,n),r(e,H,n),A(p,e,n),r(e,v,n),A($,e,n),r(e,k,n),r(e,_,n),r(e,L,n),o.m(e,n),r(e,w,n),r(e,d,n),r(e,T,n),r(e,b,n),M=!0},p(e,[n]){const K={};n&1&&(K.fw=e[0]),c.$set(K),y!==(y=U(e))&&(o.d(1),o=y(e),o&&(o.c(),o.m(w.parentNode,w)))},i(e){M||(E(c.$$.fragment,e),E(p.$$.fragment,e),E($.$$.fragment,e),M=!0)},o(e){F(c.$$.fragment,e),F(p.$$.fragment,e),F($.$$.fragment,e),M=!1},d(e){e&&(i(l),i(a),i(s),i(H),i(v),i(k),i(_),i(L),i(w),i(d),i(T),i(b)),i(t),S(c,e),S(p,e),S($,e),o.d(e)}}}const Z='{"title":"บทนำ","local":"บทนำ","sections":[],"depth":1}';function ee(u,t,l){let a="pt";return I(()=>{const s=new URLSearchParams(window.location.search);l(0,a=s.get("fw")||"pt")}),[a]}class le extends R{constructor(t){super(),D(this,t,ee,Y,B,{})}}export{le as component};
