در این مطلب، ویدئو Numba: کد عددی سریعتر در پایتون ساده شده است با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:05:18
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:06,240 –> 00:00:11,440
سلام سردار جیگر لال پیر برای دنیای اطلاعات
در idg در این قسمت از پایتون هوشمند، من
2
00:00:11,440 –> 00:00:16,800
شما را با کتابخانه numba برای نوشتن
کدهای عددی در پایتون آشنا میکنم که امکان افزایش
3
00:00:16,800 –> 00:00:23,040
سرعت فوقالعاده را از طریق یک کامپایلر بهموقع یا جیت
پایتون فراهم میکند. به دلیل راحت بودن کار کردن با
4
00:00:23,040 –> 00:00:29,840
اما همچنین کند بودن آن در مقایسه با زبانهایی
مانند c c plus plus یا fortran python کندترین
5
00:00:30,400 –> 00:00:34,800
هنگام کار با عملیات ریاضی محض شناخته شده است زیرا
این یک زبان تفسیر شده با بسیاری از
6
00:00:34,800 –> 00:00:40,560
رفتارهای شیء پویا است و واقعاً برای
ریاضی c c plus بهینه نشده است. plus و fortran برای چنین مواردی بهینه شدهاند،
7
00:00:40,560 –> 00:00:46,160
اما به بهای کمتر دوستانه بودن
برای کار با آن، اکنون در طول سالها،
8
00:00:46,160 –> 00:00:50,720
پایتون مکانیسمهای مختلفی را برای انجام سریعتر و کارآمدتر ریاضیات به دست آورده است،
من تعدادی از
9
00:00:50,720 –> 00:00:55,360
آنها را در این ویدیو پوشش دادهام.
مجموعهای در توضیحات ویدیو پیوندهایی به ویدیوهای دیگر من در numpy و
10
00:00:55,360 –> 00:01:01,440
cython دو روش رایج برای تسریع عملکرد ریاضی پایتون
با numpy وجود دارد که از کتابخانهها استفاده میکنید. itten
11
00:01:01,440 –> 00:01:06,800
در c plus و fortran که با
python با cython پیچیده شدهاند، شما از یک ابرمجموعه
12
00:01:06,800 –> 00:01:11,760
دستوری python برای تبدیل تدریجی پایتون به c استفاده میکنید
هر دوی این رویکردها میتوانند سرعتهای زیادی
13
00:01:11,760 –> 00:01:17,600
برای عملیاتهای رایج داشته باشند، اما عددی که
امروز در مورد آن صحبت میکنم، کاملاً متفاوت است. رویکرد
14
00:01:18,480 –> 00:01:22,800
تابعی را میگیرد که با
پایتون معمولی نوشتهاید و از فناوری به
15
00:01:22,800 –> 00:01:29,360
نام کامپایلر بهموقع یا jit برای کامپایل آن
تابع به کد ماشین استفاده میکند. فرآیند کامپایل
16
00:01:29,360 –> 00:01:33,360
درست زمانی که برنامه را اجرا میکنید اتفاق میافتد
بنابراین مرحله جداگانه برای کامپایل کردن کد همانطور که وجود دارد
17
00:01:33,360 –> 00:01:39,040
با cython و چون میتوانید
کد خود را بنویسید، محدود به استفاده از استعارههای numpy
18
00:01:39,040 –> 00:01:43,120
و کتابخانهها برای نحوه مدیریت چیزها
نیستید، اگرچه در صورت نیاز میتوانید numpy و number را ادغام کنید
19
00:01:44,400 –> 00:01:50,400
اجازه دهید با یک شروع کنیم. مثال ساده این یک اسکریپت است
که از روش مونت کارلو برای محاسبه پی استفاده
20
00:01:51,040 –> 00:01:55,360
می کند روشی بسیار کند و ناکارآمد برای محاسبه
پی است اما روش خوبی برای نشان دادن است. چگونه از عدد
21
00:01:55,360 –> 00:02:01,040
میتوان برای سرعت بخشیدن به کارها استفاده کرد،
ما میخواهیم محاسبه مونت کارلو خود را در دو تکرار
22
00:02:01,040 –> 00:02:05,920
از هر کدام از 10 میلیون نمونه اجرا کنیم، اولین
بار که میخواهیم آن را بهعنوان پایتون خالص اجرا کنیم
23
00:02:06,560 –> 00:02:09,200
بار دوم که میخواهیم
اجرای یک نسخه کامپایل شده با عدد
24
00:02:10,479 –> 00:02:15,120
اولین پاس کردن نسخه خالص پایتون
حدوداً چهار ثانیه طول میکشد تا در این سیستم اجرا شود
25
00:02:16,160 –> 00:02:22,400
اما نسخه اعدادی که دقیقاً همان کد است که
از طریق اعداد تبدیل شده است، حدود 15 برابر سریعتر اجرا میشود، هزینههای
26
00:02:22,400 –> 00:02:27,920
سربار مختصری
که مربوط به کامپایل است. عملکرد
27
00:02:28,640 –> 00:02:33,440
اما به طور گسترده با افزایش سرعت جبران میشود
و مهمتر از همه، ما
28
00:02:33,440 –> 00:02:37,920
مجبور شدهایم تقریباً هیچ تغییری در کد خود ایجاد
نکنیم تنها کاری که باید انجام میدهیم این است که تزئین کننده jit را اضافه
29
00:02:39,120 –> 00:02:43,360
کنیم نکته دیگری که قابل ذکر است ا