import{s as q,o as B}from"../chunks/scheduler.37c15a92.js";import{S as K,i as O,g,s as m,r as T,A as R,h as w,f as i,c,j as N,u as L,x as z,k as j,y as D,a as s,v as E,d as M,t as F,w as U}from"../chunks/index.2bf4358c.js";import{C as I}from"../chunks/CourseFloatingBanner.6add7356.js";import{F as J}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as Q,E as V}from"../chunks/index.49fc26ef.js";function W(u){let e,r='<li>เรียนรู้การใช้งาน datasets ผ่าน <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a></li> <li>เรียนรู้วิธีการโหลดและประมวลผล datasets</li> <li>เรียนรู้วิธีการใช้ Keras ในการ fine-tune และประเมินประสิทธิภาพของโมเดล</li> <li>เขียนโค้ดสร้าง metric ในแบบของคุณเอง</li>';return{c(){e=g("ul"),e.innerHTML=r},l(a){e=w(a,"UL",{"data-svelte-h":!0}),z(e)!=="svelte-ci4xry"&&(e.innerHTML=r)},m(a,l){s(a,e,l)},d(a){a&&i(e)}}}function X(u){let e,r='<li>เรียนรู้การใช้งาน datasets ผ่าน <a href="https://huggingface.co/datasets" rel="nofollow">Hub</a></li> <li>เรียนรู้วิธีการโหลดและประมวลผล datasets รวมถึงการใช้งาน dynamic padding และ collators</li> <li>เขียนโค้ดการ fine-tuning และการประเมินประสิทธิภาพของโมเดลในแบบของคุณเอง</li> <li>เขียนโค้ดลูปการเทรนโดยไม่ใช้ class Trainer</li> <li>ใช้ไลบรารี่ 🤗 Accelerate เพื่อปรับลูปการเทรนของคุณให้ใช้การได้กับการเทรนโดยใช้ GPUs หรือ TPUs หลายตัวได้อย่างง่ายดาย</li>';return{c(){e=g("ul"),e.innerHTML=r},l(a){e=w(a,"UL",{"data-svelte-h":!0}),z(e)!=="svelte-1bz7hcc"&&(e.innerHTML=r)},m(a,l){s(a,e,l)},d(a){a&&i(e)}}}function Y(u){let e,r,a,l,f,k,p,v,$,y,h,S="สนุกจังเลย! ในสองบทแรกคุณได้เรียนรู้เกี่ยวกับโมเดลและ tokenizers และตอนนี้คุณก็รู้วิธีการ fine-tune โมเดลด้วยข้อมูลของคุณเองแล้ว มาทบทวนกันว่าคุณได้ทำอะไรไปบ้างในบทนี้:",C,d,_,x,b,H;f=new J({props:{fw:u[0]}}),p=new Q({props:{title:"Fine-tune โมเดลสำเร็จแล้ว!",local:"fine-tune-โมเดลสำเรจแลว",headingTag:"h1"}}),$=new I({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function A(t,n){return t[0]==="pt"?X:W}let P=A(u),o=P(u);return _=new V({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter3/5.mdx"}}),{c(){e=g("meta"),r=m(),a=g("p"),l=m(),T(f.$$.fragment),k=m(),T(p.$$.fragment),v=m(),T($.$$.fragment),y=m(),h=g("p"),h.textContent=S,C=m(),o.c(),d=m(),T(_.$$.fragment),x=m(),b=g("p"),this.h()},l(t){const n=R("svelte-u9bgzb",document.head);e=w(n,"META",{name:!0,content:!0}),n.forEach(i),r=c(t),a=w(t,"P",{}),N(a).forEach(i),l=c(t),L(f.$$.fragment,t),k=c(t),L(p.$$.fragment,t),v=c(t),L($.$$.fragment,t),y=c(t),h=w(t,"P",{"data-svelte-h":!0}),z(h)!=="svelte-1ni0cyg"&&(h.textContent=S),C=c(t),o.l(t),d=c(t),L(_.$$.fragment,t),x=c(t),b=w(t,"P",{}),N(b).forEach(i),this.h()},h(){j(e,"name","hf:doc:metadata"),j(e,"content",Z)},m(t,n){D(document.head,e),s(t,r,n),s(t,a,n),s(t,l,n),E(f,t,n),s(t,k,n),E(p,t,n),s(t,v,n),E($,t,n),s(t,y,n),s(t,h,n),s(t,C,n),o.m(t,n),s(t,d,n),E(_,t,n),s(t,x,n),s(t,b,n),H=!0},p(t,[n]){const G={};n&1&&(G.fw=t[0]),f.$set(G),P!==(P=A(t))&&(o.d(1),o=P(t),o&&(o.c(),o.m(d.parentNode,d)))},i(t){H||(M(f.$$.fragment,t),M(p.$$.fragment,t),M($.$$.fragment,t),M(_.$$.fragment,t),H=!0)},o(t){F(f.$$.fragment,t),F(p.$$.fragment,t),F($.$$.fragment,t),F(_.$$.fragment,t),H=!1},d(t){t&&(i(r),i(a),i(l),i(k),i(v),i(y),i(h),i(C),i(d),i(x),i(b)),i(e),U(f,t),U(p,t),U($,t),o.d(t),U(_,t)}}}const Z='{"title":"Fine-tune โมเดลสำเร็จแล้ว!","local":"fine-tune-โมเดลสำเรจแลว","sections":[],"depth":1}';function tt(u,e,r){let a="pt";return B(()=>{const l=new URLSearchParams(window.location.search);r(0,a=l.get("fw")||"pt")}),[a]}class rt extends K{constructor(e){super(),O(this,e,tt,Y,q,{})}}export{rt as component};
