جستجو
Generic filters
Filter by دسته‌ها
آموزش هوش مصنوعی و انواع آن
آموزش‌های پایه‌ای هوش مصنوعی
اصول هوش مصنوعی
پایتون و ابزارهای یادگیری عمیق
کتابخانه‌ های یادگیری عمیق
یادگیری با نظارت
یادگیری بدون نظارت
یادگیری تقویتی
یادگیری عمیق
یادگیری نیمه نظارتی
آموزش‌های پیشرفته هوش مصنوعی
بینایی ماشین
پردازش زبان طبیعی
پردازش گفتار
چالش‌های عملیاتی
داده کاوی و بیگ دیتا
رایانش ابری و HPC
سیستم‌‌های امبدد
علوم شناختی
دیتاست
اخبار
رسانه‌ها
آموزش پردازش زبان طبیعی
آموزش علوم داده
اینفوگرافیک
پادکست
ویدیو
رویدادها
کاربردهای هوش مصنوعی
کسب‌و‌کار
تحلیل بازارهای هوش مصنوعی
کارآفرینی
هوش مصنوعی در ایران
هوش مصنوعی در جهان
 محبوبیت پایتون در محاسبات علمی و رایانش سریع، در حال افزایش است

محبوبیت پایتون در محاسبات علمی و رایانش سریع، در حال افزایش است

در سالی که گذشت زبان برنامه‌نویسی پایتون به‌عنوان محبوب‌ترین زبان برنامه‌نویسی دنیا معرفی شد. از طرفی شاهد محبوبیت روزافزون پایتون در محاسبات علمی و رایانش سریع هستیم. دلیل این محبوبیت را می‌توان به ظهور علم داده و اکوسیستم یادگیری ماشین و کتابخانه‌های نرم‌افزاری مربوطه مانند پانداس Pandas، تنسورفلوTensorflow ، PyTorch و NumPy و غیره نسبت داد. همچنین این واقعیت که یادگیری این زبان بسیار آسان است به پایتون کمک می‌کند تا در میان جامعه برنامه نویسان محبوبیت پیدا کند.

گفتنی است، پایتون در مقایسه با سایر زبان‌های کامپایل شده مانند راستRust  یا فرترنFortran  بسیار کند است. این امر عمدتاً به این دلیل است که پایتون یک‌زبان تفسیری است؛ به این معنی که برای اجرای هر دستورالعمل، هزینه‌های سربار قابل‌توجهی ایجادشده و همین امر سبب می‌گردد محاسبات عظیم به‌کندی انجام ‌شود. همین مسئله پایتون را برای زمینه‌های علمی و محاسباتی بالا نامناسب می‌کند. بااین‌حال، در این مقاله، ما به بررسی خواهیم کرد که چرا این مسئله لزوماً یک واقعیت اثبات‌شده نیست و چگونه پایتون برای وظایف ذکرشده ترجیح داده می‌شود.

[blockquote footer=”گیدو ون روسوم خالق زبان برنامه‌نویسی پایتون”]پایتون، آزمایشی در مورد میزان آزادی موردنیاز برنامه نویسان است. این برنامه آزادی بسیار زیادی داشته و هیچ‌کس نمی‌تواند کد دیگران را بخواند.[/blockquote]

پایتون به‌عنوان یک‌لایه چسبنده

در مورد زبان‌هایی مانند C، C++ و Fortran کد منبع قبل از اجرا، ابتدا به یک فرمت اجرایی کامپایل می‌شود. درحالی‌که در پایتون، هیچ مرحله کامپایلی وجود ندارد و کد به‌صورت خط به خط تفسیر می‌شود. مزیت اصلی زبان تفسیری مانند پایتون این است که انعطاف‌پذیر است، متغیرها نیازی به تعریف قبلی ندارند و برنامه می‌تواند به‌سرعت تطبیق پیدا کند.

بااین‌حال، نقطه‌ضعف اصلی، همان‌طور که قبلاً نیز به آن اشاره شد، اجرای کندتر برنامه‌های عددی فشرده است که پایتون را برای محاسبات علمی نامناسب می‌کند. بااین‌حال، می‌توان این بخش از فرآیند را در C یا Fortran کامپایل کرد و سپس به‌گونه‌ای اطلاعات را وارد پایتون کرد که به نظر برسد مانند توابع عادی پایتون عمل می‌کنند.

این نکته نیز قابل‌بیان است که بسیاری از روال‌های معمول ریاضی و عددی برای اجرای بسیار سریع از پیش کامپایل شده‌اند. این روال‌های معمول در دو بسته گروه‌بندی‌شده و این قابلیت رادارند تا به‌صورت مستقیم به پایتون اضافه گردند. Python اغلب به‌عنوان یک‌لایه چسبنده شناخته می‌شود که محققان از آن برای بسته‌های بهینه‌سازی و کامپایل شده در جهت انجام محاسبات هدف بهره می‌برند. گسترده‌ترین بسته در محاسبات علمی NumPy (Numerical Python) است. بسته NumPy روال‌های اساسی را برای دست‌کاری آرایه‌ها و ماتریس‌های بزرگ داده‌های عددی ارائه می‌دهد.

