นี่คือรหัสที่สอดคล้องกันสำหรับหนังสือ "Deep Learning Framework Pytorch: การเริ่มต้นและฝึกฝน (ฉบับที่ 2)" แต่ยังสามารถใช้เป็นคู่มือผู้เริ่มต้นและการสอนที่เป็นอิสระ
การอัพเกรดใหม่
ฉบับที่สองของหนังสือเล่มนี้ได้รับการอัพเกรดใหม่ตามรุ่นแรกและรหัสของหนังสือเล่มนี้เขียนขึ้นตามรุ่นที่ 1 ของ Pytorch เวอร์ชัน 1.8 มันได้รับการปรับปรุงอย่างครอบคลุมร่วมกับความคิดเห็นของผู้อ่านรุ่นแรกรวมถึงสามโมดูล: การใช้งานขั้นพื้นฐานการขยายขั้นสูงและแอปพลิเคชันที่ใช้งานได้จริง
เนื้อหา
เนื้อหาของหนังสือเล่มนี้ (การสอน/ที่เก็บ) แสดงในรูป: 
จะเห็นได้ว่าบทช่วยสอนนี้สามารถแบ่งออกเป็นสามส่วน:
การใช้งานขั้นพื้นฐาน (บทที่ 2 ถึง 5) อธิบายเนื้อหาของ Pytorch ส่วนนี้แนะนำโมดูลหลักใน Pytorch และเครื่องมือที่ใช้กันทั่วไปในการเรียนรู้อย่างลึกซึ้ง สำหรับส่วนนี้ของเนื้อหาที่นี่เราใช้ Jupyter Notebook เป็นเครื่องมือการสอนและผู้อ่านสามารถแก้ไขและเรียกใช้สมุดบันทึกและทดสอบซ้ำ ๆ
- บทที่ 2 แนะนำการติดตั้ง pytorch และการกำหนดค่าของสภาพแวดล้อมการเรียนรู้ที่เกี่ยวข้อง ในเวลาเดียวกันบทนี้แนะนำเนื้อหาหลักของ Pytorch ในลักษณะที่จะช่วยให้ผู้อ่านได้รับความเข้าใจเบื้องต้นเกี่ยวกับ Pytorch
- บทที่ 3 แนะนำการใช้เทนเซอร์อาร์เรย์หลายมิติและระบบความแตกต่างอัตโนมัติอัตโนมัติใน pytorch และให้ตัวอย่างของวิธีการใช้เทนเซอร์และ autograd เพื่อให้ได้การถดถอยเชิงเส้นและเปรียบเทียบความแตกต่าง บทนี้วิเคราะห์โครงสร้างพื้นฐานของเทนเซอร์และหลักการของ Autograd เพื่อช่วยให้ผู้อ่านเข้าใจโมดูลพื้นฐานของ Pytorch ได้ครอบคลุมมากขึ้น
- บทที่ 4 แนะนำการใช้งานขั้นพื้นฐานของโมดูลเครือข่ายประสาท NN ใน Pytorch อธิบายเลเยอร์ฟังก์ชั่นการเปิดใช้งานฟังก์ชั่นการสูญเสียและการปรับให้เหมาะสมในเครือข่ายประสาทและทำให้ผู้อ่านใช้รหัสน้อยกว่า 50 บรรทัดเพื่อใช้โครงสร้างเครือข่ายคลาสสิก
- บทที่ 5 แนะนำเครื่องมือเช่นการโหลดข้อมูลโมเดลการฝึกอบรมล่วงหน้าเครื่องมือสร้างภาพและการเร่งความเร็ว GPU ใน Pytorch การใช้เครื่องมือเหล่านี้อย่างมีเหตุผลสามารถปรับปรุงประสิทธิภาพการเขียนโปรแกรมของผู้ใช้
ส่วนขยายขั้นสูง (บทที่ 6-8) อธิบายส่วนขยายขั้นสูงบางส่วนใน Pytorch การเรียนรู้ส่วนนี้สามารถช่วยให้ผู้อ่านเขียนโปรแกรมที่มีประสิทธิภาพมากขึ้น
- บทที่ 6 แนะนำแนวคิดการทำให้เป็นเวกเตอร์ใน Pytorch ส่วนใหญ่รวมถึงกฎการออกอากาศดัชนีพื้นฐานดัชนีขั้นสูงและการดำเนินงานของ Einstein ในตอนท้ายของบทนี้ผู้อ่านนำไปใช้แนวคิดการทำให้เป็นเวกเตอร์เพื่อใช้การดำเนินงานแบบ convolutional, interleving, ROI จัดตำแหน่งและการดำเนินการที่ไม่ซ้ำกันในการเรียนรู้อย่างลึกซึ้ง
- บทที่ 7 แนะนำการดำเนินการแบบกระจายใน Pytorch การคำนวณแบบกระจายและการคำนวณแบบขนานสามารถเร่งกระบวนการฝึกอบรมของเครือข่าย บทนี้แนะนำรายละเอียดเกี่ยวกับหลักการพื้นฐานของการคำนวณแบบขนานและการคำนวณแบบกระจายและยังแนะนำวิธีการใช้คบเพลิงแจกจ่ายและ Horovod สำหรับการฝึกอบรมแบบกระจายของ Pytorch
- บทที่ 8 แนะนำส่วนขยายของ CUDA ใน Pytorch ผู้อ่านชั้นนำให้ใช้ CUDA เพื่อใช้ฟังก์ชั่น sigmoid ในเวลาเดียวกันบทนี้สรุปความสัมพันธ์ระหว่าง Cuda, Nvidia-Driver, Cudnn และ Python
แอปพลิเคชั่นที่ใช้งานได้จริง (บทที่ 9-13) ใช้ Pytorch เพื่อใช้แอปพลิเคชั่นที่ยอดเยี่ยมและน่าสนใจหลายอย่าง สำหรับส่วนนี้ของเนื้อหาที่เก็บนี้ให้รหัสการใช้งานที่สมบูรณ์และจัดทำโมเดลที่ผ่านการฝึกอบรมมาก่อนเป็นตัวอย่างสำหรับผู้อ่านเพื่อทดสอบ
- บทที่ 9 เป็นบทที่เชื่อมต่ออดีตและอนาคต เป้าหมายคือไม่สอนผู้อ่านฟังก์ชั่นใหม่และความรู้ใหม่ ๆ แต่เพื่อรวมเข้ากับการแข่งขันแบบคลาสสิกใน Kaggle เพื่อตระหนักถึงปัญหาการจำแนกไบนารีภาพที่ง่ายที่สุดในการเรียนรู้อย่างลึกซึ้ง ในระหว่างกระบวนการดำเนินการผู้อ่านจะถูกนำไปตรวจสอบความรู้ของ 5 บทแรกและช่วยให้ผู้อ่านจัดระเบียบโปรแกรมและรหัสอย่างสมเหตุสมผลเพื่อให้โปรแกรมอ่านง่ายขึ้นและบำรุงรักษาได้ดีขึ้น ในเวลาเดียวกันบทนี้แนะนำวิธีการดีบักใน Pytorch
- บทที่ 10 แนะนำหลักการพื้นฐานของการสร้างเครือข่ายที่เป็นปฏิปักษ์ผู้อ่านชั้นนำในการใช้เครื่องกำเนิดอวาตาร์อะนิเมะตั้งแต่เริ่มต้นและสามารถใช้เครือข่ายฝ่ายตรงข้ามกำเนิดเพื่อสร้างอวตารอะนิเมะที่มีสไตล์ที่แตกต่างกัน
- บทที่ 11 แนะนำความรู้พื้นฐานเกี่ยวกับการประมวลผลภาษาธรรมชาติและแนะนำรายละเอียดเกี่ยวกับหลักการพื้นฐานของ Charrnn และ Transformer บทนี้ทำให้ผู้อ่านใช้หม้อแปลงเพื่อเขียนบทกวีโดยอัตโนมัติ โปรแกรมนี้สามารถเลียนแบบคนโบราณเพื่อภาคต่อบทกวีและสร้างบทกวีที่ซ่อนอยู่
- บทที่ 12 แนะนำหลักการพื้นฐานของการถ่ายโอนสไตล์และนำผู้อ่านไปใช้เครือข่ายประสาทที่รองรับการถ่ายโอนสไตล์โดยพลการ ผ่านเครือข่ายนี้ผู้อ่านสามารถแปลงภาพใด ๆ เป็นรูปแบบของภาพวาดที่มีชื่อเสียง
- บทที่ 13 แนะนำหลักการพื้นฐานของการตรวจจับวัตถุและนำไปสู่ผู้อ่านเพื่อใช้ขั้นตอนเดียวขั้นตอนอัลกอริทึมการตรวจจับเป้าหมายการตรวจจับเป้าหมายสูงสุด แนวคิดการออกแบบของ Centernet สามารถอพยพไปยังปัญหาการมองเห็นคอมพิวเตอร์แบบคลาสสิกเช่นการตรวจจับวัตถุการประมาณการท่าทางของมนุษย์และการติดตามเป้าหมายของภาพสามมิติ
เนื้อหาคำอธิบายข้อความและเนื้อหา Markdown บางส่วนในสมุดบันทึกเป็นร่างแรกของหนังสือเล่มนี้ อาจมีความไม่สะดวกในคำอธิบาย โปรดเข้าใจว่าผู้เขียนจะค่อยๆแก้ไขในภายหลัง ส่วนหนึ่งของเนื้อหานี้ทำให้มั่นใจได้ถึงความสอดคล้อง 80% กับหนังสือเล่มนี้ แต่อาจมีปัญหาทางไวยากรณ์บางอย่าง เนื่องจากข้อ จำกัด ด้านเวลาผู้เขียนจะค่อยๆอัปเดตในอนาคต
คุณต้องการซื้อหนังสือหรือไม่?
หนังสือ ไม่จำเป็น คลังสินค้านี้มีเนื้อหาข้อความมากกว่า 60% และมากกว่า 90% ของรหัสในหนังสือโดยเฉพาะเนื้อหาแนะนำในสองสามบทก่อนหน้านี้ซึ่งเกือบจะยังคงรักษาเนื้อหาคำอธิบายไว้ในหนังสือ ผู้อ่านสามารถใช้บทช่วยสอนนี้ได้ตามปกติแม้ว่าพวกเขาจะไม่ซื้อหนังสือก็ตาม
หากคุณคิดว่าคุณชอบประสบการณ์การอ่านของเวอร์ชันกระดาษและต้องการทิ้งหนังสือที่พิมพ์ออกมาอย่างสวยงามและพิมพ์เต็มรูปแบบเพื่ออ่านง่ายคุณอาจใช้เงินเล็กน้อยเพื่อสนับสนุนงานของผู้เขียนในปีที่ผ่านมา ~
คำอธิบายรหัส
รหัสส่วนใหญ่จะถูกทดสอบภายใต้ Python3+Pytorch1.6 ~ 1.8 เพื่อให้ได้ผลลัพธ์สุดท้าย Python2 ยังไม่ได้รับการทดสอบและ Pytorch เวอร์ชันที่อัปเดตยังไม่ได้รับการทดสอบ
หากมีความไม่เหมาะสมหรือพื้นที่ใด ๆ ที่ต้องการการปรับปรุงโปรดเปิดการอภิปรายปัญหาหรือส่งคำขอดึง
การกำหนดค่าสภาพแวดล้อม
ในการติดตั้ง Pytorch โปรดเลือกเวอร์ชันที่ระบุจากเว็บไซต์ทางการเพื่อติดตั้งและติดตั้งด้วยคลิกเดียว สำหรับวิธีการติดตั้งเพิ่มเติมโปรดดูคำแนะนำในหนังสือ
การโคลนนิ่งที่เก็บ
git clone https : // github . com / chenyuntc / PyTorch - book . git
-
หากคุณมีข้อบกพร่องใด ๆ คำอธิบายที่ไม่ชัดเจนหรือความสับสนโปรดเปิดปัญหา
ยินดีต้อนรับสู่คำขอดึง
การเข้ารหัสมีความสุข!

- ลิงค์ซื้อ jd.com
- ลิงค์ซื้อของ Dangdang