چگونه یک مجموعه داده Kaggle را مستقیماً در یک نوت بوک Google Colab بارگیری کنیم
Kaggle یک پلتفرم رقابتی محبوب مبتنی بر علم داده است که دارای جامعه آنلاین بزرگی از دانشمندان داده و مهندسان یادگیری ماشین است.
این پلتفرم حاوی تعداد زیادی مجموعه داده و نوت بوک است که می توانید از آنها برای یادگیری و تمرین علم داده و مهارت های یادگیری ماشینی خود استفاده کنید. آنها حتی مسابقاتی دارند که می توانید در آنها شرکت کنید.
Kaggle یک پلتفرم 100٪ رایگان برای همه کاربران ارائه می دهد - اما بسته به منابعی که استفاده می کنید محدودیت هایی وجود دارد.
به عنوان مثال، شما می توانید از سیستم CPU آنها برای مدت نامحدودی استفاده کنید. اما محدودیت های سختی در استفاده از GPU و TPU وجود دارد. شما می توانید از GPU آنها برای 30 ساعت و TPU برای 20 ساعت در هفته استفاده کنید. هر هفته بازنشانی میشود، و سپس در شروع هفته جدید 30 ساعت استفاده از GPU و 20 ساعت استفاده از TPU دریافت میکنید.
در کنار Kaggle، پلتفرم های محبوب دیگری برای مهندسان یادگیری ماشین و دانشمندان داده وجود دارد - مانند Google Colaboratory یا به اختصار Google Colab.
در Google Colab میتوانید از CPU و GPU آنها نیز استفاده کنید، اما نسخههای رایگان محدودیتهای بیشتری نسبت به حساب رایگان Kaggle دارند. در Google Colab، شما نمی توانید هیچ قدرت محاسباتی GPU را تا زمانی که آن را از واحدهای رایگان خود اختصاص دهند، دریافت کنید. شما نمی دانید چند ساعت می توانید استفاده کنید، و حتی نمی دانید که آیا در چند روز آینده فرصتی برای دریافت واحد دارید یا خیر.
برای دریافت تمام ویژگی ها، باید در برنامه های حرفه ای آنها مشترک شوید که بسیار گران هستند.
اما گاهی اوقات ممکن است بخواهید از Colab در بیشتر موارد برای کارهای کوتاه استفاده کنید. در Colab، می توانید مستقیماً Google Drive خود را متصل کرده و از مجموعه داده های خود از آنجا استفاده کنید. همچنین در صورت تمایل می توانید خروجی خود را از نوت بوک در Google Drive ذخیره کنید.
با این حال، زمانی که روی یک پروژه کار می کنید، گاهی اوقات می خواهید از مجموعه داده های Kaggle در Google Colab استفاده کنید. پس باید مجموعه داده را از Kaggle دانلود کنید و آن را در حافظه موقت Colab یا Google Drive خود آپلود کنید.
احتمالاً می توانید حدس بزنید که این یک فرآیند بسیار وقت گیر است.
اما راهی وجود دارد که می توانید مستقیماً یک مجموعه داده Kaggle را با استفاده از یک فراخوانی API در نوت بوک Google Colab بارگیری کنید! در این مقاله قصد دارم به شما نشان دهم که چگونه می توانید این کار را انجام دهید.
فهرست مطالب
من این آموزش را برای درک بهتر به بخش های جداگانه تقسیم کردم. شما می توانید یک نمای کلی از کل مقاله را در اینجا دریافت کنید:
Google Colab را برای استفاده از Kaggle API راه اندازی کنید
کتابخانه Kaggle را نصب کنید
Google Drive را به Colab سوار کنید
Token Kaggle API را به Colab Notebook اضافه کنید
مجموعه داده Kaggle را دانلود کنید
مجموعه داده Kaggle Competition را دانلود کنید
فایل Specifc را از مجموعه داده Kaggle Competition دانلود کنید
ویدیو
اگر می خواهید تمام مراحل یک ویدیو را تماشا کنید، خوش شانس هستید - من این ویدیو را فقط برای شما ساخته ام:
انواع مجموعه داده های Kaggle
به طور معمول Kaggle دو نوع مجموعه داده ارائه می دهد: مجموعه داده های معمولی که هر کسی می تواند آپلود کند و مجموعه داده های رقابتی. در مجموعه داده های مسابقه، سازمان دهندگان مسابقه معمولا مجموعه داده ها را اضافه/آپلود می کنند.
حتی اگر میتوانید مجموعه دادههای Kaggle را به راحتی دانلود کنید، اگر در آن مسابقه شرکت نکنید، نمیتوانید مجموعه دادههای مسابقه را دانلود کنید. اما برخی از مسابقات باز هستند و شما می توانید از طریق "تأخیر ارسال" به مجموعه داده های آنها دسترسی داشته باشید. پس فقط حتما چک کنید
پیش نیازها
برای گذراندن این آموزش و استفاده بیشتر از آن، به یک حساب کاربری Kaggle نیاز دارید، و این کاملا رایگان است. به سادگی به وب سایت رسمی Kaggle بروید و اگر قبلاً حسابی ندارید، یک حساب کاربری ایجاد کنید.
همچنین به Kaggle's API نیاز خواهید داشت. به تنظیمات حساب Kaggle خود بروید. به بخش API بروید و روی «Create New Token» کلیک کنید. به خاطر داشته باشید که Kaggle به شما اجازه نمی دهد چندین توکن را نگه دارید. شما می توانید تنها یک توکن فعال برای حساب Kaggle خود استفاده کنید.
با این کار یک فایل kaggle.json
در اختیار شما قرار می گیرد. آن را ایمن نگه دارید، زیرا بعداً باید از آن استفاده کنید.
اگر می خواهید از Google Colab استفاده کنید، به یک حساب Google نیز نیاز دارید. ممکن است قبلاً یکی داشته باشید، اما اگر ندارید، ادامه دهید و یک حساب جدید در Google ایجاد کنید.
اکنون میتوانید Kaggle JSON خود را در درایو Google خود ذخیره کنید. من ترجیح می دهم یک پوشه جدید ایجاد کنم و فایل JSON خود را در آنجا نگه دارم تا هر زمان که بخواهم بتوانم آن را در Colab فراخوانی کنم.
چگونه Google Colab را برای استفاده از Kaggle API راه اندازی کنیم
شما می توانید به سادگی هر نوت بوک Colab را در جایی که می خواهید از Kaggle API برای دانلود مجموعه داده استفاده کنید، باز کنید.
کتابخانه Kaggle را نصب کنید
قبل از شروع کار با Kaggle باید کتابخانه Kaggle Python را نصب کنید. شما به سادگی می توانید آن را در دفتر یادداشت colab با استفاده از دستور نصب کنید ! pip install kaggle
.
Google Drive را به Colab سوار کنید
اکنون باید Google Drive خود را روی نوت بوک Colab نصب کنید، زیرا فایل kaggle.json
خود را در درایو Google خود آپلود کرده اید.
شما به سادگی می توانید با استفاده از دو خط کد زیر این کار را انجام دهید:
from google.colab import drive drive.mount('/content/drive')
مطمئن شوید که به آن اجازه دسترسی به Google Drive خود را داده اید:
اگر نماد پوشه نصب شده را بازخوانی کنید، Google Drive خود و تمام محتوای موجود در نوت بوک را خواهید دید.
توکن Kaggle API را به نوت بوک Colab اضافه کنید
اکنون باید توکن Kaggle API را به نوت بوک اضافه کنید. اما قبل از آن، می توانید به سادگی با استفاده از دستور، یک دایرکتوری موقت برای Kaggle در محل نمونه موقت در درایو Colab ایجاد کنید ! mkdir ~/.kaggle
.
اکنون باید فایل JSON آپلود شده خود را در دایرکتوری موقت Kaggle کپی کنید. شما به آدرسی که قبلاً فایل JSON خود را در آن آپلود کرده اید نیاز دارید. می توانید آن پیوند را مستقیماً از پوشه درایو در نوت بوک بگیرید.
شما می توانید مسیر را مستقیماً به این صورت دریافت کنید.
سپس می توانید از دستور copy مانند زیر استفاده کنید:
! cp kaggle_json_path ~/.kaggle/
برای مثال، فایل JSON من در "/content/drive/MyDrive/Kaggle_API/kaggle.json" قرار دارد، پس دستور من این خواهد بود:
! cp /content/drive/MyDrive/Kaggle_API/kaggle.json ~/.kaggle/
اکنون باید مجوزهای فایل را برای خواندن/نوشتن برای مالک فقط برای ایمنی تغییر دهید.
برای دستیابی به آن می توانید از دستور زیر استفاده کنید:
! chmod 600 ~/.kaggle/kaggle.json
چگونه مجموعه داده های Kaggle را دانلود کنیم
برای دانلود یک مجموعه داده معمولی Kaggle، ابتدا باید مجموعه داده را در Kaggle پیدا کنید.
فرض کنید من می خواهم مجموعه داده زیر را از Kaggle دانلود کنم:
URL کامل مجموعه داده را تحلیل کنید که در این مورد عبارت است از:
https://www.kaggle.com/datasets/mdfahimbinamin/fastsurfer-processed-3d-brain-mri-from-adni
ما به رشته "account_name_of_the_dataset_owner/dataset_path" نیاز داریم. از URL، نام حساب صاحب مجموعه داده mdfahimbinamin است. مسیر مجموعه داده ها به صورت fastsurfer-processed-3d-brain-mri-from-adni است.
پس برای دانلود این مجموعه داده دقیق از Kaggle در Google colab خود، دستور شما این خواهد بود:
! kaggle datasets download mdfahimbinamin/fastsurfer-processed-3d-brain-mri-from-adni
کل فرآیند در رایانه شخصی ابری گوگل انجام می شود. پس سرعت دانلود باید بسیار سریع باشد.
بهطور پیشفرض، مجموعه دادهها به صورت فایل .zip
هستند. پس اگر نیاز دارید که آن را از حالت فشرده خارج کنید، می توانید به سادگی از دستور زیر استفاده کنید:
! unzip dataset-path.zip
برای مثال، نام/مسیر مجموعه داده من "fastsurfer-processed-3d-brain-mri-from-adni" بود. پس من از دستور زیر استفاده خواهم کرد:
! unzip fastsurfer-processed-3d-brain-mri-from-adni.zip
خودشه! 😊
نحوه دانلود مجموعه داده رقابت Kaggle
قبل از دانلود مجموعه داده Competition، باید مطمئن شوید که یا به آن رقابت ملحق شدهاید یا با استفاده از همان حساب Kaggle که برای کد Kaggle API استفاده میکنید، «تأخیر ارسال» را انتخاب کردهاید.
فرض کنید من در حال پیوستن به رقابت ConnectX در Kaggle هستم.
من باید روی "پیوستن به مسابقه" کلیک کنم تا به مجموعه داده آنها دسترسی پیدا کنم.
اما اگر میخواهم مجموعه دادهای را از یک مسابقه گذشته دانلود کنم، باید به "ارسال دیرهنگام" آنها بپیوندم تا مجموعه داده آنها را به دست بیاورم.
پس از کلیک بر روی "تأخیر ارسال"، باید URL را بگیرم. این بار، من از طبقه بندی باینری با مجموعه داده بانکی Churn استفاده می کنم. URL کامل این است: https://www.kaggle.com/competitions/playground-series-s4e1/overview
از URL، می توانم ببینم که مجموعه داده در "playground-series-s4e1" قرار دارد. پس من از دستور زیر برای دانلود مجموعه داده در نوت بوک Google Colab خود استفاده می کنم:
! kaggle competitions download playground-series-s4e1
خودشه! 😊
نحوه دانلود یک فایل خاص از مجموعه داده های Kaggle Competition
فرض کنید، من می خواهم یک فایل خاص را از مجموعه داده های مسابقه Kaggle دانلود کنم. من هم می توانم این کار را انجام دهم.
در مجموعه داده استفاده شده در بالا، می بینید که 3 فایل وجود دارد. فرض کنید می خواهم فقط فایل test.csv
را دانلود کنم.
برای انجام این کار، دستور به صورت زیر ساخته می شود: ! kaggle competitions download dataset-path -f file_name_with_extension
.
! kaggle competitions download playground-series-s4e1 -f test.csv
خودشه! 😊
نتیجه
امیدوارم اطلاعات ارزشمندی از مقاله به دست آورده باشید.
اگر از مراحل گام به گام لذت بردید، فراموش نکنید که در Twitter/X یا LinkedIn به من اطلاع دهید.
اگر به منبع باز علاقه دارید، می توانید من را در GitHub نیز دنبال کنید. حتما وب سایت من ( https://fahimbinamin.com/ ) را نیز تحلیل کنید!
اگر دوست دارید ویدیوهای برنامه نویسی و مرتبط با فناوری را تماشا کنید، می توانید کانال یوتیوب من را نیز تحلیل کنید. همچنین می توانید نوشته های دیگر من را در Dev.to تحلیل کنید.
بهترین ها برای سفر برنامه نویسی و توسعه شما. 😊
شما می توانید آن را انجام دهید! تسلیم نشو، هرگز! ❤️
ارسال نظر