pytorch เป็นเฟรมเวิร์กสำหรับสร้าง
โครงข่ายประสาทเทียม (人工神经网络, artificial neural network) ซึ่งเป็นที่นิยมใช้ เขียนด้วยภาษาไพธอน
ที่จริงแล้ว pytorch ยังสามารถใช้ในงานอื่นๆได้ด้วย แต่คนส่วนใหญ่ใช้เพื่อสร้างโครงข่ายประสาทเทียม ดังนั้นในที่นี้ก็จะแนะนำโดยมีเป้าหมายนี้เป็นหลัก
บทความชุดนี้สำหรับคนที่มีพื้นฐานโครงข่ายประสาทเทียมมาแล้วและต้องการจะใช้ pytorch ในการสร้าง ดังนั้นจึงไม่ใช่เนื้อหาที่สอนเรื่องโครงข่ายประสาทเทียมโดยตรง
หากต้องการรู้พื้นฐานโครงข่ายประสาทเทียมและการเรียนรู้เชิงลึก ทั้งหมดได้เขียนไว้ใน
https://phyblas.hinaboshi.com/saraban/khrong_khai_prasat_thiamทำความรู้จักกับ pytorchpytorch ถูกพัฒนาขึ้นโดย facebook โดยดัดแปลงมาจากไลบรารีชื่อ torch ซึ่งถูกใช้ในภาษา Lua มาก่อน เริ่มปล่อยให้ใช้งานตั้งแต่ปี 2016
ลักษณะ pytorch จะมีการใช้เทนเซอร์ที่คล้ายกับอาเรย์ของ numpy เป็นตัวคำนวณหลัก และสร้างโครงข่ายประสาทเทียมด้วยการ
นิยามขณะวิ่ง (define by run) คือวิธีการดังที่กล่าวไปในเนื้อหาโครงข่ายประสาทเทียมเบื้องต้น บทที่ ๑๑
โดยทั่วไปโครงข่ายจะถูกสร้างขึ้นจากการนำชั้นต่างๆมาประกอบกัน ชั้นต่างๆที่จำเป็นโดยทั่วไปถูกเตรียมไว้ภายในมอดูลอย่างครบถ้วนแล้ว
เทียบกับ tensorflow แล้ว pytorch มีลักษณะที่ค่อนข้างสำเร็จรูป ใช้งานง่ายกว่ามาก จึงเหมาะสำหรับผู้ที่ฝึกหัดใหม่มากกว่า แต่ก็จะไม่ได้สำเร็จรูปเท่า keras ยังปรับแต่งอะไรได้อิสระกว่า
เทนเซอร์ภายใน pytorch มีคำสั่งและการใช้งานคล้ายกับ numpy มาก ทำให้คนที่ชินกับ numpy อยู่แล้วสามารถใช้ pytorch ได้โดยไม่ต้องเรียนรู้คำสั่งใหม่มาก
การติดตั้งวิธีการติดตั้งจะแตกต่างกันไปโดยขึ้นอยู่กับเวอร์ชันของไพธอนที่ใช้และระบบปฏิบัติการที่ใช้ แล้วก็ขึ้นกับว่าจะใช้ GPU ด้วยหรือเปล่าด้วย
เข้าไปที่เว็บหลักของ pytorch จะมีบอกวิธีต่างๆ จะใช้ pip หรือ conda หรือลงจากซอร์สก็ได้
https://pytorch.org pytorch ไม่ได้มีมอดูลเดียว แต่แบ่งออกเป็น ๒ มอดูลแยกกัน คือ
torch และ
torchvision คำสั่งหลักๆส่วนใหญ่จะอยู่ที่ torch แต่พวกคำสั่งเสริมเช่นโหลดข้อมูลเพิ่มเติมที่ถูกเตรียมไว้ใช้ทดสอบเช่นข้อมูล MNIST, CIFAR, ฯลฯ หรือคำสั่งในการแปลงข้อมูลรูปภาพ รวมทั้งแบบจำลองที่นิยมใช้ในการเรียนรู้แบบเปลี่ยนถ่ายก็จะอยู่ใน torchvision
หากเครื่องใครใช้ GPU ไม่ได้ก็ให้ลงแบบไม่ใช้ GPU ไป ก็จะใช้งานคำสั่งที่ใช้ CPU ตามปกติได้ แต่จะใช้ GPU ไม่ได้
เมื่อใช้ GPU การเขียนโค้ดจะมีความแตกต่างกันไปจากเวลาใช้ CPU ธรรมดาเล็กน้อย ต้องปรับวิธีการเขียน แต่ไม่ได้ยากเกินไป
ในที่นี้จะเริ่มแนะนำจากแบบใช้ CPU ธรรมดาก่อน ไปบทหลังๆจึงค่อยแนะนำวิธีการใช้ GPU
สรุปความสามารถโดยรวมของ pytorch- เตรียมออบเจ็กต์ชนิด Tensor ซึ่งสามารถคำนวณได้แบบอาเรย์ของ numpy แต่เพิ่มความสามารถในการคำนวณอนุพันธ์เข้ามา
- เตรียมชั้นต่างๆสำหรับใช้ประกอบเป็นโครงข่ายไว้พร้อม แค่นำมาต่อๆกันก็สร้างโครงข่ายประสาทเทียมแบบต่างๆได้อย่างง่าย
- มีฟังก์ชันสำหรับจัดการข้อมูลเบื้องต้นก่อนนำมาใช้เป็นข้อมูลป้อนเข้า
- มีฟังก์ชันสำหรับแปลงและตัดแต่งรูปภาพเพื่อเพิ่มความหลากหลายให้ข้อมูลรูปภาพ
- มีฟังก์ชันช่วยดึงชุดข้อมูลตัวอย่าง เช่น MNIST, CIFAR, ฯลฯ
- สามารถใช้ GPU ในการคำนวณได้
>> อ่านต่อ
บทที่ ๒