علاوه بر این، بسته SciPy (Scientific Python) عملکرد NumPy را با مجموعه الگوریتم‌هایی مانند کمینه‌سازی، تبدیل فوریه، رگرسیون و سایر تکنیک‌های کاربردی ریاضی گسترش می‌دهد. محبوبیت هر دو بسته در جامعه علمی در حال افزایش است. آن‌ها پایتون را با بسته‌های تجاری گران‌قیمت مانند MatLab، قابل‌مقایسه و حتی در مواردی بهتر کرده‌اند.

پایتون به‌عنوان یک‌لایه چسبنده

پایتون در محاسبات علمی و رایانش سریع و یا به‌اختصار HPC

تیمی از محققان کالج امپریال لندن، قابلیت حیات پایتون را به‌عنوان پلتفرمی برای کاربردهای HPC مولد، قابل‌حمل و کارآمد در مقیاس پتا نشان دادند. فردی ویدردنFreddie Witherden، یکی از اعضای این گروه، گفت که پایتون یک‌زبان درجه‌یک برای رایانش‌های سریع است. او سه دلیل برای این موضوع بیان کرد که در آن‌ها تأکید بیشتری بر عملکرد برنامه و بهره‌وری توسعه‌دهندگان و کاربر با کدهای رایانش سریع بود. همچنین تمایل برنامه‌های رایانش سریع برای تکیه‌بر API‌های شخص ثالث و استفاده از تولید کد برای رسیدگی به تنگناهای عملکرد رو به رشد است. وی افزود که پایتون می‌تواند به این عوامل رسیدگی کند و بالاترین سطوح عملکرد را روی سخت‌افزار HPC در دسترس محققان قرار دهد. این گروه نامزد دریافت جایزه معتبر ACMAssociation for Computing Machinery گوردون بل نیز شد.

پایتون در محاسبات علمی و رایانش سریع و یا به‌اختصار HPC

نظر یک متخصص برنامه‌نویسی

به‌طور خاص، انتخاب زبان برنامه‌نویسی برای کاربران نهایی بسیار متفاوت از زبان برنامه‌نویسی برای کسانی است که سیستم‌ها، کتابخانه‌ها، کامپایلرها و زمان‌های اجرا را پیاده‌سازی می‌کنند. برای اولی، پایتون محبوب است زیرا اکثر مدل‌های برنامه‌نویسی کاربر نهایی مبتنی بر پایتون هستند (مانند TensorFlow، PyTorch)، بسته‌های پایتون برای محاسبات با کارایی بالا و علمی به‌طور گسترده در دسترس هستند و پایتون بهره‌وری برنامه‌نویسی بالایی را ارائه می‌دهد. بااین‌حال، برای پیاده‌سازی مدل‌های برنامه‌نویسی اساسی، کتابخانه‌ها و یا کامپایلرها زبان‌های‌ C، C++ و CUDA زبان‌های انتخابی افراد هستند. درنهایت، تمام بسته‌های پایتون عملکردی خود به‌صورت داخلی به کتابخانه‌های نوشته‌شده در C، C++ یا CUDA نگاشت می‌شوند؛ بنابراین، C و C++ هنوز هم‌زبان‌های انتخابی برای پیاده‌سازی کتابخانه‌های زیربنایی، کامپایلرها، تولیدکنندگان کد یا زمان‌های اجرا هستند.

نظر یک متخصص برنامه‌نویسی

پایتون درواقع زبان مورداستفاده در محاسبات علمی و با کارایی بالا است. ازآنجایی‌که ساده، مقیاس‌پذیر، همه‌کاره، کارآمد و مبتنی بر پلتفرم است، در بین برنامه نویسان، مهندسان یادگیری ماشین و تحلیلگران و دانشمندان داده محبوبیت پیدا می‌کند. این زبان برنامه‌نویسی شامل صدها کتابخانه و چارچوب در دسترس عموم و بسته‌های غنی از ویژگی برای دست‌کاری داده‌ها (Pandas) و یادگیری ماشین (scikit-learn) است. علاوه بر این، پایتون در چندین چارچوب هوش مصنوعی سازمانی (TensorFlow، PyTorch و غیره) استفاده‌شده است. به دلیل فراوانی ابزارهای منبع باز، به نظر می‌رسد که دانشگاه‌ها از R (و پلتفرم‌های مشابه) دور می‌شوند و به پایتون اجازه می‌دهد تا به‌عنوان زبان ترجیحی در میان علاقه‌مندان ظاهر شود.

جدیدترین اخبار هوش مصنوعی ایران و جهان را با هوشیو دنبال کنید

مقاله ما چطور بود؟

میانگین امتیاز / ۵. تعداد ارا :

مطالب پیشنهادی مرتبط

اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
Please enable JavaScript in your browser to complete this form.