อเมซอน SageMaker ให้ชุดของ อัลกอริทึมในตัว, รุ่นก่อนการฝึกอบรมและ เทมเพลตโซลูชันที่สร้างไว้ล่วงหน้า เพื่อช่วยให้นักวิทยาศาสตร์ข้อมูลและผู้ปฏิบัติงานการเรียนรู้ของเครื่อง (ML) เริ่มต้นการฝึกอบรมและปรับใช้โมเดล ML ได้อย่างรวดเร็ว คุณสามารถใช้อัลกอริธึมและแบบจำลองเหล่านี้สำหรับการเรียนรู้ทั้งแบบมีผู้สอนและแบบไม่มีผู้ดูแล พวกเขาสามารถประมวลผลข้อมูลอินพุตประเภทต่างๆ รวมทั้งแบบตาราง รูปภาพ และข้อความ
โพสต์นี้เป็นโพสต์ที่สองในซีรีส์เกี่ยวกับอัลกอริธึมในตัวใหม่ใน SageMaker ใน โพสต์แรกเราแสดงให้เห็นว่า SageMaker มีอัลกอริทึมในตัวสำหรับการจัดประเภทรูปภาพอย่างไร วันนี้ เราประกาศให้ทราบว่า SageMaker มีอัลกอริทึมในตัวแบบใหม่สำหรับการตรวจหาวัตถุโดยใช้ TensorFlow อัลกอริธึมการเรียนรู้ภายใต้การดูแลนี้สนับสนุนการถ่ายโอนการเรียนรู้สำหรับโมเดลก่อนการฝึกอบรมจำนวนมากที่มีอยู่ใน TensorFlow ใช้ภาพเป็นอินพุตและส่งออกวัตถุที่มีอยู่ในภาพพร้อมกับกรอบล้อมรอบ คุณสามารถปรับแต่งโมเดลที่ฝึกไว้ล่วงหน้าเหล่านี้ได้โดยใช้การเรียนรู้แบบโอนย้าย แม้ว่าจะไม่มีรูปภาพการฝึกหัดจำนวนมากก็ตาม มีให้บริการผ่าน SageMaker อัลกอริทึมในตัว ตลอดจนผ่านไฟล์ UI JumpStart ของ SageMaker in สตูดิโอ Amazon SageMaker. สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เทนเซอร์โฟลว์การตรวจจับวัตถุ และสมุดตัวอย่าง ข้อมูลเบื้องต้นเกี่ยวกับ SageMaker Tensorflow – การตรวจจับวัตถุ.
การตรวจจับวัตถุด้วย TensorFlow ใน SageMaker ให้การถ่ายโอนการเรียนรู้ในโมเดลที่ผ่านการฝึกอบรมล่วงหน้าจำนวนมากที่มีอยู่ใน TensorFlow Hub ตามจำนวนป้ายกำกับคลาสในข้อมูลการฝึก หัวตรวจจับวัตถุที่เริ่มต้นแบบสุ่มใหม่จะเข้ามาแทนที่ส่วนหัวที่มีอยู่ของโมเดล TensorFlow เครือข่ายทั้งหมด รวมถึงโมเดลที่ฝึกไว้ล่วงหน้า หรือเฉพาะชั้นบนสุด (หัวตรวจจับวัตถุ) ที่สามารถปรับแต่งข้อมูลการฝึกใหม่ได้ ในโหมดการเรียนรู้การถ่ายโอนนี้ คุณสามารถทำการฝึกอบรมได้แม้จะใช้ชุดข้อมูลที่เล็กกว่า
วิธีใช้อัลกอริธึมการตรวจจับวัตถุ TensorFlow ใหม่
ส่วนนี้อธิบายวิธีการใช้อัลกอริธึมการตรวจจับวัตถุ TensorFlow กับ SageMaker Python SDK. สำหรับข้อมูลเกี่ยวกับวิธีการใช้งานจาก Studio UI โปรดดูที่ SageMaker JumpStart.
อัลกอริธึมรองรับการถ่ายโอนการเรียนรู้สำหรับโมเดลที่ได้รับการฝึกฝนล่วงหน้าซึ่งระบุไว้ใน รุ่น TensorFlow. แต่ละรุ่นจะถูกระบุโดยที่ไม่ซ้ำกัน model_id
. รหัสต่อไปนี้แสดงวิธีการปรับแต่งโมเดล FPN ResNet50 V1 ที่ระบุโดย model_id
tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8
ในชุดข้อมูลการฝึกอบรมที่กำหนดเอง แต่ละ model_id
เพื่อเปิดงานฝึกอบรม SageMaker ผ่าน ประมาณการ คลาสของ SageMaker Python SDK คุณต้องดึง URI อิมเมจ Docker, URI สคริปต์การฝึกอบรม และ URI ของโมเดลที่ผ่านการฝึกอบรมล่วงหน้าผ่านฟังก์ชันยูทิลิตี้ที่มีให้ใน SageMaker URI สคริปต์การฝึกอบรมประกอบด้วยโค้ดที่จำเป็นทั้งหมดสำหรับการประมวลผลข้อมูล การโหลดโมเดลที่ฝึกไว้ล่วงหน้า การฝึกโมเดล และการบันทึกโมเดลที่ผ่านการฝึกอบรมสำหรับการอนุมาน URI ของโมเดลที่ฝึกไว้ล่วงหน้าประกอบด้วยคำจำกัดความของสถาปัตยกรรมโมเดลที่ฝึกไว้ล่วงหน้าและพารามิเตอร์ของโมเดล โปรดทราบว่า URI อิมเมจ Docker และ URI สคริปต์การฝึกจะเหมือนกันสำหรับโมเดลการตรวจจับวัตถุ TensorFlow ทั้งหมด URI ของโมเดลที่ฝึกไว้ล่วงหน้านั้นจำเพาะสำหรับโมเดลนั้นๆ tarball รุ่นที่ได้รับการฝึกอบรมล่วงหน้าได้รับการดาวน์โหลดล่วงหน้าจาก TensorFlow และบันทึกด้วยลายเซ็นรุ่นที่เหมาะสมใน บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon บัคเก็ต (Amazon S3) เพื่อให้งานการฝึกอบรมทำงานในการแยกเครือข่าย ดูรหัสต่อไปนี้:
ด้วยสิ่งประดิษฐ์การฝึกอบรมเฉพาะรุ่นเหล่านี้ คุณสามารถสร้างวัตถุของ ประมาณการ ระดับ:
ถัดไป สำหรับการถ่ายโอนการเรียนรู้ในชุดข้อมูลที่คุณกำหนดเอง คุณอาจต้องเปลี่ยนค่าเริ่มต้นของไฮเปอร์พารามิเตอร์การฝึก ซึ่งแสดงอยู่ใน ไฮเปอร์พารามิเตอร์. คุณสามารถดึงพจนานุกรม Python ของไฮเปอร์พารามิเตอร์เหล่านี้ด้วยค่าเริ่มต้นได้โดยการเรียก hyperparameters.retrieve_default
อัปเดตตามต้องการ แล้วส่งต่อไปยังคลาส Estimator โปรดทราบว่าค่าเริ่มต้นของไฮเปอร์พารามิเตอร์บางตัวจะแตกต่างกันสำหรับรุ่นต่างๆ สำหรับรุ่นใหญ่ ขนาดแบทช์เริ่มต้นจะเล็กกว่าและ train_only_top_layer
ไฮเปอร์พารามิเตอร์ถูกตั้งค่าเป็น True
. ไฮเปอร์พารามิเตอร์ train_only_top_layer
กำหนดว่าพารามิเตอร์รุ่นใดเปลี่ยนแปลงระหว่างกระบวนการปรับแต่ง ถ้า train_only_top_layer
is True
พารามิเตอร์ของชั้นการจำแนกประเภทจะเปลี่ยนไปและพารามิเตอร์ที่เหลือจะคงที่ในระหว่างกระบวนการปรับแต่ง ในทางกลับกัน ถ้า train_only_top_layer
is False
, พารามิเตอร์ทั้งหมดของโมเดลได้รับการปรับแต่งอย่างละเอียด ดูรหัสต่อไปนี้:
เราให้บริการ ชุดข้อมูล PennFudanPed เป็นชุดข้อมูลเริ่มต้นสำหรับการปรับแต่งโมเดลอย่างละเอียด ชุดข้อมูลประกอบด้วยภาพคนเดินเท้า รหัสต่อไปนี้จัดเตรียมชุดข้อมูลการฝึกเริ่มต้นที่โฮสต์ในบัคเก็ต S3:
สุดท้าย ในการเปิดงานฝึกอบรม SageMaker เพื่อปรับแต่งโมเดล ให้โทร .fit
บนวัตถุของคลาส Estimator ขณะส่งตำแหน่ง S3 ของชุดข้อมูลการฝึกอบรม:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้อัลกอริธึมการตรวจจับวัตถุ SageMaker TensorFlow ใหม่สำหรับการถ่ายโอนการเรียนรู้ในชุดข้อมูลที่กำหนดเอง ปรับใช้โมเดลที่ปรับแต่งอย่างละเอียด เรียกใช้การอนุมานบนโมเดลที่ปรับใช้ และปรับใช้โมเดลที่ได้รับการฝึกล่วงหน้าตามที่เป็นอยู่โดยไม่ต้องปรับละเอียดในครั้งแรก ในชุดข้อมูลที่กำหนดเอง ดูตัวอย่างสมุดบันทึกต่อไปนี้: ข้อมูลเบื้องต้นเกี่ยวกับ SageMaker TensorFlow – การตรวจจับวัตถุ.
อินเทอร์เฟซอินพุต/เอาต์พุตสำหรับอัลกอริธึมการตรวจจับวัตถุ TensorFlow
คุณสามารถปรับแต่งรุ่นที่ได้รับการฝึกฝนไว้ล่วงหน้าแต่ละรายการใน แบบจำลองเทนเซอร์โฟลว์ ให้กับชุดข้อมูลใดๆ ที่ประกอบด้วยรูปภาพที่เป็นของคลาสจำนวนเท่าใดก็ได้ มีวัตถุประสงค์เพื่อลดข้อผิดพลาดในการทำนายข้อมูลที่ป้อนเข้า โมเดลที่ส่งคืนโดยการปรับแต่งแบบละเอียดสามารถนำไปปรับใช้เพิ่มเติมสำหรับการอนุมานได้ ต่อไปนี้เป็นคำแนะนำสำหรับวิธีจัดรูปแบบข้อมูลการฝึกอบรมสำหรับการป้อนข้อมูลลงในแบบจำลอง:
- อินพุต – ไดเร็กทอรีที่มีภาพไดเร็กทอรีย่อยและไฟล์
annotations.json
. - เอาท์พุต - มี XNUMX เอาต์พุต อย่างแรกคือโมเดลที่ปรับแต่งอย่างละเอียด ซึ่งสามารถปรับใช้สำหรับการอนุมานหรือฝึกฝนเพิ่มเติมโดยใช้การฝึกอบรมแบบเพิ่มหน่วย ประการที่สองคือไฟล์ที่แมปดัชนีคลาสกับป้ายกำกับคลาส นี้จะถูกบันทึกไว้พร้อมกับแบบจำลอง
ไดเร็กทอรีอินพุตควรมีลักษณะดังนี้:
พื้นที่ annotations.json
ไฟล์ควรมีข้อมูลสำหรับ bounding_boxes
และป้ายชื่อชั้นเรียน ควรมีพจนานุกรมพร้อมกุญแจ "images"
และ "annotations"
. ค่าของ "images"
คีย์ควรเป็นรายการหนึ่งรายการสำหรับแต่ละรูปของแบบฟอร์ม {"file_name": image_name, "height": height, "width": width, "id": image_id}
. ค่าของ "annotations"
คีย์ควรเป็นรายการของรายการหนึ่งรายการสำหรับแต่ละกรอบของฟอร์ม {"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}
.
การอนุมานด้วยอัลกอริธึมการตรวจจับวัตถุ TensorFlow
โมเดลที่สร้างขึ้นสามารถโฮสต์สำหรับการอนุมานและสนับสนุนรูปแบบภาพที่เข้ารหัส .jpg, .jpeg และ .png เป็น application/x-image
ชนิดของเนื้อหา. ภาพที่ป้อนจะถูกปรับขนาดโดยอัตโนมัติ ผลลัพธ์ประกอบด้วยกล่อง คลาสที่ทำนาย และคะแนนสำหรับการทำนายแต่ละรายการ โมเดลการตรวจจับวัตถุ TensorFlow ประมวลผลภาพเดียวต่อคำขอ และส่งออกเพียงบรรทัดเดียวใน JSON ต่อไปนี้เป็นตัวอย่างการตอบสนองใน JSON:
If accept
ถูกตั้งค่าเป็น application/json
จากนั้นโมเดลจะแสดงเฉพาะกล่อง คลาส และคะแนนที่คาดการณ์ไว้เท่านั้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการฝึกอบรมและการอนุมาน ดูตัวอย่างสมุดบันทึก ข้อมูลเบื้องต้นเกี่ยวกับ SageMaker TensorFlow – การตรวจจับวัตถุ.
ใช้อัลกอริทึมในตัวของ SageMaker ผ่าน JumpStart UI
คุณยังสามารถใช้การตรวจจับวัตถุ SageMaker TensorFlow และอัลกอริธึมในตัวอื่นๆ ได้ด้วยการคลิกเพียงไม่กี่ครั้งผ่าน JumpStart UI JumpStart เป็นฟีเจอร์ของ SageMaker ที่ให้คุณฝึกและปรับใช้อัลกอริทึมในตัวและโมเดลที่ผ่านการฝึกอบรมล่วงหน้าจากเฟรมเวิร์ก ML ต่างๆ และฮับโมเดลผ่านอินเทอร์เฟซแบบกราฟิก นอกจากนี้ยังช่วยให้คุณสามารถปรับใช้โซลูชัน ML ที่มีคุณสมบัติครบถ้วนที่รวมโมเดล ML และบริการของ AWS อื่นๆ เข้าด้วยกันเพื่อแก้ไขกรณีการใช้งานที่เป็นเป้าหมาย
ต่อไปนี้คือวิดีโอสองวิดีโอที่แสดงให้เห็นว่าคุณสามารถจำลองกระบวนการปรับแต่งและปรับใช้แบบเดียวกันได้อย่างไร ซึ่งเราเพิ่งดำเนินการไปด้วยการคลิกเพียงไม่กี่ครั้งผ่าน JumpStart UI
ปรับแต่งโมเดลที่ฝึกไว้ล่วงหน้าอย่างละเอียด
นี่คือขั้นตอนในการปรับแต่งโมเดลการตรวจจับวัตถุที่ฝึกไว้ล่วงหน้าแบบเดียวกันอย่างละเอียด
ปรับใช้แบบจำลองที่ปรับแต่งแล้ว
หลังจากการฝึกโมเดลเสร็จสิ้น คุณสามารถปรับใช้โมเดลกับปลายทางแบบเรียลไทม์ที่คงอยู่ได้โดยตรงด้วยการคลิกเพียงครั้งเดียว
สรุป
ในโพสต์นี้ เราได้ประกาศเปิดตัวอัลกอริธึมการตรวจหาวัตถุ SageMaker TensorFlow เราได้จัดเตรียมโค้ดตัวอย่างเกี่ยวกับวิธีการถ่ายโอนการเรียนรู้ในชุดข้อมูลที่กำหนดเองโดยใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าจาก TensorFlow โดยใช้อัลกอริธึมนี้
สำหรับข้อมูลเพิ่มเติมตรวจสอบ เอกสาร และ ตัวอย่างโน๊ตบุ๊ค.
เกี่ยวกับผู้แต่ง
ดร.วิเวก มะดัน เป็นนักวิทยาศาสตร์ประยุกต์กับ ทีม Amazon SageMaker JumpStart. เขาสำเร็จการศึกษาระดับปริญญาเอกจากมหาวิทยาลัยอิลลินอยส์ Urbana-Champaign และเป็นนักวิจัยหลังปริญญาเอกที่ Georgia Tech เขาเป็นนักวิจัยเชิงรุกด้านการเรียนรู้ของเครื่องและการออกแบบอัลกอริธึม และได้ตีพิมพ์เอกสารในการประชุม EMNLP, ICLR, COLT, FOCS และ SODA
ชูเอา มูร่า เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญ AI/ML ที่ Amazon Web Services เขามุ่งเน้นไปที่กรณีการใช้งาน NLP เป็นส่วนใหญ่ และช่วยให้ลูกค้าปรับการฝึกอบรมและปรับใช้โมเดลการเรียนรู้เชิงลึกให้เหมาะสมที่สุด เขายังเป็นผู้สนับสนุนโซลูชัน ML แบบ low-code และฮาร์ดแวร์เฉพาะสำหรับ ML
ดร. Ashish Khetan เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสด้วย อัลกอริทึมในตัวของ Amazon SageMaker และช่วยพัฒนาอัลกอริธึมการเรียนรู้ของเครื่อง เขาได้รับปริญญาเอกจากมหาวิทยาลัยอิลลินอยส์เออร์บานาแชมเปญ เขาเป็นนักวิจัยเชิงรุกด้านการเรียนรู้ของเครื่องและการอนุมานทางสถิติ และได้ตีพิมพ์บทความจำนวนมากในการประชุม NeurIPS, ICML, ICLR, JMLR, ACL และ EMNLP
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน SageMaker
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- รองพื้น (100)
- google ai
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล