Diversity w polskim IT
Karan Bhanot
Karan BhanotPursuing PhD in Computer Science

Google Colab - pythonowy obszar roboczy w chmurze

Poznaj zalety narzędzia Google Colab, czyli chmurowego notatnika Jupyter.
14.08.20195 min
Google Colab - pythonowy obszar roboczy w chmurze

Przeniosłem się na nową maszynę do pracy. Mimo tego, że korzystanie z nowego sprzętu wymaga czasu na oswojenie się, nadal mogę kontynuować pracę nad moimi projektami i realizować moje kursy online poprzez Google Colab. To proste, jak logowanie się na konto Google.

W związku z tym postanowiłem podzielić się swoimi spostrzeżeniami na temat tego, dlaczego uważam Google Colab za tak użyteczny oraz podać kilka poleceń, które pomogły mi skuteczniej z niego korzystać bez większego wysiłku.

Co to jest Google Colab?

Notatnik wprowadzający do Google Colab

Google Colab, znany również jako Colaboratory, to środowisko Jupyter dostarczane i obsługiwane przez Google z możliwością pracy z procesorami, układami GPU, a nawet TPU. Działa niczym każdy inny Jupyter notebook. Możemy w nim kodować w Pythonie, pisać opisy jako markdown. Posiada też inne funkcje Jupytera i o wiele więcej.

Górna część zawiera wszystkie elementy sterujące służące do zapisywania notebooków, udostępniania notebooków w repozytoriach GitHub, zmiany środowiska uruchomieniowego, uruchamiania komórek i wiele innych. Część dolna podzielona jest na lewy panel, który zawiera spis treści i plików, a po prawej stronie znajduje się kompletny funkcjonujący notebook.

Dlaczego właśnie Google Colab?

Istnieje wiele powodów, dla których ktoś ktoś preferowałby korzystanie z usługi takiej jak Google Colab, ale poniżej podaje moje własne:

  1. Integracja z GitHub: Podczas gdy notebooki są zapisywane na naszym dysku Google, wolę również dzielić się niektórymi notebookami w ramach własnego repozytorium GitHub. Google Colab umożliwia bezpośrednie udostępnienie w dowolnym repozytorium po połączeniu z profilem na GitHub.
  2. Zero czasu na ustawianie: Aby rozpocząć pracę z Google Colab, wystarczy wejść na stronę https://colab.research.google.com/ i z menu kontekstowego wybrać NEW PYTHON 3 NOTEBOOK.
  3. Niezależność platformy: Ponieważ do notebooków Jupyter można uzyskać dostęp bezpośrednio z przeglądarki, możemy zrobić to na dowolnym komputerze, Mac, Windows, Linux itp. i będzie działać dokładnie tak samo.
  4. Dostępność darmowych zasobów: Trenowanie modeli deep learningu wymaga dużej mocy i dlatego nie wszystkie laptopy i komputery stacjonarne podołają temu zadaniu. Google Colab zapewnia bezpłatny dostęp do układów GPU, który możemy wykorzystać w naszych zadaniach związanych z deep learningiem.


Teraz, gdy rozumiemy czym jest Google Colab i jakie korzyści przynosi, zbadajmy kilka kluczowych aspektów. To z pewnością pomogło mi zwiększyć wydajność i uczynić moją pracę bardziej dostępną.

Szybkie skróty klawiszowe

Przemieszczanie się po komórkach jest łatwe. Wystarczy użyć klawiszy strzałek UP i DOWN na klawiaturze. Aby rozpocząć edycję komórki, wystarczy nacisnąć klawisz Enter. Aby wyjść z edycji komórki, wystarczy nacisnąć klawisz Esc.

Istnieją już predefiniowane skróty klawiaturowe, których można używać. Niektóre z najbardziej podstawowych obejmują Shift + Enter, aby uruchomić komórkę, Ctrl + M Y, aby przekonwertować komórkę do komórki kodu, Ctrl + M M, aby przekonwertować komórkę do komórki tekstowej i więcej. Pełną listę można uzyskać, przechodząc do Tools > Keyboard shortcuts... Możesz dostosowywać i zmieniać skróty według własnego uznania.

