หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: Win10 + Python Tensorflow, Pytorch บน Notebook  (อ่าน 3739 ครั้ง)
0 สมาชิก และ 3 บุคคลทั่วไป กำลังดูหัวข้อนี้
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« เมื่อ: กุมภาพันธ์ 27, 2022, 04:55:44 PM »

  ในที่สุดสูตรการใช้งาน WIN10 และใช้งาน Tensorflow, Pytorch ได้ใกล้เคียง Linux  เป็นจริงเสียที  ซึ่งวิธีการนี้จะใช้งาน feature ใหม่อย่าง WSL2 (Windows Subsystem Linux)  ซึ่งมีติดมากับ WIN10, 11
  หลักการคราวๆ WSL จะใช้คุณสมบัติของ Hyper-V  แต่ใช้งานได้ง่ายเสมือนเรียก Program เท่านั้น  โดยรองรับการใช้งาน GPU ซึ่งเป็นสิ่งที่ดีมาก  ทำให้ Notebook x86 Windows Base เป็นสูตรที่คุ้มค่ากับงานด้าน Data Science  มากกว่า Macbook M1  แต่ข้อเสียเพียงข้อเดียวที่ x86 สู้ ARM ไม่ได้คือการจัดการพลังงาน

  โดยผลการทดสอบที่สามารถหา Benchmark Script มาใช้ได้นั้น  ได้มาจาก Link https://medium.com/analytics-vidhya/m1-mac-mini-scores-higher-than-my-nvidia-rtx-2080ti-in-tensorflow-speed-test-9f3db2b02d74  ปะรกอบด้วย
1. fashin_mnist.py
2. cifar10.py

  โดย fashin_mnist.py นั้นผมได้มีการปรับแต่งเพื่อใช้งานกับ Notebook ที่ทดสอบให้มีประสิทธิภาพ  เนื่องจาก GPU บน Notebook มี RAM เพียง 4GB  โดยแก้ไขขนาด Batch_Size จากค่า Default 32 เป็น 128 (ใน Link Web อ้างอิงจะทดสอบกับ Mac M1 VS Intel i7 9700K + RTX2080Ti
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #1 เมื่อ: กุมภาพันธ์ 27, 2022, 05:24:18 PM »

  ผลการทดสอบตาม Clip นี้  https://www.youtube.com/watch?v=d-LJ6nAlf0M มีการลดรอบการคำนวณ EPOCH ลงเพื่อไม่ให้ยาวจนเกินไป  ซึ่งสรุปได้ดังนี้
  1.   fashin_mnist นั้น  จะใช้เวลาต่อ EPOCH ประมาณ 2 Sec และจดบการทดสอบ 30EPOCH ที่เวลา 55.27Sec
  การทดสอบ ฺBatch Size = 128, EPOCHs = 10 จะได้เวลารวมที่ 16.84 Sec
  การทดสอบ Batch Size = 32, EPOCHs = 10 จะได้เวลารวมที่ 59.30 Sec

  ข้อมูลจาก Web
  1. i7-9700h+RTX2080Ti เวลารวมที่ 7.78 Sec
  2. Mac Mini M1 เวลารวมที่ 6.70 Sec

  การทดสอบนี้ Notebook แพ้


* fashin_mnist_bs32_epoch10.jpg (395.62 KB, 2267x1275 - ดู 482 ครั้ง.)

* fashin_mnist_bs128_epoch10.jpg (388.95 KB, 2267x1275 - ดู 501 ครั้ง.)
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #2 เมื่อ: กุมภาพันธ์ 27, 2022, 05:41:59 PM »

2. cifar10 จะได้เวลาเฉลี่ยต่อ EPOCH ราว 116 Sec  แต่จะมีประสิทธิภาพแปรผันตาม adaper จ่ายไฟที่ใช้งาน, Power Profile ที่ใช้งาน  ของ Notebook เอง  ส่วนเวลารามที่ได้จากภาพ 1151.83 Sec

  เมื่อเทียบข้อมูลจาก Web ที่ Mac Mini M1 ทำเวลารวมได้ที่ 2286.16 Sec ส่วน RTX2080Ti เร็วกว่า Mac Mini ที่มากว่า 5 เท่า

  โดยการทดสอบนี้จะเห็นได้ว่า Notebook ASUS Flow X13 เร็วกว่า Mac Mini ราว 2 เท่า  หรือช้ากว่า RTX3080Ti ราว 2.5 เท่า


* Benchmark_cifar10_flowx13_gtx1650_vs_m1_turbomode_fullpower.jpg (1312.81 KB, 3840x2400 - ดู 484 ครั้ง.)
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #3 เมื่อ: กุมภาพันธ์ 27, 2022, 05:52:52 PM »

  จากการตามเก็บข้อมูลพบว่า Mac M1 จะทำงานได้ดีมากที่ Resource ภายใน CPU ยังไม่หมด  ส่วนงาน 3D GPU ยังไม่สามารถเทียบได้กับค่าย AMD และ NVIDIA และเด่นมากเรื่องการใช้พลังงานที่ x86 ไม่สามารถต่อกรได้
  Notebook x86 + GPU เด่นเรื่องความคุ้มค่าราคาและความยืดหยุ่นในการใช้  OS Win ทำงานกับ GPU ได้ดีกว่าบน Linux เมื่อสามารถใช้งาน Python ได้สมบูรณ์  ถือเป็นทางเลือกที่ลงตัวทางนึงสำหรับคนที่ไม่อยากใช้ Mac  ถ้า Solution นี้ทำงานบน Gaming Notebook ที่ใช้ RTX 3070 RAM 8GB ประสิทธิภาพคงไล่ตาม RTX2080Ti แบบหายใจลดต้นคอ
 
  แถมท้ายด้วยการทดสอบประสิทธิภาพ GFLOPS จาก Link https://github.com/tlkh/tf-metal-experiments/blob/main/README.md#experiments-and-benchmarks  ซึ่่งทำคะแนนได้ราว 2.2GFLOPs เมื่อเทียบกับ M1 ที่ทำได้ 8GFLOPs    ดึงจะเห็นได้ว่า Benchmark มีความย้อนแย้งกันพอสมควร  ขึ้นกับ Software Hardware นั้นจะถูก Optimal ได้ลงตัวเพียงใด


* 2_2_gpu_tflops_plot.jpg (31.2 KB, 1000x600 - ดู 400 ครั้ง.)

* Benchmark_2_2TFLOPs.jpg (1028.87 KB, 3840x2400 - ดู 482 ครั้ง.)
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: