Buckets:

rtrm's picture
download
raw
32 kB
import{s as re,o as ie}from"../chunks/scheduler.505acc25.js";import{S as se,i as le,e as O,s as l,c as p,h as $e,a as V,d as n,b as $,f as ae,g as f,j as me,k as ne,l as oe,m as i,n as c,o as m,q as pe,t as o,p as d,r as fe}from"../chunks/index.17dd9071.js";import{C as ce,H as P,E as de}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.2fb8816f.js";import{C as ue}from"../chunks/CourseFloatingBanner.9496b79e.js";import{Q as U}from"../chunks/Question.ef1b4c7a.js";import{F as ge}from"../chunks/FrameworkSwitchCourse.7aa4b983.js";function xe(N){let u,h,g,T,x,y,_,S,b,q,w,C;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"}}),_=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"}]}}),b=new P({props:{title:"6. คุณสามารถสร้าง metric ของคุณเองได้อย่างไร?",local:"6-คณสามารถสราง-metric-ของคณเองไดอยางไร",headingTag:"h3"}}),w=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),h=l(),p(g.$$.fragment),T=l(),p(x.$$.fragment),y=l(),p(_.$$.fragment),S=l(),p(b.$$.fragment),q=l(),p(w.$$.fragment)},l(a){f(u.$$.fragment,a),h=$(a),f(g.$$.fragment,a),T=$(a),f(x.$$.fragment,a),y=$(a),f(_.$$.fragment,a),S=$(a),f(b.$$.fragment,a),q=$(a),f(w.$$.fragment,a)},m(a,k){c(u,a,k),i(a,h,k),c(g,a,k),i(a,T,k),c(x,a,k),i(a,y,k),c(_,a,k),i(a,S,k),c(b,a,k),i(a,q,k),c(w,a,k),C=!0},i(a){C||(o(u.$$.fragment,a),o(g.$$.fragment,a),o(x.$$.fragment,a),o(_.$$.fragment,a),o(b.$$.fragment,a),o(w.$$.fragment,a),C=!0)},o(a){m(u.$$.fragment,a),m(g.$$.fragment,a),m(x.$$.fragment,a),m(_.$$.fragment,a),m(b.$$.fragment,a),m(w.$$.fragment,a),C=!1},d(a){a&&(n(h),n(T),n(y),n(S),n(q)),d(u,a),d(g,a),d(x,a),d(_,a),d(b,a),d(w,a)}}}function _e(N){let u,h,g,T,x,y,_,S,b,q,w,C,a,k,A,E,M,F,v,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"}}),_=new U({props:{choices:[{text:"หมายถึงการเติมข้อมูลในแต่ละ batch ให้เท่ากับข้อมูลที่ยาวที่สุดใน dataset",explain:"มันมีการเติมข้อมูลในแต่ละ batch นะ แต่ไม่ได้เติมให้เท่ากับข้อมูลที่ยาวที่สุดใน dataset"},{text:"หมายถึงการเติมข้อมูลในแต่ละ batch ให้เท่ากับข้อมูลที่ยาวที่สุดใน batch นั้น",explain:'ถูกต้อง! คำว่า "dynamic" มีที่มาจากการที่ขนาดของแต่ละ batch นั้นมีความแตกต่างกันและถูกกำหนดเมื่อสร้างแต่ละ batch',correct:!0},{text:"หมายถึงการเติมข้อมูลเพื่อให้แต่ละประโยคมีจำนวน token เท่ากับประโยคก่อนหน้าใน dataset.",explain:"นั่นไม่ถูกต้องนะ และมันก็ไม่สมเหตุสมผลที่จะไปดูข้อมูลของประโยคก่อนหน้า เพราะเราจะมีการ shuffle ข้อมูลระหว่างการเทรนโมเดลด้วย"}]}}),b=new P({props:{title:"6. ข้อใดคือหน้าที่ของฟังก์ชั่น collate?",local:"6-ขอใดคอหนาทของฟงกชน-collate",headingTag:"h3"}}),w=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"}}),A=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 นี้ เราจึงต้องตัดมันทิ้งไป!"}]}}),M=new P({props:{title:"8. ข้อใดคือหน้าที่ของ TrainingArguments ?",local:"8-ขอใดคอหนาทของ-trainingarguments-",headingTag:"h3"}}),v=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),h=l(),p(g.$$.fragment),T=l(),p(x.$$.fragment),y=l(),p(_.$$.fragment),S=l(),p(b.$$.fragment),q=l(),p(w.$$.fragment),C=l(),p(a.$$.fragment),k=l(),p(A.$$.fragment),E=l(),p(M.$$.fragment),F=l(),p(v.$$.fragment),L=l(),p(z.$$.fragment),H=l(),p(D.$$.fragment)},l(t){f(u.$$.fragment,t),h=$(t),f(g.$$.fragment,t),T=$(t),f(x.$$.fragment,t),y=$(t),f(_.$$.fragment,t),S=$(t),f(b.$$.fragment,t),q=$(t),f(w.$$.fragment,t),C=$(t),f(a.$$.fragment,t),k=$(t),f(A.$$.fragment,t),E=$(t),f(M.$$.fragment,t),F=$(t),f(v.$$.fragment,t),L=$(t),f(z.$$.fragment,t),H=$(t),f(D.$$.fragment,t)},m(t,s){c(u,t,s),i(t,h,s),c(g,t,s),i(t,T,s),c(x,t,s),i(t,y,s),c(_,t,s),i(t,S,s),c(b,t,s),i(t,q,s),c(w,t,s),i(t,C,s),c(a,t,s),i(t,k,s),c(A,t,s),i(t,E,s),c(M,t,s),i(t,F,s),c(v,t,s),i(t,L,s),c(z,t,s),i(t,H,s),c(D,t,s),K=!0},i(t){K||(o(u.$$.fragment,t),o(g.$$.fragment,t),o(x.$$.fragment,t),o(_.$$.fragment,t),o(b.$$.fragment,t),o(w.$$.fragment,t),o(a.$$.fragment,t),o(A.$$.fragment,t),o(M.$$.fragment,t),o(v.$$.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(_.$$.fragment,t),m(b.$$.fragment,t),m(w.$$.fragment,t),m(a.$$.fragment,t),m(A.$$.fragment,t),m(M.$$.fragment,t),m(v.$$.fragment,t),m(z.$$.fragment,t),m(D.$$.fragment,t),K=!1},d(t){t&&(n(h),n(T),n(y),n(S),n(q),n(C),n(k),n(E),n(F),n(L),n(H)),d(u,t),d(g,t),d(x,t),d(_,t),d(b,t),d(w,t),d(a,t),d(A,t),d(M,t),d(v,t),d(z,t),d(D,t)}}}function be(N){let u,h,g,T,x,y,_,S,b,q,w,C,a,k="ทดสอบความรู้ที่คุณได้เรียนมาจากบทนี้กัน!",A,E,M,F,v,L,z,H,D,K,t,s,W,X,B,G,Q,j,I,J;x=new ge({props:{fw:N[0]}}),_=new ce({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),b=new P({props:{title:"คำถามท้ายบท",local:"คำถามทายบท",headingTag:"h1"}}),w=new ue({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}}),E=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"}}),F=new U({props:{choices:[{text:"Joy",explain:"ลองอีกครั้ง — อารมณ์นี้มีอยู่ใน dataset นะ!"},{text:"Love",explain:"ลองอีกครั้ง — อารมณ์นี้มีอยู่ใน dataset นะ!"},{text:"Confusion",explain:"ถูกต้อง! Confusion ไม่ได้เป็นหนึ่งในหกอารมณ์พื้นฐาน",correct:!0},{text:"Surprise",explain:"Surprise! ยังไม่ถูกนะ ลองใหม่อีกครั้ง!"}]}}),L=new P({props:{title:"2. ลองหาข้อมูล ar_sarcasm dataset ใน Hub ดูว่ามันสามารถทำ Task อะไรได้บ้าง?",local:"2-ลองหาขอมล-arsarcasm-dataset-ใน-hub-ดวามนสามารถทำ-task-อะไรไดบาง",headingTag:"h3"}}),H=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:"ตอบคำถามได้ดีแต่ยังไม่ถูกนะ ลองใหม่อีกครั้ง!"}]}}),K=new P({props:{title:"3. โมเดล BERT ต้องการข้อมูลนำเข้า เป็นคู่ประโยคในลักษณะใด?",local:"3-โมเดล-bert-ตองการขอมลนำเขา-เปนคประโยคในลกษณะใด",headingTag:"h3"}}),s=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 Z=[_e,xe],R=[];function ee(e,r){return e[0]==="pt"?0:1}return X=ee(N),B=R[X]=Z[X](N),Q=new de({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter3/6.mdx"}}),{c(){u=O("meta"),h=l(),g=O("p"),T=l(),p(x.$$.fragment),y=l(),p(_.$$.fragment),S=l(),p(b.$$.fragment),q=l(),p(w.$$.fragment),C=l(),a=O("p"),a.textContent=k,A=l(),p(E.$$.fragment),M=l(),p(F.$$.fragment),v=l(),p(L.$$.fragment),z=l(),p(H.$$.fragment),D=l(),p(K.$$.fragment),t=l(),p(s.$$.fragment),W=l(),B.c(),G=l(),p(Q.$$.fragment),j=l(),I=O("p"),this.h()},l(e){const r=$e("svelte-u9bgzb",document.head);u=V(r,"META",{name:!0,content:!0}),r.forEach(n),h=$(e),g=V(e,"P",{}),ae(g).forEach(n),T=$(e),f(x.$$.fragment,e),y=$(e),f(_.$$.fragment,e),S=$(e),f(b.$$.fragment,e),q=$(e),f(w.$$.fragment,e),C=$(e),a=V(e,"P",{"data-svelte-h":!0}),me(a)!=="svelte-g9oqfe"&&(a.textContent=k),A=$(e),f(E.$$.fragment,e),M=$(e),f(F.$$.fragment,e),v=$(e),f(L.$$.fragment,e),z=$(e),f(H.$$.fragment,e),D=$(e),f(K.$$.fragment,e),t=$(e),f(s.$$.fragment,e),W=$(e),B.l(e),G=$(e),f(Q.$$.fragment,e),j=$(e),I=V(e,"P",{}),ae(I).forEach(n),this.h()},h(){ne(u,"name","hf:doc:metadata"),ne(u,"content",we)},m(e,r){oe(document.head,u),i(e,h,r),i(e,g,r),i(e,T,r),c(x,e,r),i(e,y,r),c(_,e,r),i(e,S,r),c(b,e,r),i(e,q,r),c(w,e,r),i(e,C,r),i(e,a,r),i(e,A,r),c(E,e,r),i(e,M,r),c(F,e,r),i(e,v,r),c(L,e,r),i(e,z,r),c(H,e,r),i(e,D,r),c(K,e,r),i(e,t,r),c(s,e,r),i(e,W,r),R[X].m(e,r),i(e,G,r),c(Q,e,r),i(e,j,r),i(e,I,r),J=!0},p(e,[r]){const te={};r&1&&(te.fw=e[0]),x.$set(te);let Y=X;X=ee(e),X!==Y&&(fe(),m(R[Y],1,1,()=>{R[Y]=null}),pe(),B=R[X],B||(B=R[X]=Z[X](e),B.c()),o(B,1),B.m(G.parentNode,G))},i(e){J||(o(x.$$.fragment,e),o(_.$$.fragment,e),o(b.$$.fragment,e),o(w.$$.fragment,e),o(E.$$.fragment,e),o(F.$$.fragment,e),o(L.$$.fragment,e),o(H.$$.fragment,e),o(K.$$.fragment,e),o(s.$$.fragment,e),o(B),o(Q.$$.fragment,e),J=!0)},o(e){m(x.$$.fragment,e),m(_.$$.fragment,e),m(b.$$.fragment,e),m(w.$$.fragment,e),m(E.$$.fragment,e),m(F.$$.fragment,e),m(L.$$.fragment,e),m(H.$$.fragment,e),m(K.$$.fragment,e),m(s.$$.fragment,e),m(B),m(Q.$$.fragment,e),J=!1},d(e){e&&(n(h),n(g),n(T),n(y),n(S),n(q),n(C),n(a),n(A),n(M),n(v),n(z),n(D),n(t),n(W),n(G),n(j),n(I)),n(u),d(x,e),d(_,e),d(b,e),d(w,e),d(E,e),d(F,e),d(L,e),d(H,e),d(K,e),d(s,e),R[X].d(e),d(Q,e)}}}const we='{"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 ke(N,u,h){let g="pt";return ie(()=>{const T=new URLSearchParams(window.location.search);h(0,g=T.get("fw")||"pt")}),[g]}class Pe extends se{constructor(u){super(),le(this,u,ke,be,re,{})}}export{Pe as component};

Xet Storage Details

Size:
32 kB
·
Xet hash:
346948beb84372da4fc0e52e0ba37aa5176bd81bff8b4b25da210b741a1f61cd

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.