บ้าน การเงินส่วนบุคคล การทำงานใน Python แบบขนานสำหรับวิทยาศาสตร์ข้อมูล - Dummies

การทำงานใน Python แบบขนานสำหรับวิทยาศาสตร์ข้อมูล - Dummies

สารบัญ:

วีดีโอ: สอนไพธอน Python 3: การ run โปรแกรมผ่านทาง command line/terminal 2025

วีดีโอ: สอนไพธอน Python 3: การ run โปรแกรมผ่านทาง command line/terminal 2025
Anonim

คอมพิวเตอร์ส่วนใหญ่เป็น multicore (โปรเซสเซอร์สองตัวขึ้นไปในชุดเดียว) บางรุ่น มี CPU หลายตัว หนึ่งในข้อ จำกัด ที่สำคัญที่สุดของ Python คือใช้ single core ตามค่าดีฟอลต์ (ถูกสร้างขึ้นในช่วงเวลาที่แกนเดี่ยวเป็นบรรทัดฐาน)

โครงการวิทยาศาสตร์ข้อมูลต้องใช้การคำนวณเป็นจำนวนมาก โดยเฉพาะอย่างยิ่งส่วนหนึ่งของด้านวิทยาศาสตร์ของข้อมูลวิทยาศาสตร์อาศัยการทดสอบซ้ำ ๆ และการทดลองในเมทริกซ์ข้อมูลต่างๆ อย่าลืมว่าการทำงานกับข้อมูลปริมาณมากหมายความว่าการแปลงที่ใช้เวลานานที่สุดจะสังเกตซ้ำหลังจากการสังเกต (ตัวอย่างเช่นการดำเนินงานที่เหมือนกันและไม่เกี่ยวข้องกับส่วนต่างๆของเมทริกซ์)

การใช้แกน CPU มากขึ้นจะช่วยเร่งการคำนวณโดยปัจจัยที่เกือบจะตรงกับจำนวนแกน ตัวอย่างเช่นการมีสี่แกนจะหมายถึงการทำงานที่ดีที่สุดสี่ครั้งเร็วขึ้น คุณไม่ได้รับการเพิ่มขึ้นสี่เท่าเนื่องจากมีค่าใช้จ่ายเมื่อเริ่มต้นกระบวนการแบบขนาน - อินสแตนซ์ Python ใหม่ที่ใช้งานจะต้องมีการตั้งค่าข้อมูลหน่วยความจำในตัวและเปิดตัวแล้ว ดังนั้นการปรับปรุงจะน้อยกว่าความเป็นไปได้ที่อาจทำได้ แต่ยังคงมีนัยสำคัญ

การประมวลผลหลายชุดจะทำงานโดยการจำลองรหัสและเนื้อหาหน่วยความจำในอินสแตนซ์ Python ใหม่ ๆ (คนงาน) โดยคำนวณผลลัพธ์สำหรับแต่ละไฟล์และส่งคืนผลลัพธ์ที่รวมไว้ในคอนโซลหลัก หากอินสแตนซ์เดิมของคุณใช้พื้นที่หน่วยความจำแรมอยู่มากเท่าไรก็จะไม่สามารถสร้างอินสแตนซ์ใหม่ได้และเครื่องของคุณอาจไม่มีหน่วยความจำอยู่

การตรวจสอบข้าม:

การทดสอบผลลัพธ์ของสมมติฐานการเรียนรู้ด้วยเครื่องจักรโดยใช้ข้อมูลการฝึกอบรมและการทดสอบที่แตกต่างกัน

