16 نصيحة لإستخدام Google Colab بكل إحترافية

يعد كولاب Colab أحد أفضل المنتجات من شركة Google. و ذلك لأنها وفرت معالجات رسوميه GPUs مجانية للجميع في حين أن الواجهة سهلة الإستخدام للغاية،

ومع ذلك، نجد أن الكثير من المستخدمين غير مستفيدين من جميع مميزات Google Colab.

في هذه المقالة، سنشارك معكم 16 ميزة غير معروفة للكثيرين:

1- مفكرة المسودة

سيناريو شائع جدًا يحدث لأغلبنا هو أن لدينا مجموعة من دفاتر الملاحظات التي لا تحتوي على عناوين والتي تم إنشاؤها عندما نحاول تجربة أشياء مؤقتة على Colab.

Clutter of Untitled Notebooks in Colab

لحل هذه المشكلة، يمكننا إستخدام الرابط أدناه. سيتم فتح دفتر ملاحظات خاص ولن يتم حفظ أي تغييرات تجريها على حسابك الشخصي:

https://colab.research.google.com/notebooks/empty.ipynb

2- وقت تنفيذ الخلية

يوفر Colab ميزة لحساب الوقت المقدر لتنفيذ الخلية. فبعد تنفيذ الخلية، ما عليك سوى التمرير فوق رمز تشغيل الخلية وستحصل على تقدير لوقت التنفيذ المستغرق.

Execution Time by hovering on run cell

3- تشغيل جزء من خلية

يمكنك أيضًا تشغيل جزء من الخلية فقط بتحديده والضغط على زر Runtime> Run Selection أو بإستخدام إختصار لوحة المفاتيح Ctrl + Shift + Enter.

Running specific line in colab

4. إختصارات لوحة المفاتيح Jupyter Notebook

إذا كنت على دراية بإختصارات لوحة المفاتيح من Jupyter Notebook، فإنها لا تعمل مباشرة في Colab. لكن في أغلب الأحيان ما عليك سوى إضافة Ctrl + M قبل أي اختصار لوحة مفاتيح كنت تستخدمه في Jupyter.

ActionJupyter NotebookGoogle Colab
Add a cell aboveACtrl + M + A
Add a cell belowBCtrl + M + B
See all keyboard shorcutsHCtrl + M + H
Change cell to codeYCtrl + M + Y
Change cell to markdownMCtrl + M + M
Interrupt the kernelIICtrl + M + I
Delete a cellDDCtrl + M + D
Checkpoint notebookCtrl + SCtrl + M + S

فيما يلي بعض الإستثناءات البارزة لهذه القاعدة التي تم تغيير إختصارها بالكامل أو الإحتفاظ بها كما هي.

ActionJupyter NotebookGoogle Colab
Restart runtime00Ctrl + M + .
Run cellCtrl + EnterCtrl + Enter
Run cell and add new cell belowAlt + EnterAlt + Enter
Run cell and goto the next cell belowShift + EnterShift + Enter
Comment current lineCtrl + /Ctrl + /

5- إظهار وصف أي Class

يمكنك الإنتقال إلى تعريف أي Class بالضغط على Ctrl ثم النقر فوق إسم فئة.

على سبيل المثال، هنا نعرض تعريف الطبقة كاملة الإتصال في Keras بالضغط على Ctrl ثم النقر فوق إسمها.

Demo of jumping to class definition

6- فتح الدفاتر من GitHub

يوفر فريق Colab إضافة رسمية لمتصفح Chrome لفتح الدفاتر من GitHub مباشرة على كولاب. يمكنك تثبيته من هنا.

بعد التثبيت، أنقر فوق رمز Colab على أي دفتر ملاحظات GitHub لفتحه مباشرة.

Extension for opening github notebook in colab

أو بإمكاننا القيام بذلك يدوياً عن طريق تغيير الرابط من github.com إلى colab.research.google.com/github

https://github.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

إلى

https://colab.research.google.com/github/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

7- التغيير بين إصدارات Tensorflow

للتبديل إلى Tensorflow 1.15.2، إستخدم هذا الأمر:

%tensorflow_version 1.x

للتبديل إلى Tensorflow 2.2، إستخدم هذا الأمر:

%tensorflow_version 2.x

ستحتاج إلى إعادة تشغيل حتى يحدث التأثير. يوصي فريق Colab بإستخدام إصدار Tensorflow المثبت مسبقًا بدلاً من تثبيته من pip من أجل الحصول على أفضل أداء.

