บทนำ
ความก้าวหน้าของความสนใจใน การเรียนรู้ลึก ๆ ในช่วงไม่กี่ปีที่ผ่านมาและการระเบิดของเครื่องมือการเรียนรู้ของเครื่องเช่น TensorFlow, PyTorch ฯลฯ ก็จะถูกอ้างถึงเช่นกัน ซึ่งจะช่วยให้ใช้งานง่ายและแก้จุดบกพร่องของโค้ดได้ง่าย
เฟรมเวิร์กยอดนิยมหลายตัว เช่น MxNet, Tensorflow, Jax, PaddlePaddle, Caffe 2, Mindspore และ Theano จะได้รับความนิยมเพราะจะสร้างกราฟโฟลว์ข้อมูลแบบคงที่ซึ่งแสดงถึงการคำนวณและสามารถนำไปใช้กับชุดข้อมูลได้ แม้ว่าพวกเขาจะให้การมองเห็นในการคำนวณทั้งหมดและในทางทฤษฎี พวกเขาใช้ประโยชน์จากการปรับปรุงประสิทธิภาพและความสามารถในการปรับขนาด ซึ่งจะมาพร้อมกับความยืดหยุ่น ความสะดวกในการดีบั๊ก และการใช้งานที่ง่าย
บทความนี้ให้ข้อมูลเชิงลึกเกี่ยวกับ Pytorch ซึ่งเป็นเฟรมเวิร์กการเรียนรู้ของเครื่องที่เขียนด้วย Python เนื่องจากเฟรมเวิร์ก Deep Learning ส่วนใหญ่เน้นที่ความสามารถในการใช้งานหรือความเร็ว แต่ Pytorch แสดงให้เห็นว่าเป้าหมายทั้งสองนี้เข้ากันได้: มันถูกออกแบบมาเพื่อรองรับความจำเป็นและ Pythonic Programming Style ซึ่งจะรองรับโค้ดเป็นโมเดล ซึ่งทำให้การดีบั๊กทำได้ง่าย และจะยังคงมีประสิทธิภาพและสนับสนุน เครื่องมือเร่งฮาร์ดแวร์เช่น GPU (หน่วยประมวลผลกราฟิก) และ TPU (หน่วยประมวลผลเทนเซอร์)
ไลบรารี Python จำนวนมากถูกสร้างขึ้นบน PyTorch เช่น torch-vision, Timm สำหรับคอมพิวเตอร์วิทัศน์, torch text และ Hug face สำหรับข้อความ และ torch audio สำหรับคำพูด ซึ่งเป็นสิ่งที่ทำให้ PyTorch มีพลัง
บทความนี้เผยแพร่โดยเป็นส่วนหนึ่งของไฟล์ Blogathon วิทยาศาสตร์ข้อมูล
สารบัญ
ทำไมต้อง Pytorch?
- เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกของการวิจัยที่ได้รับความนิยมมากที่สุด
- สามารถเข้าถึงโมเดลการเรียนรู้เชิงลึกที่สร้างไว้ล่วงหน้าจำนวนมาก (Torch Hub/ torch-vision.models)
- สแต็กทั้งหมด: ประมวลผลข้อมูลล่วงหน้า ข้อมูลโมเดล ปรับใช้โมเดลในแอปพลิเคชัน/คลาวด์ของคุณ
- เดิมออกแบบและใช้งานโดย Facebook/Meta (ปัจจุบันเป็นโอเพ่นซอร์สและใช้งานโดยบริษัทต่างๆ เช่น Tesla, Microsoft และ Open AI)
- PyTorch ช่วยลดค่าใช้จ่ายด้านความรู้ความเข้าใจในขณะที่มุ่งเน้นไปที่ความยืดหยุ่นและความเร็ว
- นับตั้งแต่เปิดตัว PyTorch เมื่อต้นปี 2017 ก็จะได้รับความนิยม
แนวโน้มที่เพิ่มขึ้นของ Pytorch ตั้งแต่เปิดตัว
เมตริกซ์
Tensor เป็นหน่วยการสร้างพื้นฐานของ Pytorch และโดยพื้นฐานแล้วจะเหมือนกับ a อาร์เรย์ Numpy. ส่วนใหญ่จะใช้สำหรับการแปลงรูปภาพ เสียง เป็นรูปแบบทางคณิตศาสตร์ที่ใช้สำหรับการประมวลผล เนื่องจากคอมพิวเตอร์ไม่เข้าใจรูปภาพ แต่เป็นตัวเลขมาตรฐาน ดังนั้นจึงเป็นสิ่งสำคัญในการแปลงรูปภาพให้อยู่ในรูปแบบตัวเลข
คุณลักษณะสำคัญประการหนึ่งที่นำเสนอโดยเทนเซอร์คือสามารถจัดเก็บการติดตามการดำเนินการทั้งหมดที่ดำเนินการกับสิ่งเหล่านี้ได้ ซึ่งช่วยในการคำนวณผลลัพธ์ที่ปรับให้เหมาะสมที่สุด ซึ่งสามารถทำได้โดยใช้ฟังก์ชัน Autograd ของเทนเซอร์
ในแง่ง่ายๆ สเกลเลอร์ – เวกเตอร์ – เมทริกซ์ – เทนเซอร์เป็นโฟลว์
1. Scaler เป็นเวกเตอร์ 0 มิติ
2. เวกเตอร์ คือ เวกเตอร์ 1 มิติ
3. เมทริกซ์เป็นเวกเตอร์ 2 มิติ
4. เทนเซอร์เป็นเทนเซอร์ N มิติทั่วไป
กรณีการใช้เทนเซอร์
Pytorch เป็น Google Collab ในตัว ตอนนี้เรามาดูวิธีใช้โค้ดพื้นฐานเพื่อทำงานกับ Pytorch Tensors
1. นำเข้า Pytorch และรับเวอร์ชัน
import torch print(torch.__version__) # Output 1.13.1+cu116
2. การสร้าง Scaler ใน Pytorch
scaler = torch.tensor(7)
scaler
# Output
tensor(7)
3. การสร้างเทนเซอร์ใน Pytorch
vector = torch.tensor([7,7])
vector
# output
tensor([7, 7])
4. เพื่อให้ได้ขนาดใน Torch เราสามารถใช้:
vector.ndim
# output
1
5. เพื่อให้ได้รูปร่างของเวกเตอร์ใน Torch
vector.shape
# Output
torch.Size([2])
6. เพื่อรับเมทริกซ์ใน Pytorch
Matrix = torch.tensor([[1,7], [2,7]])
# output
tensor([[1, 7], [2, 7]])
7. สำหรับการสร้างตัวเลขสุ่มใน Pytorch
random = torch.rand(7)
# output
tensor([0.0324, 0.9962, 0.0709, 0.7007, 0.6523, 0.0256, 0.4912])
8. ใช้ฟังก์ชันในตัว เช่น การคูณ การบวก และการลบในเทนเซอร์
9. การสร้างเทนเซอร์โฟลต
torch.FloatTensor([1.1, 1.2, 1.3])
# Output
tensor([1.1000, 1.2000, 1.3000])
10. การสร้างช่วงของตัวเลขโดยใช้ Pytorch
torch.arange(0,10) # Output
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
เหตุใด PyTorch Tensors จึงสำคัญสำหรับ ML และ DL
ในปัญหาแมชชีนเลิร์นนิงภายใต้การดูแล เรามีข้อมูลที่จัดเรียงเป็นแถวและคอลัมน์พร้อมค่าเป้าหมายบางค่า (อาจเป็นการจำแนกประเภทไบนารี เช่น จริง/เท็จ ใช่/ไม่ใช่ หรืออาจเป็นเอนทิตีที่เป็นตัวเลข) ดังที่เราทราบในการประมวลผลอัลกอริทึมการเรียนรู้ของเครื่อง ข้อมูลจะต้องป้อนในรูปแบบทางคณิตศาสตร์ ตารางมีความคล้ายคลึงกับเมทริกซ์ 2 มิติโดยธรรมชาติ ซึ่งแต่ละแถว (อินสแตนซ์) หรือคอลัมน์ (คุณลักษณะ) สามารถสอนเป็นเวกเตอร์ 1 มิติได้ เนื่องจากอัลกอริทึมการเรียนรู้ของเครื่องจะเข้าใจเฉพาะตัวเลขที่เป็นตัวเลข ภาพขาวดำสามารถถือเป็น เมทริกซ์ 2 มิติที่มีตัวเลข 0 และ 1 และป้อนเข้าสู่โครงข่ายประสาทเทียมสำหรับการจำแนกภาพหรือการแบ่งส่วน
ข้อมูลลำดับหรือข้อมูลอนุกรมเวลาเป็นอีกตัวอย่างหนึ่งซึ่งในข้อมูล 2 มิติ หนึ่งมิติ (เวลา) ได้รับการแก้ไข ตัวอย่างเช่น:
1. ข้อมูลคลื่นไฟฟ้าหัวใจในเครื่องตรวจสอบ
2. กระแสข้อมูลการติดตามราคาในตลาดหุ้น
นี่คือตัวอย่างของการใช้เทนเซอร์ 2 มิติในการเรียนรู้ของเครื่องแบบคลาสสิก (การถดถอยเชิงเส้น ต้นไม้การตัดสินใจ การสนับสนุนเครื่องเวกเตอร์ สุ่มฟอเรสต์ การถดถอยโลจิสติก ฯลฯ) และอัลกอริทึมการเรียนรู้เชิงลึก
ภาพสีหรือโทนสีเทาจะถือเป็นเทนเซอร์ 3 มิติ เทนเซอร์ 3 มิติ (หรือเทนเซอร์อันดับ 3) เป็นลูกบาศก์หรืออาร์เรย์ของอาร์เรย์เช่นนั้น
ในเทนเซอร์ 3 มิติ แต่ละพิกเซลเชื่อมโยงกับ 'ช่องสี' ซึ่งเป็นเวกเตอร์ 3 ตัวเลขที่แสดงความเข้มในสีแดง-เขียว-น้ำเงิน (เมทริกซ์ RGB) โดยทั่วไปแล้ว Pixel จะถูกกำหนดสีตามจำนวนสีแดง สีเขียว และสีน้ำเงินที่เรียงลำดับภายในขอบเขตของไบต์เอกพจน์ ค่าอาร์เรย์ 0 - 255 เหล่านี้จะมีลักษณะดังนี้ [255,255,255] สำหรับจำนวนเต็ม เมื่อเทนเซอร์ของเราเป็นประเภทข้อมูลของ int32 นี่เป็นวิธีตีความที่ใช้ และเมื่อเทนเซอร์ของเราเป็นประเภทข้อมูลของ float32 ค่าที่เกี่ยวข้องจะถือว่าอยู่ในช่วง 0-1 ดังนั้น จำนวนเต็ม [255,255,255] จะแทนสีขาวบริสุทธิ์ แต่ในทศนิยม จะแทนด้วย [1,1,1] สำหรับสีขาวล้วน
ซึ่งหมายความว่าต้องใช้เทนเซอร์ 3 มิติในการจัดเก็บรูปภาพ ต้องบันทึกพิกเซลสามค่าแต่ละพิกเซลด้วยความกว้างและความสูงที่ระบุ คุณจะต้องตัดสินใจว่าจะใช้รูปแบบใดดีที่สุด เช่นเดียวกับที่คุณทำกับปริศนาโอเอกซ์ เป็นขั้นตอนมาตรฐานใน TensorFlow และ TensorFlow.js เพื่อบันทึกค่า RGB ในมิติสุดท้ายของเทนเซอร์ นอกจากนี้ การจัดเก็บค่าสำหรับความสูง ความกว้าง และขนาดสีตามลำดับนั้นเป็นเรื่องปกติ แม้ว่าการระบุแถวและคอลัมน์จะเป็นลำดับการอ้างอิงองค์กรแบบดั้งเดิมสำหรับเมทริกซ์ แต่สิ่งนี้อาจดูแปลกสำหรับภาพถ่าย
ในทำนองเดียวกัน วิดีโอสามารถถูกมองว่าเป็นลำดับของภาพสีหรือกรอบของเวลา และวิดีโอสามารถสอนเป็นเทนเซอร์ 4 มิติ
กล่าวอีกนัยหนึ่ง เมตริกหลายมิติอาจแสดงข้อมูลประเภทต่างๆ จากโลกทางกายภาพได้อย่างง่ายดาย รวมถึงข้อมูลเซ็นเซอร์และเครื่องมือ ข้อมูลเชิงพาณิชย์และการเงิน และข้อมูลจากการทดลองทางวิทยาศาสตร์หรือทางสังคม ทำให้เหมาะสำหรับการประมวลผลโดยอัลกอริทึม ML/DL ภายใน คอมพิวเตอร์.
สรุป
Pytorch เป็นกรอบการเรียนรู้ของเครื่องที่เขียนด้วย Python ไลบรารี Python จำนวนมาก เช่น torch-vision และ Timm สำหรับการมองเห็นด้วยคอมพิวเตอร์ ถูกสร้างขึ้นบน PyTorch สามารถเข้าถึงโมเดลการเรียนรู้เชิงลึกที่สร้างไว้ล่วงหน้าจำนวนมาก Pytorch สามารถประมวลผลข้อมูลล่วงหน้า สร้างโมเดลข้อมูล และปรับใช้โมเดลในแอปพลิเคชัน/คลาวด์ของคุณ Tensor เป็นหน่วยการสร้างพื้นฐานของ Pytorch และโดยพื้นฐานแล้วจะเหมือนกับอาร์เรย์ Numpy ส่วนใหญ่ใช้สำหรับการแปลงรูปภาพ เสียง ให้เป็นรูปแบบทางคณิตศาสตร์ที่ใช้สำหรับการประมวลผลของคอมพิวเตอร์ ภาพสีหรือโทนสีเทาจะถือเป็นเทนเซอร์ 3 มิติ และวิดีโอจะถือเป็นเทนเซอร์ 4 มิติ
สื่อที่แสดงในบทความนี้ไม่ได้เป็นของ Analytics Vidhya และถูกใช้ตามดุลยพินิจของผู้เขียน
ที่เกี่ยวข้อง
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://www.analyticsvidhya.com/blog/2023/03/pytorch-tensors-and-its-operations/
- 1
- 1.3
- 10
- 2017
- 3d
- 7
- 9
- a
- สามารถ
- เกี่ยวกับเรา
- เร่ง
- เข้า
- นอกจากนี้
- ที่อยู่
- ความก้าวหน้า
- AI
- ขั้นตอนวิธี
- อัลกอริทึม
- ทั้งหมด
- แม้ว่า
- จำนวน
- การวิเคราะห์
- การวิเคราะห์ วิทยา
- และ
- อื่น
- ประยุกต์
- จัด
- แถว
- บทความ
- ที่เกี่ยวข้อง
- สันนิษฐาน
- เสียง
- ขั้นพื้นฐาน
- เป็นพื้น
- เพราะ
- ที่ดีที่สุด
- Black
- ปิดกั้น
- บล็อกกาธอน
- สีน้ำเงิน
- การก่อสร้าง
- สร้าง
- built-in
- อ้างถึง
- การจัดหมวดหมู่
- รหัส
- ความรู้ความเข้าใจ
- สี
- คอลัมน์
- คอลัมน์
- อย่างไร
- เชิงพาณิชย์
- ร่วมกัน
- อย่างธรรมดา
- บริษัท
- เข้ากันได้
- การคำนวณ
- คำนวณ
- คอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- คอมพิวเตอร์
- ข้อสรุป
- ถือว่า
- สร้าง
- แปลง
- ราคา
- ได้
- การสร้าง
- ข้อมูล
- การตัดสินใจ
- ต้นไม้ตัดสินใจ
- ลึก
- การเรียนรู้ลึก ๆ
- ปรับใช้
- ได้รับการออกแบบ
- DID
- ตัวเลข
- Dimension
- มิติ
- ดุลพินิจ
- Dont
- แต่ละ
- ก่อน
- สะดวกในการใช้
- อย่างง่ายดาย
- ที่มีประสิทธิภาพ
- ทั้ง
- เอกลักษณ์
- ฯลฯ
- ตัวอย่าง
- ตัวอย่าง
- ใบหน้า
- ลักษณะ
- คุณสมบัติ
- เฟด
- สุดท้าย
- ทางการเงิน
- ข้อมูลทางการเงิน
- การแก้ไข
- ความยืดหยุ่น
- ลอย
- โฟกัส
- โดยมุ่งเน้น
- ป่า
- ฟอร์ม
- รูป
- รูปแบบ
- FRAME
- กรอบ
- กรอบ
- ราคาเริ่มต้นที่
- ฟังก์ชั่น
- ฟังก์ชั่น
- พื้นฐาน
- ได้รับ
- ได้รับ
- ได้รับ
- ให้
- เป้าหมาย
- กราฟ
- เฉดสีเทา
- สีเขียว
- ฮาร์ดแวร์
- ความสูง
- จะช่วยให้
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- ภาพ
- การจำแนกรูปภาพ
- ภาพ
- ความจำเป็น
- การดำเนินการ
- นำเข้า
- สำคัญ
- การนำเข้า
- การปรับปรุง
- in
- รวมทั้ง
- ข้อมูลเชิงลึก
- ตัวอย่าง
- ตราสาร
- อยากเรียนรู้
- การตีความ
- บทนำ
- IT
- ทราบ
- เปิดตัว
- การเรียนรู้
- ห้องสมุด
- ดู
- ดูเหมือน
- เครื่อง
- เรียนรู้เครื่อง
- เครื่อง
- ทำให้
- การทำ
- หลาย
- ตลาด
- คณิตศาสตร์
- มดลูก
- ภาพบรรยากาศ
- วิธี
- ไมโครซอฟท์
- ML
- แบบ
- โมเดล
- การตรวจสอบ
- มากที่สุด
- เป็นที่นิยม
- เป็นธรรมชาติ
- nav
- จำเป็นต้อง
- เครือข่าย
- ประสาท
- เครือข่ายประสาท
- ตัวเลข
- มึน
- เสนอ
- ONE
- เปิด
- โอเพนซอร์ส
- การดำเนินการ
- การปรับให้เหมาะสม
- ใบสั่ง
- องค์กร
- อื่นๆ
- เป็นเจ้าของ
- ส่วนหนึ่ง
- การปฏิบัติ
- กายภาพ
- พิกเซล
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- ยอดนิยม
- ความนิยม
- อำนาจ
- ราคา
- ปัญหา
- กระบวนการ
- การประมวลผล
- การเขียนโปรแกรม
- ให้
- ให้
- การตีพิมพ์
- ปริศนา
- หลาม
- การเขียนโปรแกรมแบบไพโธนิค
- ไฟฉาย
- สุ่ม
- พิสัย
- เมื่อเร็ว ๆ นี้
- สีแดง
- ถดถอย
- ปล่อย
- ยังคง
- แสดง
- เป็นตัวแทนของ
- เป็นตัวแทนของ
- แสดงให้เห็นถึง
- จำเป็นต้องใช้
- การวิจัย
- RGB
- แถว
- เดียวกัน
- ลด
- scalability
- วิทยาศาสตร์
- การแบ่งส่วน
- ลำดับ
- ชุด
- หลาย
- รูปร่าง
- แสดง
- แสดงให้เห็นว่า
- คล้ายคลึงกัน
- ตั้งแต่
- เอกพจน์
- So
- สังคม
- บาง
- แหล่ง
- ที่ระบุไว้
- การพูด
- ความเร็ว
- กอง
- มาตรฐาน
- สต็อก
- ตลาดหลักทรัพย์
- จัดเก็บ
- กระแส
- สไตล์
- อย่างเช่น
- เหมาะสม
- สนับสนุน
- ตาราง
- เป้า
- tensorflow
- เงื่อนไขการใช้บริการ
- เทสลา
- พื้นที่
- คิดว่า
- ทิก-แทก-โท
- เวลา
- อนุกรมเวลา
- ไปยัง
- เครื่องมือ
- ด้านบน
- ไฟฉาย
- ลู่
- การติดตาม
- แบบดั้งเดิม
- แนวโน้ม
- ชนิด
- เข้าใจ
- หน่วย
- หน่วย
- การใช้งาน
- ใช้
- ความคุ้มค่า
- ความคุ้มค่า
- ต่างๆ
- รุ่น
- วีดีโอ
- ความชัดเจน
- วิสัยทัศน์
- อะไร
- ที่
- ในขณะที่
- ขาว
- จะ
- ภายใน
- คำ
- งาน
- โลก
- เขียน
- ปี
- ของคุณ
- ลมทะเล