Die in CIFAR-10-Klassifizierung nach AWS-GPU-Instanz erstellte GPU-Instanz ist normalerweise teuer. Beenden Sie sie daher und starten Sie von Zeit zu Zeit das Jupiter-Notebook. Ich möchte es über den Browser berühren. Die Annahme ist ein AWS Super Light-Benutzer mit nur einer Instanz in einer Region. (Weil die Einstellungen überhaupt nicht universell sind ...)
Sie können dasselbe tun, indem Sie durch die Konsole blättern, aber die CLI ist besser, weil es Zeit braucht. Wenn Sie mehr als eine Instanz in Ihrer Region haben, sollte dies fehlschlagen, wenn Sie die Optionen, die Sie an jq übergeben, nicht ändern.
Bringen Sie die Instanz-ID mit Beschreibungsinstanzen und übergeben Sie sie an die Startinstanzen. Es muss einen besseren Artikel über das Know-how in diesem Bereich geben.
aws ec2 start-instances --instance-ids `aws ec2 describe-instances | jq -r '.Reservations[].Instances[].InstanceId'`
Wenn "ec2" mit dem in der Domäne enthaltenen öffentlichen DNS verbunden ist, werden der Benutzername und die Schlüsseldatei festgelegt und auf "Lokale Weiterleitung" gesetzt. Wenn Sie nun eine Verbindung zum lokalen 8888 herstellen, während Sie mit SSH verbunden sind, werden Sie mit dem 8889 verbunden, der auf der EC2-Seite wartet.
Host *ec2*
User ec2-user
LocalForward 8888 127.0.0.1:8889
IdentityFile ~/.ssh/gpu.pem
SSH führt den folgenden Befehl aus, damit zu diesem Zeitpunkt eine Verbindung zum PublicDnsName hergestellt wird.
ssh `aws ec2 describe-instances | jq -r '.Reservations[].Instances[].PublicDnsName'`
Starten Sie das Jupyter-Notebook, damit Keras (Theano) die GPU verwendet. Der Startport sollte 8889 sein.
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 jupyter notebook --no-browser --port 8889
Senden Sie die erforderliche ipynb-Datei mit scp usw. Das Zugriffsziel lautet http: // localhost: 8888 /.