8- إستخدام Tensorboard

لإستخدام Tensorboard مباشرة من الدفتر. تحتاج فقط إلى تعيين موقع log بإستخدام –logdir.

للمزيد من المعلومات حول كيفية إستخدامها يمكنكم الإطلاع على الدفتر الرسمي

%load_ext tensorboard%tensorboard --logdir logs
Embedded Tensorboard in Colab

9- قياس حدود الموارد

يوفر Colab المواصفات التالية لإصداراتهم المجانية والمحترفة.

بناءً على حالة الإستخدام الخاصة بك، يمكنك التبديل إلى الإصدار الإحترافي بسعر 10 دولارات / شهريًا إذا كنت بحاجة إلى وقت تشغيل أفضل ووحدة معالجة رسومات وذاكرة إضافية.

VersionGPUGPU RamRAMStorageCPU CoresIdle TimeoutMaximum Runtime
FreeTesla K8011.44GB13.7GB37GB290 min12 hrs
ProTesla P10016GB27.4GB37GB490 min24 hrs

يمكنك عرض موارد GPU المخصصة لك عن طريق إستخدام الأمر التالي:

!nvidia-smi

و لمعرفة معلومات أكثر عن CPU إستخدام الأمر التالي:

!cat /proc/cpuinfo

وبالمثل، يمكنك عرض سعة RAM عن طريق الأمر

import psutil
ram_gb = psutil.virtual_memory().total / 1e9
print(ram_gb)

10- جداول Pandas التفاعلية

يوفر Colab إضافة للدفاتر من أجل إضافة الفرز التفاعلي وقدرات التصفية إلى إطارات بيانات Pandas.

لإستخدامه، قم بالأمر الأتي :

%load_ext google.colab.data_table

يمكنك رؤية جداول pandas العادية والجداول التفاعلية بعد إستخدام الإضافة

Regular pandas dataframe output
Interactive pandas dataframe output

11- شارة “Open in Colab”

يمكننا إضافة شارة “Open in Colab” لدفاتر jupyter أو في GitHub عن طريق أمر markdown الأتي :

Open In Colab
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/notebooks/basic_features_overview.ipynb)

12- إستخدام الذاكرة والتخزين الحالي

يوفر Colab مؤشرا على ذاكرة الوصول العشوائي وإستخدام القرص. إذا قمت بالتمرير فوق المؤشر، فستحصل على نافذة منبثقة بالإستخدام الحالي والسعة الإجمالية.

إظهار الذاكرة الحالية واستخدام ذاكرة الوصول العشوائي في كولاب

13- إخطار عند الإنتهاء من التدريب

إذا كنت تقوم بتشغيل مهمة طويلة مثل تدريب نموذج، فيمكنك أن تخبر Colab لإرسال إشعار على سطح المكتب بمجرد إكتماله.

لتمكين ذلك، إنتقل إلى أدوات Tools ثم الإعدادات Settings ثم الموقع Site وقم بتمكين خانة الإختيار. Show desktop notifications

ستحصل على نافذة منبثقة لتمكين إشعار المتصفح. ما عليك سوى قبوله وسيقوم colab بإعلامك عند إكتمال المهمة حتى لو كنت في علامة تبويب أو نافذة أو تطبيق آخر.

14- تشغيل كود جافا سكريبت

يمكنك تشغيل كود javascript بإستخدام الأمر السحري. %%javascript

15- قم بتشغيل VSCode على colab

يمكنك تشغيل محرر VSCode كامل على Colab بإتباع الطريقة التي المشروحة في هذا المقال.

16- تشغيل JupyterLab على colab

يمكنك فتح JupyterLab على colab عن طريق تشغيل الأوامر التالية في خلية:

!pip install jupyterlab pyngrok -q

# Run jupyterlab in the background
!nohup jupyter lab --ip=0.0.0.0 &

# Get ngrok URL mapped to port 8888
from pyngrok import ngrok
print(ngrok.connect(8888))

بمجرد التنفيذ، أنقر فوق عنوان URL ngrok المطبوع للوصول إلى واجهة JupyterLab


المصادر

Amit Chaudhary (amitness.com)


مقالات أخرى

الكاتب

مقالات متعلقة

مستقبل الطائرات بدون طيا

1- مقدمة: الطائرات بدون طيار وث...

20 موضوعا في التعلم العمي

هل أنت جديد في التعلم العميق و...

تحديات إستخدام الدرون في

1- مقدمة: دور التكنولوجيا في تط...

اترك تعليقا