การค้นหาตาราง:

  • การเปลี่ยนพารามิเตอร์แบบ hyper อย่างเป็นระบบ ของสมมติฐานการเรียนรู้เกี่ยวกับเครื่องจักรและการทดสอบผลลัพธ์ที่เป็นผลลัพธ์ การคาดการณ์หลายชั้น:

  • การเรียกใช้อัลกอริทึมหลายครั้งเมื่อเทียบกับเป้าหมายหลายรายการเมื่อมีหลายเป้าหมายที่แตกต่างกันไปเพื่อทำนายในเวลาเดียวกัน Ensemble machine-learning methods:

  • การสร้างโมเดลโฮสต์ขนาดใหญ่ที่แยกแต่ละประเภทออกจากกันเช่นเมื่อใช้โมเดลแบบ RandomForest คุณไม่จำเป็นต้องทำอะไรเป็นพิเศษเพื่อใช้ประโยชน์จากการคำนวณแบบขนาน - คุณสามารถเปิดใช้งานการทำงานแบบขนานโดยการตั้งค่า พารามิเตอร์ n_jobs เป็นจำนวนแกนมากกว่า 1 หรือโดยการตั้งค่าเป็น -1 ซึ่งหมายความว่าคุณต้องการใช้อินสแตนซ์ของ CPU ทั้งหมดที่พร้อมใช้งาน

  • ถ้าคุณไม่ได้ใช้รหัสของคุณจากคอนโซลหรือจากโน้ตบุ๊ค IPython เป็นสิ่งสำคัญอย่างยิ่งที่คุณต้องแยกรหัสของคุณจากการนำเข้าแพคเกจหรือการกำหนดตัวแปรทั่วโลกในสคริปต์โดยใช้ __name __ == '__ main__': คำสั่งที่จุดเริ่มต้นของโค้ดที่รันการทำงานแบบขนานหลายตัว ถ้าคำสั่งตรวจสอบว่าโปรแกรมรันโดยตรงหรือเรียกโดยคอนโซล Python ที่ใช้อยู่แล้วหลีกเลี่ยงความสับสนหรือข้อผิดพลาดตามกระบวนการแบบหลายขั้นตอน (เช่นเรียกซ้ำแบบขนาน) การแสดงหลายรูปแบบ

ควรใช้ IPython เมื่อคุณเรียกใช้การสาธิตวิธีการประมวลผลหลายเครื่องสามารถประหยัดเวลาได้มากในระหว่างโครงการวิทยาศาสตร์ข้อมูล การใช้ IPython ให้ประโยชน์ในการใช้คำสั่งเวทมนตร์% timeit สำหรับการรันไทม์มิก คุณเริ่มต้นด้วยการโหลดชุดข้อมูลมัลติเคลระบบอัลกอริธึมการเรียนรู้เครื่องจักรที่ซับซ้อน (Support Vector Classifier หรือ SVC) และขั้นตอนการตรวจสอบข้ามเพื่อประเมินคะแนนที่เชื่อถือได้จากขั้นตอนทั้งหมด

สิ่งที่สำคัญที่สุดที่ต้องรู้ก็คือขั้นตอนการทำงานมีขนาดค่อนข้างใหญ่เนื่องจาก SVC ผลิต 10 โมเดลซึ่งทำซ้ำ 10 ครั้งโดยใช้การตรวจสอบข้ามชุดสำหรับรุ่น 100 ตัว

จากขนแกะ ชุดข้อมูลนำเข้า load_digits digits = load_digits () X, y = ตัวเลข ข้อมูลตัวเลข เป้าหมายจาก Sklearn svm นำเข้า SVC จาก sklearn ข้ามไปที่: 1 ลูป, ดีที่สุด 3: 17 9 วินาทีต่อห่วง

หลังจากการทดสอบนี้, คุณต้องเปิดใช้งานการทำงานแบบขนานมัลติคอร์และใช้เวลาในการผลลัพธ์โดยใช้คำสั่งต่อไปนี้:

% timeit multi_core_learning = cross_val_score (SVC (), X, y, cv = 20, n_jobs = -1) Out [2]: 1 loops, ตัวอย่างเช่นเครื่องแสดงให้เห็นถึงข้อได้เปรียบเชิงบวกโดยใช้การประมวลผลแบบหลายตัวแปรแม้ว่าจะใช้ชุดข้อมูลขนาดเล็กที่ Python ใช้เวลาส่วนใหญ่ในการเริ่มต้นคอนโซลและเรียกใช้ส่วนหนึ่งของโค้ดในแต่ละเครื่อง ค่าใช้จ่ายนี้ไม่กี่วินาทียังคงเป็นนัยสำคัญที่การดำเนินการทั้งหมดจะใช้งานได้ไม่กี่วินาที ลองจินตนาการว่าจะเกิดอะไรขึ้นถ้าคุณทำงานกับชุดข้อมูลขนาดใหญ่ขึ้น - เวลาในการดำเนินการของคุณสามารถตัดออกได้สองหรือสามครั้ง

