Google Colab - כלי חובה למפתחים ו-Data Scientists
- ולריה איינבינדר
- Data science, תכנות
- 15 Oct, 2024
13 פיצ'רים וטיפים שימושיים
מה זה Google Colab?
Colaboratory, או בקיצור "Colab", הוא מוצר של Google Research. כלי זה מאפשר לכל אחד לכתוב ולהריץ קוד python דרך הדפדפן. Colab מתאים במיוחד למשימות ניתוח נתונים, data sciense, למידת מכונה (ML) ו-AI.
Google Colab מבוסס על Jupyter Notebook, יישום אינטרנטי ליצירת "מסמכים חישוביים" (לפי הגדרת יוצרי Jupyter Notebook). במילים פשוטות, Jupyter Notebook מאפשר לכם ליצור מסמך מרוכז (או "מחברת") הכולל קטעי קוד, תוצאות הרצה, טקסטים, תמונות ועוד. בנוסף לקריאת המסמך המעוצב הזה וכתיבתו, ניתן גם להריץ בו את קטעי הקוד ולבחון את הקלטים באותו מסמך.
אם אינכם מכירים את Jupyter Notebook, מומלץ להציץ בדוגמה – תמונה שווה אלף מילים...
למי שכבר מכיר את Jupyter Notebook, ניתן להגדיר את Google Colab כ-: "Jupyter Notebook על סטרואידים שרץ בענן" 💪
Google Colab הוא יישום חינמי 🆓 שזמין לשימוש עם חשבון Google רגיל (בדומה ל-Google Drive או Gmail).
מקרי שימוש - מתי כדאי להשתמש ב-Google Colab
- למידה: אם אתם חדשים ב-Python, ואתם מחפשים דרך קצרה לעקוב אחר מדריך כלשהו, או לכתוב ולבדוק קוד Python פשוט, Colab היא אפשרות מצוינת! כל מה שעליכם לעשות הוא לפתוח את הדפדפן ולהתחיל לקודד - אין צורך בהתקנות!
- סביבת ניסויים: גם אם את/ה מפתח/ת מנוסה, ועובד/ת על פרויקט מורכב, תמצא/י Google Colab שימושי מאוד אם ברצונך לנסות חבילות לא מוכרות (ואולי כבדות) ללא צורך להתקין אותן בסביבה המקומית שלך!
- מצגות / הרצאות: אם עליכם להעביר הרצאה על נושא שדורש להציג ו/או להריץ קוד Python, Google Colab הוא החבר הכי טוב שלך! ראשית, הוא מאפשר לכתוב ולהריץ את הקוד שלך במהלך ההרצאה בצורה חלקה, ובדרך מאוד אינפורמטיבית (תבדוק את הטיפים שלי למטה). בנוסף, אם את/ה מעביר/ה איזושהי סדנה מעשית/קורס לחברות, את/ה בטח יודע/ת איזה כאב ראש 🤕 זה לשכנע אותם להתקין משהו על המחשבי החברה שלהם. עכשיו תאר/י לעצמך מה צריך כדי לשכנע את מחלקת ה-IT להתקין את כל הדברים הדרושים לסמינר חד-יומי בלמידה עמוקה, למשל. דרישות ההתקנה יכללו כנראה: python, pip, תריסר חבילות python, jupyter, וכו'... יש סיכוי גדול שהם יוותרו על הסשן שלך במקום להשקיע עשרות שעות IT כדי להתקין הכל על המחשבים האישיים של 30 עובדים. מכיוון ש-Colab מאפשר להריץ את כל הקוד ללמידה עמוקה בענן באמצעות הדפדפן שלך, והדבר היחיד שצריך הוא חשבון Google, הצלחתי לערוך את הקורסים שלי בקלות לתאגידים רבים (וה-IT שלהם היה שמח והודה ללא סוף)
- Data science: אם את/ה מדען נתונים, או אם את/ה עובד/ת על פרויקט אישי שכולל ניתוח נתונים ו/או למידת מכונה, Google Colab לא רק יספק לך סביבה נוחה ואינטראקטיבית עם כל החבילות הפופולריות ביותר מותקנות מראש, אלא גם יספק לך GPU חינמי לאימון מודלים!
יתרונות עיקריים
- אין צורך בהורדות או התקנות! באמת, בכלל לא! Google Colab מבוסס על Python 3 ומגיע עם חבילות עיקריות למדע נתונים, למידת מכונה, למידה עמוקה, עיבוד תמונה ו-NLP מותקנות מראש: numpy, pandas, sklearn, scipy, matplotlib, seaborn, tensorflow, pytorch, nltk, spacy, ורבים נוספים זמינים לך באופן מיידי.
- משאבי מחשוב זמינים ללא עלות! המשאבים שאת/ה מקבל/ת הם כדלקמן: — 12 גיגה-בייט RAM — 100 גיגה-בייט שטח דיסק — GPU/TPU ❗️ בואו נודה בזה, לא לרבים מאיתנו יש GPU מותקן על המחשבים הניידים האישיים שלהם, כך שאם את/ה עובד/ת עם מודלים כבדים, היכולת להשתמש ב-GPU היא יתרון חשוב ביותר!
- שיתוף פעולה Google Colab מאפשר לך לכתוב קוד בצורה אינטראקטיבית ונוחה, לשתף אותו עם אחרים ולשתף איתם פעולה, ממש כאילו היה מסמך רגיל.
13 פיצ'רים וטיפים שימושיים
- העלאת / הורדת קבצים: פשוט לחצו על סמל התיקיה 📁 בתפריט השמאלי, ותקבלו גישה לקבצים של הסשן הנוכחי. מכאן תוכלו להעלות ולהוריד קבצים בקלות:
לאחר גרירה ושחרור פשוטה תוכלו לגשת לקבצים שהעליתם מתוך קוד ה-Python באופן הבא:
שימו לב שכל הקבצים שהעליתם זמינים כל עוד הסשן הנוכחי פעיל. לאחר ניתוק הסשן כל הקבצים יאבדו. לכן, מומלץ לחבר Google Drive ל Colab כדי להבטיח שכל הקבצים שתיצרו מהקוד שלכם ישמרו בכונן בבטחה.
- חיבור ה-Google Drive שלכם: פתחו את התפריט השמאלי ולחצו על סמל ה-Drive:
עקבו אחר ההוראות ואשרו את הגישה לכונן, ובתוך שניות ספורות כל הקבצים מהכונן יהיו זמינים לקוד ה-Python שלכם ללא צורך בהעלאה או הורדה:
- טבלאות אינטראקטיביות לניתוח נתונים: טבלאות אינטראקטיביות מאפשרות לכם לצפות, לסנן ולמיין את הנתונים בטבלה לא רק מהקוד, אלא גם בעזרת ממשק משתמש ידידותי.
פשוט לחצו על הסמל מתחת לטבלה, ותקבלו אפשרויות חיפוש, סינון ומיון מלאות.
- תצוגת משתנים (Variable Inspector): נסו את תצוגת המשתנים של Colab (לחצו על סמל x בתפריט השמאלי). הוא מציג את כל המשתנים המוגדרים כרגע במחברת שלכם ומאפשר לבחון אותם מקרוב. המשתנים מתעדכנים אוטומטית עם כל הרצה של קוד.
- שיתוף פעולה עם הערות: הערות זמינות עבור כל תא קוד במחברת Colab, והן פועלות בדומה להערות ב-Google Docs. פיצ׳ר נהדר לשיתוף פעולה!
- מצב Playground: 🤾♀ במצב Playground השינויים שתעשו במחברת לא ישמרו. מתאים מאוד למצגות ומשחק עם הקוד! גשו למצב Playground דרך התפריט העליון: קובץ => פתחו במצב Playground.
כעת תוכלו לשחק בבטחה עם הקוד מבלי לשנות את המחברת המקורית.
- תוכן עניינים: השתמשו בתוכן עניינים אוטומטי של המחברת שלכם, וכך לעולם לא תלכו לאיבוד ככל שהיא מתארכת. לחצו על הסמל העליון בתפריט השמאלי, ותקבלו תוכן עניינים שניתן לנווט בו, המבוסס על כותרות ומקטעים שכתבתם.
- טפסים: טפסים מאפשרים לכם לקבל קלטים ממשתמשים בצורה אינטראקטיבית וידידותית, לשמור את הקלטים במשתנים ולהמשיך לעבוד איתם בקוד. הטפסים במחברת יראו כך:
הקוד הבא ייצור את הטופס הראשון שהוצג לעיל.
עיינו בדוקומנטציה של Colab לאפשרויות נוספות ודוגמאות קוד.
- אינטגרציה עם GitHub: ניתן לשמור את כל המחברות שלכם בחשבון GitHub. בתפריט העליון נווטו ל-קובץ => שמור עותק ב-GitHub, ולאחר תהליך אימות קצר תוכלו לסנכרן את מחברות Colab עם GitHub.
- פקודות magic שימושיות: פקודות magic ב-Jupyter הן פקודות מיוחדות המספקות פונקציות ייחודיות. הן נכתבות בתא קוד רגיל והפקודה מסומנת ב-% או %%:
- %%time: מציגה את משך הזמן שלוקח לתא קוד לרוץ.
- %%html: מעצב את קוד ה-HTML שנכתב בתא.
- %who: מציג את המשתנים המוגדרים כרגע.
לפקודות נוספות עיינו ב-תיעוד של Jupyter.
- הרצת פקודות טרמינל רגילות: אם אתם צריכים להריץ פקודת טרמינל, פשוט הוסיפו סימן קריאה (!) לפני הפקודה, כמו ls, cp, pip install וכו'.
- שימוש ב-GPU / TPU בחינם 🆓: אפשרו שימוש ב-GPU/TPU לסשן הנוכחי דרך התפריט העליון: קובץ => ערוך => הגדרות מחברת.
מומלץ להשתמש ב-GPU רק במידת הצורך, שכן המשאבים מוגבלים, אך לרוב יש די והותר לשימוש אישי.
- תפריט הפקודות: קיימות אפשרויות נהדרות נוספות ב-Google Colab. תוכלו למצוא אותן בתפריט הפקודות (Commands Palette). בתפריט העליון, נווטו ל-כלים => תפריט הפקודות, והמשיכו לגלות!
אני מקווה שמצאתם משהו חדש ושימושי בבלוג הזה.
תודה שקראתם!