Buckets:
| import{s as ae,o as ne}from"../chunks/scheduler.37c15a92.js";import{S as re,i as se,g as j,s as l,r as p,A as ie,h as J,f as n,c as $,j as ee,u as f,x as le,k as te,y as $e,a as i,v as c,t as m,b as me,d as o,w as d,p as oe}from"../chunks/index.2bf4358c.js";import{C as pe}from"../chunks/CourseFloatingBanner.6add7356.js";import{Q as U}from"../chunks/Question.668688bc.js";import{F as fe}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as P,E as ce}from"../chunks/getInferenceSnippets.39afd8fb.js";function de(B){let u,k,g,T,x,y,b,S,w,q,h,A;return u=new P({props:{title:"4. จะเกิดอะไรขึ้นถ้าคุณสร้างออพเจ็กต์ของคลาส AutoModelForXxx ตัวหนึ่งซึ่งมี pretrained language model (เช่น bert-base-uncased ) เพื่อนำไปทำ task ที่แตกต่างไปจาก task ที่เคยเทรนไว้?",local:"4-จะเกดอะไรขนถาคณสรางออพเจกตของคลาส-automodelforxxx-ตวหนงซงม-pretrained-language-model-เชน-bert-base-uncased--เพอนำไปทำ-task-ทแตกตางไปจาก-task-ทเคยเทรนไว",headingTag:"h3"}}),g=new U({props:{choices:[{text:"ไม่มีอะไรเกิดขึ้น แต่คุณจะได้รับข้อความ warning",explain:"คุณจะได้ข้อความ warning แต่มันไม่ใช่แค่นั้นนะ!"},{text:"head ของ pretrained model จะถูกตัดทิ้งไป และจะมีการสร้าง head ใหม่ให้เหมาะสมกับ task นั้นขึ้นมาแทนที่",explain:"ถูกต้อง ยกตัวอย่างเช่น เมื่อเราใช้ <code>AutoModelForSequenceClassification</code> กับ <code>bert-base-uncased</code> เราจะได้ข้อความ warnings เพราะ pretrained head นั้นไม่ใช้ในการทำ sequence classification มันจึงถูกตัดทิ้งและมีการสร้าง head ใหม่ขึ้นมาแทน โดยกำหนดค่า weights ขึ้นแบบสุ่ม",correct:!0},{text:"head ของ pretrained model จะถูกตัดทิ้งไป",explain:"ยังมีอีกสิ่งหนึ่งที่จะต้องเกิดขึ้นด้วย ลองใหม่อีกครั้งนะ!"},{text:"ไม่มีอะไรเกิดขึ้น เนื่องจากเราสามารถ fine tune โมเดลให้ทำ task ที่ต่างออกไปได้",explain:"head ของ pretrained model ไม่ได้ถูกเทรนมาให้ทำ task นี้ เราจึงต้องตัดมันทิ้งไป!"}]}}),x=new P({props:{title:"5. โมเดล TensorFlow จาก transformers นั้นเป็นโมเดล Keras อยู่แล้ว การที่เป็นแบบนี้นั้นมีประโยชน์อะไรบ้าง?",local:"5-โมเดล-tensorflow-จาก-transformers-นนเปนโมเดล-keras-อยแลว-การทเปนแบบนนนมประโยชนอะไรบาง",headingTag:"h3"}}),b=new U({props:{choices:[{text:"โมเดลจะทำงานกับ TPU ได้เลยทันที",explain:"เกือบแล้ว! มันยังต้องปรับแก้อีกเล็กน้อย ยกตัวอย่างเช่น คุณจะต้องรันทุกอย่างใน <code>TPUStrategy</code> scope รวมถึงการ initialize โมเดลด้วย"},{text:"คุณสามารถใช้ประโยชน์จากเมธอดที่มีอยู่แล้วอย่างเช่น <code>compile()</code>, <code>fit()</code> และ <code>predict()</code>",explain:"ถูกต้อง! เมื่อคุณมีข้อมูล การเทรนก็ไม่ยาก แค่ต้องทำงานเพิ่มอีกนิดเดียวเท่านั้น",correct:!0},{text:"คุณจะได้เรียนวิธีใช้ Keras และ transformers.",explain:"ก็ถูกนะ แต่เราอยากได้คำตอบอื่น :)",correct:!0},{text:"คุณจะสามารถคำนวณ metrics ที่เกี่ยวข้องกับ dataset ได้โดยง่าย",explain:"Keras นั้นช่วยในการเทรนและประเมินผลโมเดล แต่ไม่ได้ช่วยคำนวณ metrics ที่เกี่ยวข้องกับ dataset"}]}}),w=new P({props:{title:"6. คุณสามารถสร้าง metric ของคุณเองได้อย่างไร?",local:"6-คณสามารถสราง-metric-ของคณเองไดอยางไร",headingTag:"h3"}}),h=new U({props:{choices:[{text:"โดยการสร้างคลาสย่อยของ <code>tf.keras.metrics.Metric</code>.",explain:"เยี่ยมเลย!",correct:!0},{text:"ใช้ Keras functional API.",explain:"ลองใหม่อีกครั้ง!"},{text:"โดยการใช้ callable ด้วย signature <code>metric_fn(y_true, y_pred)</code>.",explain:"ถูกต้อง!",correct:!0},{text:"ใช้ google ค้นหาวิธี",explain:"นั่นไม่ใช่คำตอบที่เราต้องการนะ แต่มันก็น่าจะช่วยคุณหาวิธีได้จริง ๆ",correct:!0}]}}),{c(){p(u.$$.fragment),k=l(),p(g.$$.fragment),T=l(),p(x.$$.fragment),y=l(),p(b.$$.fragment),S=l(),p(w.$$.fragment),q=l(),p(h.$$.fragment)},l(a){f(u.$$.fragment,a),k=$(a),f(g.$$.fragment,a),T=$(a),f(x.$$.fragment,a),y=$(a),f(b.$$.fragment,a),S=$(a),f(w.$$.fragment,a),q=$(a),f(h.$$.fragment,a)},m(a,_){c(u,a,_),i(a,k,_),c(g,a,_),i(a,T,_),c(x,a,_),i(a,y,_),c(b,a,_),i(a,S,_),c(w,a,_),i(a,q,_),c(h,a,_),A=!0},i(a){A||(o(u.$$.fragment,a),o(g.$$.fragment,a),o(x.$$.fragment,a),o(b.$$.fragment,a),o(w.$$.fragment,a),o(h.$$.fragment,a),A=!0)},o(a){m(u.$$.fragment,a),m(g.$$.fragment,a),m(x.$$.fragment,a),m(b.$$.fragment,a),m(w.$$.fragment,a),m(h.$$.fragment,a),A=!1},d(a){a&&(n(k),n(T),n(y),n(S),n(q)),d(u,a),d(g,a),d(x,a),d(b,a),d(w,a),d(h,a)}}}function ue(B){let u,k,g,T,x,y,b,S,w,q,h,A,a,_,C,E,F,v,M,L,z,H,D,K;return u=new P({props:{title:"4. ข้อใดเป็นประโยชน์ที่ได้จากการใช้เมธอด Dataset.map() ?",local:"4-ขอใดเปนประโยชนทไดจากการใชเมธอด-datasetmap-",headingTag:"h3"}}),g=new U({props:{choices:[{text:"มีการเก็บผลลัพธ์ของฟังก์ชั่นไว้ใน cache ทำให้คุณไม่ต้องเสียเวลาเพิ่มเติมหากมีการรันโค้ดใหม่",explain:"นั่นเป็นหนึ่งในประโยชน์ของเมธอดนี้จริง ๆ ด้วย! แต่มันไม่ได้มีประโยชน์แค่ข้อนี้ข้อเดียวนะ...",correct:!0},{text:"มันสามารถใช้ multiprocessing ทำให้ประมวลผลได้เร็วกว่าการใช้ฟังก์ชั่นกับ element แต่ละตัวใน dataset",explain:"นั่นก็เป็นหนึ่งในประโยชน์ของเมธอดนี้ แต่มันไม่ได้มีประโยชน์แค่ข้อนี้ข้อเดียวนะ..",correct:!0},{text:"มันไม่ได้โหลดเอา dataset ทั้งหมดเข้าไปใน memory แต่จะบันทึกผลลัพธ์เมื่อประมวลผล element แต่ละตัวเสร็จ",explain:"นั่นก็เป็นหนึ่งในประโยชน์ของเมธอดนี้ แต่มันยังมีประโยชน์ด้านอื่นด้วยนะ!",correct:!0}]}}),x=new P({props:{title:"5. dynamic padding หมายถึงอะไร?",local:"5-dynamic-padding-หมายถงอะไร",headingTag:"h3"}}),b=new U({props:{choices:[{text:"หมายถึงการเติมข้อมูลในแต่ละ batch ให้เท่ากับข้อมูลที่ยาวที่สุดใน dataset",explain:"มันมีการเติมข้อมูลในแต่ละ batch นะ แต่ไม่ได้เติมให้เท่ากับข้อมูลที่ยาวที่สุดใน dataset"},{text:"หมายถึงการเติมข้อมูลในแต่ละ batch ให้เท่ากับข้อมูลที่ยาวที่สุดใน batch นั้น",explain:'ถูกต้อง! คำว่า "dynamic" มีที่มาจากการที่ขนาดของแต่ละ batch นั้นมีความแตกต่างกันและถูกกำหนดเมื่อสร้างแต่ละ batch',correct:!0},{text:"หมายถึงการเติมข้อมูลเพื่อให้แต่ละประโยคมีจำนวน token เท่ากับประโยคก่อนหน้าใน dataset.",explain:"นั่นไม่ถูกต้องนะ และมันก็ไม่สมเหตุสมผลที่จะไปดูข้อมูลของประโยคก่อนหน้า เพราะเราจะมีการ shuffle ข้อมูลระหว่างการเทรนโมเดลด้วย"}]}}),w=new P({props:{title:"6. ข้อใดคือหน้าที่ของฟังก์ชั่น collate?",local:"6-ขอใดคอหนาทของฟงกชน-collate",headingTag:"h3"}}),h=new U({props:{choices:[{text:"เพื่อทำให้มั่นใจว่าทุก sequences ใน dataset มีความยาวเท่ากัน",explain:"ฟังก์ชั่น collate นั้นมีการจัดการเพียงในแต่ละ batch ไม่ได้จัดการทั้ง dataset นอกจากนี้เรากำลังพูดถึงฟังก์ชั่น collate ทั่ว ๆ ไป ไม่ได้เจาะจงถึง <code>DataCollatorWithPadding</code>"},{text:"เพื่อเก็บข้อมูลเข้ามาทำเป็น batch อย่างเหมาะสม",explain:"ถูกต้อง! คุณสามารถใส่ฟังก์ชั่น collate เป็นอากิวเมนต์ของ <code>DataLoader</code> เราได้ใช้ฟังก์ชั่น <code>DataCollatorWithPadding</code> ในการเติมข้อมูลทุกตัวใน batch ให้มีความยาวเท่ากัน",correct:!0},{text:"เพื่อประมวลผลข้อมูลทั้ง dataset.",explain:"นั่นเป็นหน้าที่ของฟังก์ชั่นประมวลผล (preprocessing) ไม่ใช่หน้าที่ของฟังก์ชั่น collate"},{text:"เพื่อตัด sequences ทุกตัวใน dataset.",explain:"ฟังก์ชั่น collate นั้นมีการจัดการเพียงในแต่ละ batch ไม่ได้จัดการทั้ง dataset และถ้าคุณต้องการตัด (truncating) คุณสามารถใช้อากิวเมนต์ <code>truncate</code> ของ <code>tokenizer</code>."}]}}),a=new P({props:{title:"7. จะเกิดอะไรขึ้นถ้าคุณสร้างออพเจ็กต์ของคลาส AutoModelForXxx ตัวหนึ่งซึ่งมี pretrained language model (เช่น bert-base-uncased ) เพื่อนำไปทำ task ที่แตกต่างไปจาก task ที่เคยเทรนไว้?",local:"7-จะเกดอะไรขนถาคณสรางออพเจกตของคลาส-automodelforxxx-ตวหนงซงม-pretrained-language-model-เชน-bert-base-uncased--เพอนำไปทำ-task-ทแตกตางไปจาก-task-ทเคยเทรนไว",headingTag:"h3"}}),C=new U({props:{choices:[{text:"ไม่มีอะไรเกิดขึ้น แต่คุณจะได้รับข้อความ warning",explain:"คุณจะได้ข้อความ warning แต่มันไม่ใช่แค่นั้นนะ!"},{text:"head ของ pretrained model จะถูกตัดทิ้งไป และจะมีการสร้าง head ใหม่ให้เหมาะสมกับ task นั้นขึ้นมาแทนที่",explain:"ถูกต้อง ยกตัวอย่างเช่น เมื่อเราใช้ <code>AutoModelForSequenceClassification</code> กับ <code>bert-base-uncased</code> เราจะได้ข้อความ warnings เพราะ pretrained head นั้นไม่ใช้ในการทำ sequence classification มันจึงถูกตัดทิ้งและมีการสร้าง head ใหม่ขึ้นมาแทน โดยกำหนดค่า weights ขึ้นแบบสุ่ม",correct:!0},{text:"head ของ pretrained model จะถูกตัดทิ้งไป",explain:"ยังมีอีกสิ่งหนึ่งที่จะต้องเกิดขึ้นด้วย ลองใหม่อีกครั้งนะ!"},{text:"ไม่มีอะไรเกิดขึ้น เนื่องจากเราสามารถ fine tune โมเดลให้ทำ task ที่ต่างออกไปได้",explain:"head ของ pretrained model ไม่ได้ถูกเทรนมาให้ทำ task นี้ เราจึงต้องตัดมันทิ้งไป!"}]}}),F=new P({props:{title:"8. ข้อใดคือหน้าที่ของ TrainingArguments ?",local:"8-ขอใดคอหนาทของ-trainingarguments-",headingTag:"h3"}}),M=new U({props:{choices:[{text:"เพื่อเก็บ hyperparameters ทุกตัวที่ใช้ในการเทรนและประเมินผลโมเดลด้วย <code>Trainer</code>",explain:"ถูกต้อง!",correct:!0},{text:"เพื่อกำหนดขนาดของโมเดล",explain:"ขนาดของโมเดลนั้นจะถูกกำหนดโดย model configuration ไม่ใช่ <code>TrainingArguments</code>"},{text:"เพื่อเก็บ hyperparameters ที่ใช้ในการประเมินผลโมเดล",explain:"ในตัวอย่างเราได้กำหนดว่าจะเก็บโมเดลและ checkpoints ไว้ที่ไหนด้วย ลองใหม่อีกครั้ง!"},{text:"เพื่อเก็บ hyperparameters ที่ใช้ในการเทรนโมเดล",explain:"ในตัวอย่างเราได้ใช้ <code>evaluation_strategy</code> ด้วย มันจึงส่งผลต่อการประเมินผลโมเดลด้วย ลองใหม่อีกครั้ง!"}]}}),z=new P({props:{title:"9. ทำไมคุณจึงควรใช้ไลบรารี่ 🤗 Accelerate?",local:"9-ทำไมคณจงควรใชไลบราร--accelerate",headingTag:"h3"}}),D=new U({props:{choices:[{text:"เพื่อเรียกใช้โมเดลที่ทำงานได้เร็วกว่า",explain:"ไม่ใช่นะ ไลบรารี่ 🤗 Accelerate ไม่มีข้อมูลเกี่ยวกับโมเดลเลย"},{text:"มันมี high-level API ให้ใช้ ฉันจึงไม่ต้องเขียนลูปในการเทรนเอง",explain:"ขั้นตอนนั้นเป็นการเรียกใช้ <code>Trainer</code> ไม่ใช่ไลบรารี่ 🤗 Accelerate ลองใหม่อีกครั้ง!"},{text:"ช่วยให้ลูปในการเทรนของคุณใช้การได้กับ distributed setup",explain:"ถูกต้อง! การใช้ 🤗 Accelerate จะช่วยให้ลูปในการเทรนของคุณใช้การได้เมื่อต้องเทรนด้วย GPUs หรือ TPUs หลาย ๆ ตัว",correct:!0},{text:"มันมีฟังก์ชั่น optimization ให้เลือกใช้มากกว่า",explain:"ไม่ใช่นะ ไลบรารี่ 🤗 Accelerate ไม่มีฟังก์ชั่น optimization เลย"}]}}),{c(){p(u.$$.fragment),k=l(),p(g.$$.fragment),T=l(),p(x.$$.fragment),y=l(),p(b.$$.fragment),S=l(),p(w.$$.fragment),q=l(),p(h.$$.fragment),A=l(),p(a.$$.fragment),_=l(),p(C.$$.fragment),E=l(),p(F.$$.fragment),v=l(),p(M.$$.fragment),L=l(),p(z.$$.fragment),H=l(),p(D.$$.fragment)},l(t){f(u.$$.fragment,t),k=$(t),f(g.$$.fragment,t),T=$(t),f(x.$$.fragment,t),y=$(t),f(b.$$.fragment,t),S=$(t),f(w.$$.fragment,t),q=$(t),f(h.$$.fragment,t),A=$(t),f(a.$$.fragment,t),_=$(t),f(C.$$.fragment,t),E=$(t),f(F.$$.fragment,t),v=$(t),f(M.$$.fragment,t),L=$(t),f(z.$$.fragment,t),H=$(t),f(D.$$.fragment,t)},m(t,r){c(u,t,r),i(t,k,r),c(g,t,r),i(t,T,r),c(x,t,r),i(t,y,r),c(b,t,r),i(t,S,r),c(w,t,r),i(t,q,r),c(h,t,r),i(t,A,r),c(a,t,r),i(t,_,r),c(C,t,r),i(t,E,r),c(F,t,r),i(t,v,r),c(M,t,r),i(t,L,r),c(z,t,r),i(t,H,r),c(D,t,r),K=!0},i(t){K||(o(u.$$.fragment,t),o(g.$$.fragment,t),o(x.$$.fragment,t),o(b.$$.fragment,t),o(w.$$.fragment,t),o(h.$$.fragment,t),o(a.$$.fragment,t),o(C.$$.fragment,t),o(F.$$.fragment,t),o(M.$$.fragment,t),o(z.$$.fragment,t),o(D.$$.fragment,t),K=!0)},o(t){m(u.$$.fragment,t),m(g.$$.fragment,t),m(x.$$.fragment,t),m(b.$$.fragment,t),m(w.$$.fragment,t),m(h.$$.fragment,t),m(a.$$.fragment,t),m(C.$$.fragment,t),m(F.$$.fragment,t),m(M.$$.fragment,t),m(z.$$.fragment,t),m(D.$$.fragment,t),K=!1},d(t){t&&(n(k),n(T),n(y),n(S),n(q),n(A),n(_),n(E),n(v),n(L),n(H)),d(u,t),d(g,t),d(x,t),d(b,t),d(w,t),d(h,t),d(a,t),d(C,t),d(F,t),d(M,t),d(z,t),d(D,t)}}}function ge(B){let u,k,g,T,x,y,b,S,w,q,h,A="ทดสอบความรู้ที่คุณได้เรียนมาจากบทนี้กัน!",a,_,C,E,F,v,M,L,z,H,D,K,t,r,X,R,N,I,G,W;x=new fe({props:{fw:B[0]}}),b=new P({props:{title:"คำถามท้ายบท",local:"คำถามทายบท",headingTag:"h1"}}),w=new pe({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}}),_=new P({props:{title:"1. ใน emotion dataset ซึ่งได้รวบรวมข้อความ Twitter ที่มีการ labeled ว่าแต่ละข้อความนั้นเป็นข้อความที่มีอารมณ์แบบใด ลองค้นข้อมูลดูจาก Hub และอ่าน dataset card ดูแล้วตอบว่า ข้อใดไม่ใช่หนึ่งในอารมณ์พื้นฐานของ dataset นี้?",local:"1-ใน-emotion-dataset-ซงไดรวบรวมขอความ-twitter-ทมการ-labeled-วาแตละขอความนนเปนขอความทมอารมณแบบใด-ลองคนขอมลดจาก-hub-และอาน-dataset-card-ดแลวตอบวา-ขอใดไมใชหนงในอารมณพนฐานของ-dataset-น",headingTag:"h3"}}),E=new U({props:{choices:[{text:"Joy",explain:"ลองอีกครั้ง — อารมณ์นี้มีอยู่ใน dataset นะ!"},{text:"Love",explain:"ลองอีกครั้ง — อารมณ์นี้มีอยู่ใน dataset นะ!"},{text:"Confusion",explain:"ถูกต้อง! Confusion ไม่ได้เป็นหนึ่งในหกอารมณ์พื้นฐาน",correct:!0},{text:"Surprise",explain:"Surprise! ยังไม่ถูกนะ ลองใหม่อีกครั้ง!"}]}}),v=new P({props:{title:"2. ลองหาข้อมูล ar_sarcasm dataset ใน Hub ดูว่ามันสามารถทำ Task อะไรได้บ้าง?",local:"2-ลองหาขอมล-arsarcasm-dataset-ใน-hub-ดวามนสามารถทำ-task-อะไรไดบาง",headingTag:"h3"}}),L=new U({props:{choices:[{text:"Sentiment classification (การจำแนกอารมณ์ของข้อความ)",explain:"ถูกต้องเลย! ดีนะที่อ่าน tags.",correct:!0},{text:"Machine translation (การแปลภาษา)",explain:"ยังไม่ถูกนะ — ลองดูข้อมูลใหม่อีกครั้งที่ <a href='https://huggingface.co/datasets/ar_sarcasm'>dataset card</a>!"},{text:"Named entity recognition (การจำแนกหน่วยย่อยของประโยค)",explain:"ยังไม่ถูกนะ — ลองดูข้อมูลใหม่อีกครั้งที่ <a href='https://huggingface.co/datasets/ar_sarcasm'>dataset card</a>!"},{text:"Question answering (การตอบคำถาม)",explain:"ตอบคำถามได้ดีแต่ยังไม่ถูกนะ ลองใหม่อีกครั้ง!"}]}}),H=new P({props:{title:"3. โมเดล BERT ต้องการข้อมูลนำเข้า เป็นคู่ประโยคในลักษณะใด?",local:"3-โมเดล-bert-ตองการขอมลนำเขา-เปนคประโยคในลกษณะใด",headingTag:"h3"}}),K=new U({props:{choices:[{text:"Tokens_of_sentence_1 [SEP] Tokens_of_sentence_2",explain:"คุณต้องใส่ Token พิเศษชื่อ <code>[SEP]</code> เพื่อแยกระหว่างคู่ประโยคด้วย แต่แค่นี้ยังไม่ครบถ้วนนะ!"},{text:"[CLS] Tokens_of_sentence_1 Tokens_of_sentence_2",explain:"คุณต้องใส่ Token พิเศษชื่อ <code>[CLS]</code> ไว้ที่ต้นประโยคแรกด้วย แต่แค่นี้ยังไม่ครบถ้วนนะ!"},{text:"[CLS] Tokens_of_sentence_1 [SEP] Tokens_of_sentence_2 [SEP]",explain:"ถูกต้อง!",correct:!0},{text:"[CLS] Tokens_of_sentence_1 [SEP] Tokens_of_sentence_2",explain:"คุณต้องใส่ Token พิเศษชื่อ <code>[CLS]</code> ไว้ที่ต้นประโยคแรก รวมถึง Token พิเศษชื่อ <code>[SEP]</code> เพื่อแยกระหว่างคู่ประโยค แต่แค่นี้ยังไม่ครบถ้วนนะ!"}]}});const V=[ue,de],Q=[];function Y(e,s){return e[0]==="pt"?0:1}return r=Y(B),X=Q[r]=V[r](B),N=new ce({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter3/6.mdx"}}),{c(){u=j("meta"),k=l(),g=j("p"),T=l(),p(x.$$.fragment),y=l(),p(b.$$.fragment),S=l(),p(w.$$.fragment),q=l(),h=j("p"),h.textContent=A,a=l(),p(_.$$.fragment),C=l(),p(E.$$.fragment),F=l(),p(v.$$.fragment),M=l(),p(L.$$.fragment),z=l(),p(H.$$.fragment),D=l(),p(K.$$.fragment),t=l(),X.c(),R=l(),p(N.$$.fragment),I=l(),G=j("p"),this.h()},l(e){const s=ie("svelte-u9bgzb",document.head);u=J(s,"META",{name:!0,content:!0}),s.forEach(n),k=$(e),g=J(e,"P",{}),ee(g).forEach(n),T=$(e),f(x.$$.fragment,e),y=$(e),f(b.$$.fragment,e),S=$(e),f(w.$$.fragment,e),q=$(e),h=J(e,"P",{"data-svelte-h":!0}),le(h)!=="svelte-g9oqfe"&&(h.textContent=A),a=$(e),f(_.$$.fragment,e),C=$(e),f(E.$$.fragment,e),F=$(e),f(v.$$.fragment,e),M=$(e),f(L.$$.fragment,e),z=$(e),f(H.$$.fragment,e),D=$(e),f(K.$$.fragment,e),t=$(e),X.l(e),R=$(e),f(N.$$.fragment,e),I=$(e),G=J(e,"P",{}),ee(G).forEach(n),this.h()},h(){te(u,"name","hf:doc:metadata"),te(u,"content",xe)},m(e,s){$e(document.head,u),i(e,k,s),i(e,g,s),i(e,T,s),c(x,e,s),i(e,y,s),c(b,e,s),i(e,S,s),c(w,e,s),i(e,q,s),i(e,h,s),i(e,a,s),c(_,e,s),i(e,C,s),c(E,e,s),i(e,F,s),c(v,e,s),i(e,M,s),c(L,e,s),i(e,z,s),c(H,e,s),i(e,D,s),c(K,e,s),i(e,t,s),Q[r].m(e,s),i(e,R,s),c(N,e,s),i(e,I,s),i(e,G,s),W=!0},p(e,[s]){const Z={};s&1&&(Z.fw=e[0]),x.$set(Z);let O=r;r=Y(e),r!==O&&(oe(),m(Q[O],1,1,()=>{Q[O]=null}),me(),X=Q[r],X||(X=Q[r]=V[r](e),X.c()),o(X,1),X.m(R.parentNode,R))},i(e){W||(o(x.$$.fragment,e),o(b.$$.fragment,e),o(w.$$.fragment,e),o(_.$$.fragment,e),o(E.$$.fragment,e),o(v.$$.fragment,e),o(L.$$.fragment,e),o(H.$$.fragment,e),o(K.$$.fragment,e),o(X),o(N.$$.fragment,e),W=!0)},o(e){m(x.$$.fragment,e),m(b.$$.fragment,e),m(w.$$.fragment,e),m(_.$$.fragment,e),m(E.$$.fragment,e),m(v.$$.fragment,e),m(L.$$.fragment,e),m(H.$$.fragment,e),m(K.$$.fragment,e),m(X),m(N.$$.fragment,e),W=!1},d(e){e&&(n(k),n(g),n(T),n(y),n(S),n(q),n(h),n(a),n(C),n(F),n(M),n(z),n(D),n(t),n(R),n(I),n(G)),n(u),d(x,e),d(b,e),d(w,e),d(_,e),d(E,e),d(v,e),d(L,e),d(H,e),d(K,e),Q[r].d(e),d(N,e)}}}const xe='{"title":"คำถามท้ายบท","local":"คำถามทายบท","sections":[{"title":"1. ใน emotion dataset ซึ่งได้รวบรวมข้อความ Twitter ที่มีการ labeled ว่าแต่ละข้อความนั้นเป็นข้อความที่มีอารมณ์แบบใด ลองค้นข้อมูลดูจาก Hub และอ่าน dataset card ดูแล้วตอบว่า ข้อใดไม่ใช่หนึ่งในอารมณ์พื้นฐานของ dataset นี้?","local":"1-ใน-emotion-dataset-ซงไดรวบรวมขอความ-twitter-ทมการ-labeled-วาแตละขอความนนเปนขอความทมอารมณแบบใด-ลองคนขอมลดจาก-hub-และอาน-dataset-card-ดแลวตอบวา-ขอใดไมใชหนงในอารมณพนฐานของ-dataset-น","sections":[],"depth":3},{"title":"2. ลองหาข้อมูล ar_sarcasm dataset ใน Hub ดูว่ามันสามารถทำ Task อะไรได้บ้าง?","local":"2-ลองหาขอมล-arsarcasm-dataset-ใน-hub-ดวามนสามารถทำ-task-อะไรไดบาง","sections":[],"depth":3},{"title":"3. โมเดล BERT ต้องการข้อมูลนำเข้า เป็นคู่ประโยคในลักษณะใด?","local":"3-โมเดล-bert-ตองการขอมลนำเขา-เปนคประโยคในลกษณะใด","sections":[],"depth":3},{"title":"4. ข้อใดเป็นประโยชน์ที่ได้จากการใช้เมธอด Dataset.map() ?","local":"4-ขอใดเปนประโยชนทไดจากการใชเมธอด-datasetmap-","sections":[],"depth":3},{"title":"5. dynamic padding หมายถึงอะไร?","local":"5-dynamic-padding-หมายถงอะไร","sections":[],"depth":3},{"title":"6. ข้อใดคือหน้าที่ของฟังก์ชั่น collate?","local":"6-ขอใดคอหนาทของฟงกชน-collate","sections":[],"depth":3},{"title":"7. จะเกิดอะไรขึ้นถ้าคุณสร้างออพเจ็กต์ของคลาส AutoModelForXxx ตัวหนึ่งซึ่งมี pretrained language model (เช่น bert-base-uncased ) เพื่อนำไปทำ task ที่แตกต่างไปจาก task ที่เคยเทรนไว้?","local":"7-จะเกดอะไรขนถาคณสรางออพเจกตของคลาส-automodelforxxx-ตวหนงซงม-pretrained-language-model-เชน-bert-base-uncased--เพอนำไปทำ-task-ทแตกตางไปจาก-task-ทเคยเทรนไว","sections":[],"depth":3},{"title":"8. ข้อใดคือหน้าที่ของ TrainingArguments ?","local":"8-ขอใดคอหนาทของ-trainingarguments-","sections":[],"depth":3},{"title":"9. ทำไมคุณจึงควรใช้ไลบรารี่ 🤗 Accelerate?","local":"9-ทำไมคณจงควรใชไลบราร--accelerate","sections":[],"depth":3},{"title":"4. จะเกิดอะไรขึ้นถ้าคุณสร้างออพเจ็กต์ของคลาส AutoModelForXxx ตัวหนึ่งซึ่งมี pretrained language model (เช่น bert-base-uncased ) เพื่อนำไปทำ task ที่แตกต่างไปจาก task ที่เคยเทรนไว้?","local":"4-จะเกดอะไรขนถาคณสรางออพเจกตของคลาส-automodelforxxx-ตวหนงซงม-pretrained-language-model-เชน-bert-base-uncased--เพอนำไปทำ-task-ทแตกตางไปจาก-task-ทเคยเทรนไว","sections":[],"depth":3},{"title":"5. โมเดล TensorFlow จาก transformers นั้นเป็นโมเดล Keras อยู่แล้ว การที่เป็นแบบนี้นั้นมีประโยชน์อะไรบ้าง?","local":"5-โมเดล-tensorflow-จาก-transformers-นนเปนโมเดล-keras-อยแลว-การทเปนแบบนนนมประโยชนอะไรบาง","sections":[],"depth":3},{"title":"6. คุณสามารถสร้าง metric ของคุณเองได้อย่างไร?","local":"6-คณสามารถสราง-metric-ของคณเองไดอยางไร","sections":[],"depth":3}],"depth":1}';function _e(B,u,k){let g="pt";return ne(()=>{const T=new URLSearchParams(window.location.search);k(0,g=T.get("fw")||"pt")}),[g]}class Se extends re{constructor(u){super(),se(this,u,_e,ge,ae,{})}}export{Se as component}; | |
Xet Storage Details
- Size:
- 31.7 kB
- Xet hash:
- 0d2d05ca52ad511877718c540ccacc430b5faa1ef71c7802c336e16cfb4148ed
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.