แม้ว่าโค้ดจะทำงานได้ดีกับ IPython แต่ให้วางสคริปต์ไว้ใน Python และขอให้ Python ทำงานในคอนโซลหรือใช้ IDE อาจทำให้เกิดข้อผิดพลาดเนื่องจากการดำเนินงานภายในของงาน multicore การแก้ปัญหาคือการใส่รหัสทั้งหมดภายใต้คำสั่ง if ซึ่งจะตรวจสอบว่าโปรแกรมเริ่มทำงานโดยตรงหรือไม่เรียกภายหลัง นี่คือตัวอย่างสคริปต์:

จากคนไร้สัญชาติ ชุดข้อมูลนำเข้า load_digits จาก sklearn svm นำเข้า SVC จาก sklearn cross_validation นำเข้า cross_val_score ถ้า __name__ == '__main__': หลัก = load_digits () X, y = ตัวเลข ข้อมูลตัวเลข เป้าหมาย multi_core_learning = cross_val_score (SVC (), X, y, cv = 20, n_jobs = -1)

การทำงานใน Python แบบขนานสำหรับวิทยาศาสตร์ข้อมูล - Dummies

ตัวเลือกของบรรณาธิการ

รูปสัตว์ใกล้เคียงและแมลง - หุ่น

รูปสัตว์ใกล้เคียงและแมลง - หุ่น

การถ่ายภาพสิ่งมีชีวิตขนาดเล็กปิด, คุณสามารถสร้างภาพที่เปิดเผยรายละเอียดที่ละเอียดซึ่งมักมองข้ามหรือมองไม่เห็นด้วยตาเปล่า รายละเอียดประเภทนี้จะช่วยให้ผู้ชมเข้าใจและดึงดูดความสนใจของพวกเขาขณะที่พวกเขาสังเกตเห็นสิ่งที่พวกเขาไม่ได้สังเกตมาก่อน สิ่งมีชีวิตขนาดเล็กและแมลงนอกจากนี้ยังมี ...

Close-up การถ่ายภาพธรรมชาติที่ Dawn - Dummies

Close-up การถ่ายภาพธรรมชาติที่ Dawn - Dummies

องค์ประกอบบางอย่างที่มีอยู่เฉพาะในตอนเช้าช่วยให้ยืมความรู้สึก เล่าเรื่องไปสู่รูปธรรมชาติที่ใกล้ชิดซึ่งทำให้ผู้ดูอ่านได้ หนึ่งในของขวัญหลักที่ถ่ายภาพในตอนเช้าคือแสง แต่องค์ประกอบอื่น ๆ อีกมากมายเพิ่มเรื่องราวของคุณ: Dew เป็นหนึ่งใน ...

เมฆมากความสว่างและสมดุลสีขาว - มัด

เมฆมากความสว่างและสมดุลสีขาว - มัด

แสงที่กระจายผ่านปกคลุมด้วยเมฆปกคลุมการฉายสีฟ้าในรูปถ่ายเช่นเดียวกับที่เปิดกว้าง แสงเงาไม่ อย่างไรก็ตามการเปลี่ยนสีน้ำเงินในแสงที่มีเมฆมากไม่เป็นที่แพร่หลายมากที่สุดเท่าที่อยู่ในที่โล่ง เช่นเดียวกับการเปลี่ยนแปลงคุณภาพและความเข้มเช่นเดียวกับสีของแสงธรรมชาติประเภทนี้ ยิ่งกว่านั้น ...

ตัวเลือกของบรรณาธิการ

การใช้ Dubsmash - Dummies

การใช้ Dubsmash - Dummies

