COLAB - גם אתה יכול לעבוד בחינם על פרויקט למידת המכונה שלך על המחשבים של גוגל
בלמידת מכונה אנחנו משתמשים במחברות לא פחות מאשר בסביבות פיתוח אחרות. המחברת הנפוצה ביותר היא Jupyter Notebook, והיא מאפשרת לעבוד על קוד בתוך ממשק הדפדפן, כולל: ייבוא מסדי נתונים, הרצת הקוד והצגת התוצאה באופן שהוא ידידותי למשתמש ונוח להצגה.
COLAB היא סביבת עבודה מבוססת Jupyter Notebook אשר מאוחסנת על השרתים של גוגל, ומציעה יתרונות רבים:
- מגיעה עם כל החבילות ההכרחיות לעשות למידת מכונה ובכך חוסכת מאתנו את הצורך להתקין הכל בעצמנו.
- התקנת החבילות שלא קיימות בסביבה היא מהירה וחלקה.
- גישה ל-GPU ולא רק ל-CPU בשביל להריץ תהליכים שצורכים כמות גבוהה של משאבי מחשוב.
- את המידע ניתן לאחסן בענן בתוך ה-Drive.
- חינמית בגבולות השימוש הסביר.
איך מתחילים?
- פותחים חשבון גוגל, אם אין לכם עדיין.
- מנווטים לכתובת: https://colab.research.google.com
- ופותחים מחברת חדשה.
עבודה עם המחברת של COLAB
לחיצה על כפתור +CODE מוסיפה תא.
בתוך התא אנחנו יכולים לכתוב קוד פייתון:
print('Hello Colab')
מריצים על ידי לחיצה על החץ בקצה השמאלי של השורה:
בתוך התא אנחנו יכולים לכתוב כמה שורות של קוד:
def count_to(upto):
for num in range(upto):
print(num)
count_to(3)
אנחנו יכולים להריץ גם פקודות טרמינל כי הסביבה עובדת על מערכת הפעלה לינוקס.
לדוגמה, כדי לברר היכן אנו נמצאים בתוך מערכת הקבצים:
! pwd
התוצאה:
/content
- כי זו תיקיית הבית שלנו כשאנו עובדים בסביבת COLAB.
בתוך מחברת אפשר לכתוב טקסט מרקדאון - גרסה פשוטה של HTML.
כדי להוסיף תא מרקדאון נלחץ על כפתור +TEXT.
אנחנו יכולים לכתוב טקסט פשוט.
או לייצר כותרות:
#Notebook 1
- ה-# בתחילת השורה מציין כותרת ראשית.
##Section 1
- ה-## מציין כותרת משנית.
אפשר גם רשימה. כל שורה ברשימה תתחיל בכוכבית:
* One
* Two
* Three
כדי להדגיש חלק במשפט נקיף אותו בשתי כוכביות:
Use **double asterisks** to make text bold
כדי להוסיף קישורים:
[link text](https://url)
לשיבוץ תמונות:
![title]("content/picture.png")
COLAB מגיעה עם כל חבילות התוכנה ההכרחיות ללמידת מכונה. נוסיף תא קוד ובתוכו נדביק את הקוד הבא כדי לראות כמה מהם:
import numpy as np
print(np.__version__)
import pandas as pd
print(pd.__version__)
import sklearn
print(sklearn.__version__)
import tensorflow as tf
print(tf.__version__)
התוצאה:
1.19.5
1.1.5
0.22.2.post1
2.4.1
- גרסה החבילה המותקנת על השרת.
ויש חבילות שלא משמשות בהכרח ללמידת מכונה:
import bs4
print(bs4.__version__)
import requests
print(requests.__version__)
import cv2
print(cv2.__version__)
איך מתקינים חבילות?
כמו בכל סביבת פייתון אפשר להשתמש במנהל החבילות pip מהטרמינל כדי להתקין חבילה.
לדוגמה, נתקין את Kaggle כי יש להם מאגר עשיר במיוחד של מסדי נתונים.
!pip install kaggle
אנחנו יכולים לייבא מסדי נתונים.
נייבא מסד נתונים מ-sklearn:
from sklearn import datasets
iris = datasets.load_iris()
נציג את המידע ממסד הנתונים:
iris.data
קבצים ותיקיות בסביבת COLAB
COLAB עובד בסביבת לינוקס כולל אפשרות לעבוד עם תיקיות וקבצים.
אפשר לכתוב לקובץ:
with open('testing.txt', 'w') as f:
f.write('colab is funtastic!')
או לקרוא קובץ:
with open('testing.txt', 'r') as f:
f_contents = f.read()
print(f_contents)
אפשר להעלות קבצים ישירות לתוך המחברת באמצעות קלאס colab:
from google.colab import files
uploaded = files.upload()
ואפשר גם להוריד קבצים:
files.download('testing.txt')
הבעיה היא שהמידע יתקיים כל עוד אתה ב-session. עם סיומו תצטרך להעלות הכל מחדש.
אם חשוב לך שהמידע שעליו אתה עובד ישמר גם בין ה-session-ים אתה יכול להתחבר ל- Google Drive כאמצעי אחסון.
כדי לעבוד עם הדרייב אנחנו צריכים קודם כל להעמיס אותו:
from google.colab import drive
drive.mount('/content/gdrive')
נכתוב לתוך הדרייב:
with open('/content/gdrive/My Drive/hello_drive.txt', 'w') as f:
f.write('Hello Google Drive')
נקרא מהדרייב:
!cat /content/gdrive/My Drive/hello_drive.txt
קיצורי מקלדת
כשעובדים לאורך זמן על המחברת העבודה עם הכפתורים יכולה להיות מייגעת. לכן, כדאי לשנן כמה קיצורי מקלדת לייעול העבודה.
כדי להריץ את התא הנוכחי נשתמש בצירוף המקשים:
Alt + Enter
כדי להוסיף שורה מעל או מתחת:
Ctrl + M + A
Ctrl + M + B
כדי לשנות את סוג התא למרקדאון:
Ctrl + M + M
למחיקת תא:
Ctrl + M + D
כדי לראות את תיעוד הפונקציה:
Shift + Tab
איך לעבוד עם GPU?
אחד היתרונות המהותיים בעבודה עם COLAB היא שניתן לעבוד עם GPU - המאפשר לערוך חישובים מקבילים על מספר רב של ליבות מעבד , מה שיכול להאיץ את תהליך הלמידה וחיוני למשימות של למידת מכונה דוגמת הרצת רשתות קונבולוציה. GPU הוא למעשה כרטיס מסך אבל הגרסה המשמשת ללמידת מכונה היא מאוד מסויימת ואף יקרה. כי מה שצריך ללמידת מכונה הוא כרטיס מסך של Nvidia שיודע להריץ קוד CUDA. אז למי שאין את הצורך או היכולת לרכוש בממון רב GPU יקר יכול להשתמש ב- COLAB.
איך עוברים לסביבת עבודה מבוססת GPU?
-
לוחצים על Runtime בתפריט הראשי:
-
מתוך התפריט המשתלשל בוחרים : Change runtime type:
-
מתיבת הדיאלוג שנפתחת בוחרים GPU, ולוחצים על Save:
לא הכל מושלם
COLAB מציע יתרונות רבים במחיר ללא תחרות אבל יש גם בעיות. ברגע שמסתיים session אז המידע והתוצאות של החישובים נעלמים. בנוסף, המחברת עלולה להפסיק לפעול ללא הודעה מוקדמת במיוחד כשעובדים עם GPU.
בכל זאת, COLAB היא הסביבה הנוחה ביותר למי שעושה את צעדיו הראשונים בלמידת מכונה.
לכל המדריכים בנושא של למידת מכונה
אהבתם? לא אהבתם? דרגו!
0 הצבעות, ממוצע 0 מתוך 5 כוכבים
המדריכים באתר עוסקים בנושאי תכנות ופיתוח אישי. הקוד שמוצג משמש להדגמה ולצרכי לימוד. התוכן והקוד המוצגים באתר נבדקו בקפידה ונמצאו תקינים. אבל ייתכן ששימוש במערכות שונות, דוגמת דפדפן או מערכת הפעלה שונה ולאור השינויים הטכנולוגיים התכופים בעולם שבו אנו חיים יגרום לתוצאות שונות מהמצופה. בכל מקרה, אין בעל האתר נושא באחריות לכל שיבוש או שימוש לא אחראי בתכנים הלימודיים באתר.
למרות האמור לעיל, ומתוך רצון טוב, אם נתקלת בקשיים ביישום הקוד באתר מפאת מה שנראה לך כשגיאה או כחוסר עקביות נא להשאיר תגובה עם פירוט הבעיה באזור התגובות בתחתית המדריכים. זה יכול לעזור למשתמשים אחרים שנתקלו באותה בעיה ואם אני רואה שהבעיה עקרונית אני עשוי לערוך התאמה במדריך או להסיר אותו כדי להימנע מהטעיית הציבור.
שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.
המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?
השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.