บ้าน การเงินส่วนบุคคล การทำงานใน 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

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

ปรับ Infographics ให้ตรงกับกลุ่มเป้าหมายของคุณ - Dummies

ปรับ Infographics ให้ตรงกับกลุ่มเป้าหมายของคุณ - Dummies

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

การจดจำลักษณะสามข้อของหุ่นจำลองที่มีประสิทธิภาพ

การจดจำลักษณะสามข้อของหุ่นจำลองที่มีประสิทธิภาพ

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

พื้นผิวและรูปแบบใน Infographics - Dummies

พื้นผิวและรูปแบบใน Infographics - Dummies

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

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

การสร้างปฏิทินรูปถ่ายใน Photoshop Elements - dummies

การสร้างปฏิทินรูปถ่ายใน Photoshop Elements - dummies

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

การนำเข้าภาพจากโทรศัพท์ของคุณไปยัง Photoshop Elements 12 - หุ่น

การนำเข้าภาพจากโทรศัพท์ของคุณไปยัง Photoshop Elements 12 - หุ่น

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

การสร้างปฏิทินรูปถ่ายใน Photoshop Elements 11 - Dummies

การสร้างปฏิทินรูปถ่ายใน Photoshop Elements 11 - Dummies

คุณพร้อมที่จะออกแบบ ปฏิทินส่วนตัวโดยใช้ภาพถ่ายที่คุณชื่นชอบ? Photoshop Elements 11 ช่วยให้คุณออกแบบปฏิทินที่น่าสนใจของเด็ก ๆ ทีมฟุตบอลหญิง, สมาคม Bullhead Moose หรือกิจกรรมอื่น ๆ ที่คุณต้องการใช้ องค์ประกอบทำให้ง่ายต่อการสร้างปฏิทินที่ดูเป็นมืออาชีพ นี่เป็นอย่างไร ...

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

การเพาะปลูกภาพภูมิทัศน์ของคุณใน Photoshop Elements - Dummies

การเพาะปลูกภาพภูมิทัศน์ของคุณใน Photoshop Elements - Dummies

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

ปรับแต่ง Gradients ใน Photoshop Elements - Dummies

ปรับแต่ง Gradients ใน Photoshop Elements - Dummies

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

โหมด Lightning และ Darken Blender ใน Photoshop Elements 10 - Dummies

โหมด Lightning และ Darken Blender ใน Photoshop Elements 10 - Dummies

Photoshop Elements 10 มี Darken, Multiply , Color Burn, Linear Burn และ Darker Color ผสมผสานกับโหมดต่างๆที่ทำให้ภาพของคุณมืดลงในรูปแบบต่างๆและ Lighten Screen Screen Color Dodge โหมด Linear Dodge และ Light Light ผสมผสานเข้าไว้ด้วยกัน Darken: เปลี่ยนพิกเซลที่สว่างกว่าหากพิกเซลอยู่ที่ ...