Oprócz predefiniowanych, dostosowywałem jeszcze dwa skróty zgodnie z moimi potrzebami. Ponieważ skróty związane z komórkami zaczynają się od kombinacji Ctrl + M, zdecydowałem, że zachowam to samo podczas konfigurowania własnych skrótów. Do tworzenia nowej komórki kodu stworzyłem skrót Ctrl + M C. Do tworzenia nowej komórki tekstowej stworzyłem skrót Ctrl + M T.

Podobne skróty istnieją i mogą być konfigurowane również dla komputerów Mac za pomocą Command Key.

Ładowanie zbiorów danych

Google Colab umożliwia nam dostęp do naszych zbiorów danych na wiele sposobów.

Wgrywanie zestawu danych

W lewym panelu wybierz nagłówek Files. Wybierz opcję Upload a następnie plik zbioru danych.

dataset.csv załadowany i odczytany przez pandas.

Jednakże pliki są usuwane przy odświeżaniu runtime'u, więc jeśli w jakiś sposób runtime zawiesi się bez zakończenia zadania, będziesz musiał je ponownie załadować.

Wczytaj zestaw danych z dysku Google

Po drugie, możemy importować zestawy danych, które są już zapisane na dysku Google. Jest to korzystne, ponieważ nie musimy ponownie ładować zbioru danych w przypadku awarii notebooka.

Aby zamontować dysk Google, używamy następującego kodu:

from google.colab import drive
drive.mount('/content/drive')


Po uruchomieniu tego kodu, podany jest link, który pozwala nam zalogować się na nasze konto i przedstawia token autoryzacyjny, który należy wpisać w odpowiednim miejscu, by wszystko zadziałało. Umożliwia nam to dostęp do zawartości naszego dysku Google za pomocą folderu My Drive wewnątrz /content/drive.

Ładowanie zestawu danych z dysku Google

Zapisywanie w repozytorium GitHub

Jedną z najbardziej fascynujących i przydatnych funkcji dla mnie była integracja pomiędzy Google Colab i GitHub. Wolę pracować na notebookach Jupyter i zapisywać moją pracę w konkretnych repozytoriach GitHub na moim koncie. Google Colab sprawia, że cały proces jest bezproblemowy i łatwy w obsłudze.

Z menu File wybieramy opcję Save a copy in GitHub... Ładuje ekran łączący nasze konto GitHub, co jest jednorazowym procesem, po którym jesteśmy witani kolejnym wyskakującym okienkiem. Możemy wybrać repozytorium, gałąź, nazwę pliku i komunikat o commicie. 

Zapisz notatnik w GitHub.

Możemy również dodać link do tego notebooka w repozytorium GitHub, dzięki czemu każdy przeglądający notebook na GitHub może szybko przejść do pracy.

Opcja Open in Colab w notebooku zapisanym przez Google Colab

Zmiana typu runtime'u

Jeśli kiedykolwiek pracowałeś z modelami do deep learningu, zrozumiesz rolę, jaką układ GPU może odegrać w zwiększaniu szybkości szkolenia. Google Colab oferuje opcję dodania GPU/TPU do naszego użytku całkowicie za darmo. Dzięki temu możemy trenować nasze modele głębokiego uczenia się w znacznie szybszym tempie.

Z menu Runtime wybierz opcję Change runtime type. W ramach akceleratora sprzętowego możemy wybrać None, aby kontynuować pracę z CPU lub runtime na GPU lub TPU w zależności od potrzeb.

Wybór pomiędzy różnymi opcjami sprzętowego przyspieszania.

Po kliknięciu SAVE, runtime odświeży się i a w prawym górnym rogu pokaże się CONNECTING, aby oznaczyć, że teraz aktywujemy nowy typ runtime'u.

Udostępnianie Notebooków Colaba

Kolejną ważną cechą jest dzielenie się naszą pracą ze światem. Opcja udostępniania w prawym górnym rogu Google Colab pozwala nam wybrać adres e-mail z listy w celu udostępnienia notatnika lub po prostu uzyskać link do udostępnienia.

Współdzielenie notebooka

Wniosek

Google Colab to świetny sposób na nadążanie za pracą i uzyskiwanie do niej dostępu, gdziekolwiek chcesz. Posiada wiele funkcji, takich jak tworzenie łatwych skrótów, udostępnianie i zapisywanie notatników i wiele innych. 


Oryginał tekstu w języku angielskim przeczytasz tutaj.

<p>Loading...</p>