
Kiedy rozpoczynasz wyzwanie Kaggle, potrzebny jest zazwyczaj komputer do przechowywania w pamięci całego zestawu danych i przyspieszenia szkolenia za pomocą procesora. Zamiast kupować nowy komputer wolę zrobić to za darmo dzięki środkom o wartości 300 dol. oferowanym przez Google Cloud Platform.
Krok 1: Utwórz darmowe konto w Google Cloud
W tym kroku możesz utworzyć nowe konto Google Account lub zalogować się na istniejące konto na stronie https://cloud.google.com/. Następnie należy wprowadzić informacje dotyczące płatności i zweryfikować konto.
Krok 2: Utwórz nowy projekt w GCP
Kliknij trzy kropki pokazane na poniższym obrazku i kliknij znak +, aby utworzyć nowy projekt.
Krok 3: Utwórz instancję VM
Kliknij trzy linie w górnym lewym rogu, potem z menu Compute (Obliczenia) wybierz opcję Compute Engine (Silnik obliczeniowy).
Kliknij opcję Create new instance (Utwórz nową instancję). Nazwij instancję, wybierz swój region. W moim przypadku jest to „europe-west1-b”. Wybierz swój rodzaj urządzenia (Machine type). (U mnie to „8v CPUs 52 GB memory”, bo mam bardzo duży zestaw danych). GCP poda szacunkową cenę zgodnie z Twoją konfiguracją.
Możesz także dostosować maszynę wirtualną, jeśli potrzebujesz procesorów GPU. Uwaga, procesory GPU są dostępne tylko w kilku regionach. Upewnij się, że wybrana została strefa z poniższej listy:
- us-west1-b
- us-central1-c
- us-central1-f
- us-east1-c
- europe-west1-b
- europe-west1-d
- asia-east1-a
- asia-east1-c
- europe-west4-a
W menu Boot disk (Dysk rozruchowy) wybierz jako OS „Ubuntu 16.04 LTS” i potrzebny rozmiar dysku. W moim przypadku to 50 GB.
Przy opcjach zapory zaznacz zarówno „http”, jak i „https” (bardzo ważne). Następnie przejdź do karty dysku i odznacz pole Delete boot disk when instance is deleted (Usuń dysk rozruchowy, kiedy instancja zostanie usunięta).
Kliknij opcję Create (Utwórz). Twoja instancja jest gotowa!
WAŻNE: NIE ZAPOMNIJ ZATRZYMAĆ INSTANCJI GPU PO ZAKOŃCZENIU, KLIKAJĄC TRZY KROPKI NA POWYŻSZYM OBRAZKU I WYBIERAJĄC OPCJĘ STOP. W PRZECIWNYM WYPADKU GCP BĘDZIE NADAL NALICZAŁ OPŁATY GODZINOWE.
Krok 4: Ustaw zewnętrzy adres IP na statyczny
Domyślnie zewnętrzny adres IP jest dynamiczny. Aby uprościć całą procedurę potrzebujemy, aby był statyczny. Kliknij trzy poziome linie u góry po lewej stronie i z menu Networking (Sieć) wybierz sieć VPC, a następnie External IP addresses (Zewnętrzne adresy IP).
Zmień typ z Ephemeral (Krótkotrwały) na Static (Statyczny).
Następnie kliknij ustawienie Firewall rules (Zasady zapory) w menu VPC network (Sieć VPC). Kliknij opcję Create Firewall Rules (Utwórz zasady zapory) zgodnie z poniższym obrazkiem:
W ustawieniu Protocols and ports (Protokoły i porty) możesz wybrać dowolny port. Mój numer portu to tcp:5000. Kliknij przycisk Save (Zapisz).
Krok 5: Zainstaluj Google Cloud SDK
W zależności od Twojego systemu operacyjnego zapoznaj się z odpowiednim dokumentem na stronie https://cloud.google.com/sdk/docs/quickstarts.
Następnie uruchom gcloud init. Postępuj zgodnie z instrukcjami na stronie internetowej, aby zainicjować Google Cloud SDK.
Krok 6: Zainstaluj Jupyter notebook i inne pakiety
Otwórz terminal, połącz się z instancją VM:
gcloud compute --project <project name> ssh --zone <zone name> <instance name>
Następnie zainstaluj anaconda3 na maszynie wirtualnej,
wget http://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh
bash Anaconda3-4.0.0-Linux-x86_64.sh
bash Anaconda3-4.0.0-Linux-x86_64.sh
i postępuj zgodnie z wyświetlanymi na ekranie instrukcjami. Ustawienia domyślne zazwyczaj działają dobrze, ale odpowiedz Tak na ostatnie pytanie dotyczące dołączania lokalizacji instalacji do ŚCIEŻKI:
Do you wish the installer to prepend the
Anaconda3 install location to PATH
in your /home/haroldsoh/.bashrc ?
[yes|no][no] >>> yes
Aby od razu korzystać z programu Anaconda, umieść odnośnik do pliku bashrc:
source ~/.bashrc
Teraz zainstaluj inne aplikacje, np.
conda install -c conda-forge lightgbm
Krok 7: Skonfiguruj serwer VM
Otwórz sesję SSH w maszynie wirtualnej. Sprawdź, czy masz plik konfiguracyjny Jupyter:
ls ~/.jupyter/jupyter_notebook_config.py
Jeśli nie istnieje, utwórz nowy:
jupyter notebook --generate-config
Dodamy kilka wierszy do pliku konfiguracyjnego Jupyter. Jeśli plik jest czysto tekstowy, można to zrobić za pomocą ulubionego edytora (np. vim, emacs). Upewnij się, że numer portu został zamieniony na ten, który pozwala na dostęp zapory w kroku 4.
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = <Port Number>
Powinno to wyglądać mniej więcej tak:
Krok 8: Uruchomienie notatnika Jupyter
Aby uruchomić notatnik jupyter, wpisz następujące polecenie w oknie ssh, w którym się znajdujesz:
jupyter notebook --ip=0.0.0.0 --port=<port-number> --no-browser &
Po uruchomieniu polecenia otrzymasz następujący token:
Teraz, aby uruchomić swój notatnik jupyter, wystarczy wpisać w przeglądarce:
http://<External Static IP Address>:<Port Number>
gdzie zewnętrzny adres IP jest adresem IP, który wprowadziliśmy statycznie, a numer portu to ten, do którego mamy dostęp firewall. Wprowadź token, który otrzymałeś w ostatnim kroku:
Następnie masz notebooka jowery działającego na GCP.