Wenn Sie maschinelles Lernen studieren und eine GPU haben, können Sie mit hoher Geschwindigkeit und effizient lernen. Aber es ist zu teuer zu kaufen ...
Es gibt auch ein Google Colaboratory, aber ich kann einfach kein Jupyter-Notizbuch werden und möchte in meiner gewohnten Umgebung arbeiten (ein wenig egoistisch).
Zu dieser Zeit fand ich diesen Artikel!
Gehen Sie zu ngrok und öffnen Sie LOGIN-> Authentication-> Your Auth Token. Anschließend wird das Authentifizierungstoken auf dem folgenden Bildschirm angezeigt. Kopieren Sie es daher.
Öffnen Sie Google Colab, öffnen Sie Runtime-> Runtime Type Settings und stellen Sie den Hardwarebeschleuniger auf GPU ein.
Fügen Sie den folgenden Code in einen Codeblock ein und führen Sie ihn aus. Fügen Sie zu diesem Zeitpunkt das zuvor kopierte Authentifizierungstoken anstelle von "IHR AUTH-TOKEN" in die 13. Zeile ein.
# Install useful stuff
! apt install --yes ssh screen nano htop ranger git > /dev/null
# SSH setting
! echo "root:password" | chpasswd
! echo "PasswordAuthentication yes" > /etc/ssh/sshd_config
! echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config
! echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
! service ssh restart > /dev/null
# Download ngrok
! wget -q -c -nc https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
! unzip -qq -n ngrok-stable-linux-amd64.zip
# Run ngrok
authtoken = "YOUR AUTHTOKEN"
get_ipython().system_raw('./ngrok authtoken $authtoken && ./ngrok tcp 22 &')
! sleep 3
# Get the address for SSH
import requests
from re import sub
r = requests.get('http://localhost:4040/api/tunnels')
str_ssh = r.json()['tunnels'][0]['public_url']
str_ssh = sub("tcp://", "", str_ssh)
str_ssh = sub(":", " -p ", str_ssh)
str_ssh = "ssh root@" + str_ssh
print(str_ssh)
Wenn die Ausführung erfolgreich ist, wird Folgendes angezeigt.
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
ssh [email protected] -p XXXXX
Versuchen Sie eine ssh-Verbindung zu ssh [email protected] -p XXXXX
mit der Funktion Remote-SSH
von VS Code. Sie werden nach einem Passwort gefragt, aber Sie können "Passwort" eingeben, das in "! Echo" root: password "| chpasswd" angegeben ist.
Machen Sie "main.py" usw. entsprechend und überprüfen Sie, ob die GPU mit dem folgenden Code verwendet werden kann
import torch
print(torch.cuda.is_available())
# True
Ich konnte es benutzen!
CIFAR10 Ich habe es mit der Aufgabe des Lernens überprüft. Der Code, den ich tatsächlich verwendet habe, ist hier.
Die folgende Umgebung wurde zum Vergleich verwendet und mit 5 Epochen durchgeführt.
Mit GPU | Keine GPU | |
---|---|---|
OS | Ubuntu 18.04.3 LTS | macOS Catalina v.10.15.5 |
torch | 1.4.0 | 1.5.1 |
Es war faul, dass ich nicht mit der Fackelversion mithalten konnte.
Geschwindigkeit | |
---|---|
Mit GPU | 256.162 |
Keine GPU | 320.412 |
Die Geschwindigkeit ist ca. 20% schneller!
Colab hat vorgefertigte Umgebungen wie Pytorch und Keras, was auch praktisch ist!
Recommended Posts