Dubsmash เป็นแอปพลิเคชันมือถือที่ช่วยให้คุณถ่ายคลิปวิดีโอขนาดเล็กที่คุณสามารถแนบไปได้ กัดเสียงตลก แอปพลิเคชันนี้ออกแบบมาเพื่อให้คุณสามารถซิงค์ปากกับกล้องไปยังเสียงที่ให้มาได้ แต่จินตนาการของคุณเป็นขีด จำกัด หลังจากที่คุณสร้างวิดีโอ Dubsmash คุณสามารถบันทึกและแบ่งปัน ...

วิธีการใช้เจลสีและตัวกรองในการสร้างภาพยนตร์ดิจิทัล - มัมมี่

วิธีการใช้เจลสีและตัวกรองในการสร้างภาพยนตร์ดิจิทัล - มัมมี่

คุณสามารถใช้เจลสีและ ตัวกรองเพื่อให้บรรลุผลบางอย่างในภาพยนตร์ดิจิตอลของคุณ มีสีที่แตกต่างกันของแสงซึ่งเป็นวัดในเคลวิน นี่เป็นตัวกำหนดความหนาวเย็นหรือความอบอุ่นของสีของแสง แสงกลางวันอยู่ตรงกลางของเครื่องชั่ง ถ้าภาพของคุณเย็นหรือมีสีน้ำเงินมากเกินไป ...

วิธีการใช้หลอดไส้ในภาพยนตร์ดิจิตอลของคุณ - มัมมี่

วิธีการใช้หลอดไส้ในภาพยนตร์ดิจิตอลของคุณ - มัมมี่

แสงแดดเป็นรูปแบบสุดยอดของแสงสำหรับ การสร้างภาพยนตร์ DSLR นอกจากนี้ยังเป็นแหล่งกำเนิดแสงจากหลอดไส้ที่ดีที่สุดหรือแหล่งกำเนิดแสงที่ให้ความร้อน แม้ว่าอุณหภูมิสีที่แท้จริงจะแตกต่างกันไปขึ้นอยู่กับตำแหน่งและสภาพบรรยากาศ แต่ก็ยังคงมีสีสันอยู่อย่างเต็มรูปแบบ ซึ่งหมายความว่าคุณสามารถปรับความสมดุลของสีได้ที่

ตัวเลือกของบรรณาธิการ

ปรับ Brightness และ Contrast ด้วย Smart Brush Tool ใน Photoshop Elements - Dummies

ปรับ Brightness และ Contrast ด้วย Smart Brush Tool ใน Photoshop Elements - Dummies

Smart เครื่องมือแปรงใน Photoshop Elements ช่วยให้คุณสามารถเลือกใช้การปรับภาพหรือเทคนิคพิเศษที่ปรากฏบนภาพทั้งหมดหรือบางส่วน

ปรับอุณหภูมิสีด้วย Photo Filters ใน Photoshop Elements 10 - Dummies

ปรับอุณหภูมิสีด้วย Photo Filters ใน Photoshop Elements 10 - Dummies

องค์ประกอบจะให้รูปดิจิตอล ของตัวกรองสีสมัยเก่าด้วยคำสั่ง Photo Filter แสงมีอุณหภูมิสีเอง ภาพที่ถ่ายด้วยอุณหภูมิสีสูงกว่าจะทำให้ภาพมีสีฟ้า ตรงกันข้ามภาพที่ถ่ายด้วยอุณหภูมิสีที่ต่ำกว่าจะทำให้ภาพมีสีเหลือง ในสมัยก่อนช่างภาพใช้

ปรับค่า Contrast และ Color ด้วย Photoshop Elements Levels Adjustment - Dummies

ปรับค่า Contrast และ Color ด้วย Photoshop Elements Levels Adjustment - Dummies

การปรับระดับใน Photoshop Elements 11 คือ หนึ่งในคำสั่งที่มีประสิทธิภาพที่สุดในการแก้ไขความคมชัดของภาพ คุณมักใช้ระดับบนเลเยอร์การปรับ การสร้างเลเยอร์การปรับแต่งและการใช้การตั้งค่าจากกล่องโต้ตอบระดับอาจทำให้เกิดความสับสนเล็กน้อย แผงควบคุมแนะนำโชคดีที่แบ่งขั้นตอนที่ซับซ้อนออกเป็น