Google Colab - Kurzanleitung

Google ist ziemlich aggressiv in der KI-Forschung. Über viele Jahre hat Google das KI-Framework namens entwickeltTensorFlow und ein Entwicklungswerkzeug namens Colaboratory. Heute ist TensorFlow Open-Source und seit 2017 hat Google Colaboratory für die öffentliche Nutzung kostenlos gemacht. Colaboratory ist jetzt als Google Colab oder einfach bekanntColab.

Ein weiteres attraktives Feature, das Google den Entwicklern bietet, ist die Verwendung der GPU. Colab unterstützt GPU und ist völlig kostenlos. Die Gründe dafür, es für die Öffentlichkeit kostenlos zu machen, könnten darin bestehen, seine Software zu einem Standard für Akademiker zu machen, um maschinelles Lernen und Datenwissenschaft zu unterrichten. Es kann auch eine langfristige Perspektive für den Aufbau eines Kundenstamms für Google Cloud-APIs haben, die pro Nutzungsbasis verkauft werden.

Unabhängig von den Gründen hat die Einführung von Colab das Lernen und die Entwicklung von Anwendungen für maschinelles Lernen erleichtert.

Beginnen wir also mit Colab.

Wenn Sie verwendet haben JupyterMit Notebook zuvor haben Sie schnell gelernt, Google Colab zu verwenden. Um genau zu sein, ist Colab eine kostenlose Jupyter-Notebook-Umgebung, die vollständig in der Cloud ausgeführt wird. Vor allem ist kein Setup erforderlich, und die von Ihnen erstellten Notizbücher können gleichzeitig von Ihren Teammitgliedern bearbeitet werden - genau so, wie Sie Dokumente in Google Text & Tabellen bearbeiten. Colab unterstützt viele gängige Bibliotheken für maschinelles Lernen, die problemlos in Ihr Notebook geladen werden können.

Was bietet Ihnen Colab?

Als Programmierer können Sie mit Google Colab Folgendes ausführen.

  • Schreiben und Ausführen von Code in Python

  • Dokumentieren Sie Ihren Code, der mathematische Gleichungen unterstützt

  • Erstellen / Hochladen / Freigeben von Notizbüchern

  • Importieren / Speichern von Notizbüchern von / nach Google Drive

  • Importieren / Veröffentlichen von Notizbüchern aus GitHub

  • Importieren Sie externe Datensätze, z. B. aus Kaggle

  • Integrieren Sie PyTorch, TensorFlow, Keras, OpenCV

  • Kostenloser Cloud-Service mit kostenloser GPU

In diesem Kapitel erstellen und führen Sie Ihr erstes einfaches Notizbuch aus. Befolgen Sie die angegebenen Schritte, wo immer dies erforderlich ist.

Note - Da Colab Google Drive implizit zum Speichern Ihrer Notizbücher verwendet, stellen Sie sicher, dass Sie in Ihrem Google Drive-Konto angemeldet sind, bevor Sie fortfahren.

Step 1 - Öffnen Sie die folgende URL in Ihrem Browser - https://colab.research.google.com Ihr Browser zeigt den folgenden Bildschirm an (vorausgesetzt, Sie sind in Ihrem Google Drive angemeldet):

Step 2 - Klicken Sie auf NEW PYTHON 3 NOTEBOOKLink am unteren Bildschirmrand. Ein neues Notizbuch wird geöffnet (siehe Abbildung unten).

Wie Sie vielleicht bemerkt haben, ähnelt die Notebook-Oberfläche der in Jupyter bereitgestellten. Es gibt ein Codefenster, in das Sie Ihren Python-Code eingeben würden.

Notebook-Namen einstellen

Standardmäßig verwendet das Notizbuch die Namenskonvention UntitledXX.ipynb. Um das Notizbuch umzubenennen, klicken Sie auf diesen Namen und geben Sie den gewünschten Namen in das Bearbeitungsfeld ein, wie hier gezeigt -

Wir werden dieses Notizbuch als bezeichnen MyFirstColabNotebook. Geben Sie diesen Namen in das Bearbeitungsfeld ein und drücken Sie die EINGABETASTE. Das Notizbuch erhält den Namen, den Sie jetzt angegeben haben.

Code eingeben

Sie geben nun einen einfachen Python-Code in das Codefenster ein und führen ihn aus.

Geben Sie die folgenden zwei Python-Anweisungen in das Codefenster ein:

import time
print(time.ctime())

Code ausführen

Um den Code auszuführen, klicken Sie auf den Pfeil links im Codefenster.

Nach einer Weile sehen Sie die Ausgabe unter dem Codefenster, wie hier gezeigt -

Mon Jun 17 05:58:40 2019

Sie können die Ausgabe jederzeit löschen, indem Sie auf das Symbol auf der linken Seite der Ausgabeanzeige klicken.

Hinzufügen von Codezellen

Wählen Sie Folgendes aus, um Ihrem Notebook weiteren Code hinzuzufügen menu Optionen -

Insert / Code Cell

Alternativ können Sie auch die Maus in der unteren Mitte der Codezelle bewegen. Wenn derCODE und TEXTWenn Schaltflächen angezeigt werden, klicken Sie auf den CODE, um eine neue Zelle hinzuzufügen. Dies wird im folgenden Screenshot gezeigt -

Unter der aktuellen Zelle wird eine neue Codezelle hinzugefügt. Fügen Sie dem neu erstellten Codefenster die folgenden zwei Anweisungen hinzu:

time.sleep(5)
print (time.ctime())

Wenn Sie diese Zelle ausführen, wird die folgende Ausgabe angezeigt:

Mon Jun 17 04:50:27 2019

Natürlich beträgt der Zeitunterschied zwischen den beiden Zeitzeichenfolgen nicht 5 Sekunden. Dies ist offensichtlich, da Sie einige Zeit gebraucht haben, um den neuen Code einzufügen. Mit Colab können Sie den gesamten Code in Ihrem Notebook ohne Unterbrechung ausführen.

Führen Sie alle aus

Führen Sie die folgenden Menüoptionen aus, um den gesamten Code ohne Unterbrechung in Ihrem Notebook auszuführen:

Runtime / Reset and run all…

Sie erhalten die Ausgabe wie unten gezeigt -

Beachten Sie, dass der Zeitunterschied zwischen den beiden Ausgängen jetzt genau 5 Sekunden beträgt.

Die obige Aktion kann auch durch Ausführen der folgenden zwei Menüoptionen ausgelöst werden:

Runtime / Restart runtime…

oder

Runtime / Restart all runtimes…

gefolgt von

Runtime / Run all

Studieren Sie die verschiedenen Menüoptionen unter Runtime Menü, um sich mit den verschiedenen Optionen vertraut zu machen, die Ihnen zur Ausführung des Notebooks zur Verfügung stehen.

Ändern der Zellenreihenfolge

Wenn Ihr Notizbuch eine große Anzahl von Codezellen enthält, können Situationen auftreten, in denen Sie die Ausführungsreihenfolge dieser Zellen ändern möchten. Sie können dies tun, indem Sie die Zelle auswählen, die Sie verschieben möchten, und auf klickenUP CELL oder DOWN CELL Schaltflächen im folgenden Screenshot gezeigt -

Sie können mehrmals auf die Schaltflächen klicken, um die Zelle um mehr als eine Position zu verschieben.

Zelle löschen

Während der Entwicklung Ihres Projekts haben Sie möglicherweise einige jetzt unerwünschte Zellen in Ihr Notizbuch eingefügt. Sie können solche Zellen einfach mit einem einzigen Klick aus Ihrem Projekt entfernen. Klicken Sie auf das vertikal gepunktete Symbol in der oberen rechten Ecke Ihrer Codezelle.

Klick auf das Delete cell Option und die aktuelle Zelle werden gelöscht.

Nachdem Sie nun gelernt haben, wie man ein triviales Notizbuch ausführt, lassen Sie uns die anderen Funktionen von Colab erkunden.

Da die Codezelle die vollständige Python-Syntax unterstützt, können Sie Python verwenden commentsim Codefenster, um Ihren Code zu beschreiben. Oft benötigen Sie jedoch mehr als nur einfache textbasierte Kommentare, um die ML-Algorithmen zu veranschaulichen. ML verwendet häufig Mathematik. Um Ihren Lesern diese Begriffe und Gleichungen zu erklären, benötigen Sie einen Editor, der LaTex unterstützt - eine Sprache für mathematische Darstellungen. Colab bietetText Cells für diesen Zweck.

Eine Textzelle mit wenigen mathematischen Gleichungen, die normalerweise in ML verwendet werden, ist im folgenden Screenshot dargestellt.

In diesem Kapitel sehen wir den Code zum Generieren der obigen Ausgabe.

Textzellen werden mit formatiert markdown- eine einfache Auszeichnungssprache. Lassen Sie uns nun sehen, wie Sie Ihrem Notizbuch Textzellen hinzufügen und Text mit mathematischen Gleichungen hinzufügen.

Markdown-Beispiele

Schauen wir uns einige Beispiele für die Syntax von Markup-Sprachen an, um deren Funktionen zu demonstrieren.

Geben Sie den folgenden Text in die Textzelle ein.

This is **bold**.
This is *italic*.
This is ~strikethrough~.

Die Ausgabe der obigen Befehle wird wie hier gezeigt auf der rechten Seite der Zelle gerendert.

Mathematische Gleichungen

Füge hinzu ein Text Cell in Ihr Notizbuch und geben Sie die folgende Markdown-Syntax in das Textfenster ein -

$\sqrt{3x-1}+(1+x)^2$

Sie sehen das sofortige Rendern des Markdown-Codes im rechten Bereich der Textzelle. Dies wird im folgenden Screenshot gezeigt -

Schlagen Enter und der Markdown-Code verschwindet aus der Textzelle und nur die gerenderte Ausgabe wird angezeigt.

Versuchen wir eine andere kompliziertere Gleichung, wie hier gezeigt -

$e^x = \sum_{i = 0}^\infty \frac{1}{i!}x^i$

Die gerenderte Ausgabe wird hier als Kurzreferenz angezeigt.

Code für Beispielgleichungen

Hier ist der Code für die Beispielgleichungen, die in einem früheren Screenshot gezeigt wurden -

Constraints are
   - $3x_1 + 6x_2 + x_3 =< 28$
   - $7x_1 + 3x_2 + 2x_3 =< 37$
   - $4x_1 + 5x_2 + 2x_3 =< 19$
   - $x_1,x_2,x_3 >=0 $

The trial vector is calculated as follows:
- $u_i(t) = x_i(t) + \beta(\hat{x}(t) − x_i(t)) + \beta \sum_{k = 1}^{n_v}(x_{i1,k}(t) − x_{i2,k}(t))$
$f(x_1, x_2) = 20 + e - 20exp(-0.2 \sqrt {\frac {1}{n} (x_1^2 + x_2^2)}) - exp (\frac {1}{n}(cos(2\pi x_1) + cos(2\pi x_2))$

$x ∈ [-5, 5]$
>$A_{m,n} =
   \begin{pmatrix}
   a_{1,1} > a_{1,2} > \cdots > a_{1,n} \\
   a_{2,1} > a_{2,2} > \cdots > a_{2,n} \\
   \vdots > \vdots > \ddots > \vdots \\
   a_{m,1} > a_{m,2} > \cdots > a_{m,n}
   \end{pmatrix}$

Die Beschreibung der vollständigen Markup-Syntax geht über den Rahmen dieses Lernprogramms hinaus. Im nächsten Kapitel erfahren Sie, wie Sie Ihre Arbeit speichern können.

Mit Colab können Sie Ihre Arbeit in Google Drive oder sogar direkt in Ihrem GitHub-Repository speichern.

Speichern auf Google Drive

Mit Colab können Sie Ihre Arbeit auf Ihrem Google Drive speichern. Um Ihr Notebook zu speichern, wählen Sie die folgenden Menüoptionen:

File / Save a copy in Drive…

Sie sehen den folgenden Bildschirm -

Die Aktion erstellt eine Kopie Ihres Notebooks und speichert sie auf Ihrem Laufwerk. Später können Sie die Kopie in einen von Ihnen gewählten Namen umbenennen.

Speichern auf GitHub

Sie können Ihre Arbeit auch in Ihrem GitHub-Repository speichern, indem Sie die folgenden Menüoptionen auswählen:

File / Save a copy in GitHub...

Die Menüauswahl wird im folgenden Screenshot als Kurzreferenz angezeigt -

Sie müssen warten, bis der Anmeldebildschirm für GitHub angezeigt wird.

Geben Sie nun Ihre Anmeldeinformationen ein. Wenn Sie kein Repository haben, erstellen Sie ein neues und speichern Sie Ihr Projekt wie im folgenden Screenshot gezeigt -

Im nächsten Kapitel erfahren Sie, wie Sie Ihre Arbeit mit anderen teilen können.

Um das von Ihnen erstellte Notizbuch für andere Mitentwickler freizugeben, können Sie die Kopie freigeben, die Sie in Ihrem Google Drive erstellt haben.

Um das Notizbuch für ein allgemeines Publikum zu veröffentlichen, können Sie es aus Ihrem GitHub-Repository freigeben.

Es gibt noch eine Möglichkeit, Ihre Arbeit zu teilen, indem Sie auf klicken SHARELink in der oberen rechten Ecke Ihres Colab-Notizbuchs. Dadurch wird die Freigabebox wie hier gezeigt geöffnet -

Sie können die E-Mail-IDs von Personen eingeben, mit denen Sie das aktuelle Dokument teilen möchten. Sie können die Art des Zugriffs festlegen, indem Sie aus den drei im obigen Bildschirm angezeigten Optionen auswählen.

Klick auf das Get shareable linkOption, um die URL Ihres Notebooks abzurufen. Sie finden folgende Optionen zum Teilen:

  • Spezifizierte Gruppe von Personen

  • Kollegen in Ihrer Organisation

  • Jeder mit dem Link

  • Alle öffentlich im Web

Jetzt. Sie wissen, wie Sie ein Notizbuch erstellen / ausführen / speichern / freigeben. In der Code-Zelle haben wir bisher Python verwendet. Die Codezelle kann auch zum Aufrufen von Systembefehlen verwendet werden. Dies wird als nächstes erklärt.

Jupyter enthält Verknüpfungen für viele gängige Systemoperationen. Die Colab Code-Zelle unterstützt diese Funktion.

Einfache Befehle

Geben Sie den folgenden Code in die Code-Zelle ein, die das Systembefehlsecho verwendet.

message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting

Wenn Sie nun die Zelle ausführen, wird die folgende Ausgabe angezeigt:

['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']

Remote-Daten abrufen

Schauen wir uns ein anderes Beispiel an, das das Dataset von einem Remote-Server lädt. Geben Sie den folgenden Befehl in Ihre Codezelle ein:

!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"

Wenn Sie den Code ausführen, wird die folgende Ausgabe angezeigt:

--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3974305 (3.8M) [text/plain] 
Saving to: ‘/content/drive/My Drive/app/adult.data.1’

adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s

2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]

Wie die Nachricht sagt, die adult.data.1Datei wird jetzt zu Ihrem Laufwerk hinzugefügt. Sie können dies überprüfen, indem Sie den Ordnerinhalt Ihres Laufwerks überprüfen. Alternativ können Sie den folgenden Code in eine neue Codezelle eingeben:

import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)

Führen Sie den Code jetzt aus und Sie sehen die folgende Ausgabe -

Ebenso können die meisten Systembefehle in Ihrer Codezelle aufgerufen werden, indem dem Befehl ein Ausrufezeichen (!) Vorangestellt wird. Schauen wir uns ein anderes Beispiel an, bevor wir die vollständige Liste der Befehle herausgeben, die Sie aufrufen können.

Klonen des Git-Repositorys

Sie können das gesamte GitHub-Repository mit dem in Colab klonen gitBefehl. Geben Sie zum Klonen des Keras-Lernprogramms beispielsweise den folgenden Befehl in die Code-Zelle ein:

!git clone https://github.com/wxs/keras-mnist-tutorial.git

Nach einer erfolgreichen Ausführung des Befehls wird die folgende Ausgabe angezeigt:

Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.

Suchen Sie nach dem Klonen des Repos ein Jupyter-Projekt (z. B. MINST in keras.ipyab), klicken Sie mit der rechten Maustaste auf den Dateinamen und wählen Sie Open With / Colaboratory Menüoption zum Öffnen des Projekts in Colab.

System-Aliase

Führen Sie den folgenden Befehl aus, um eine Liste der Verknüpfungen für allgemeine Vorgänge abzurufen:

!ls /bin

Sie sehen die Liste im Ausgabefenster wie unten gezeigt -

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             systemd@
bzcmp@            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
bzegrep@          lessfile@         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
bzfgrep@          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
bzless@           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              lsmod@            tempfile*
chgrp*            mkdir*            touch*
chmod*            mknod*            true*
chown*            mktemp*           udevadm*
cp*               more*             ulockmgr_server*
dash*             mount*            umount*
date*             mountpoint*       uname*
dd*               mv*               uncompress*
df*               networkctl*       vdir*
dir*              nisdomainname@    wdctl*
dmesg*            pidof@            which*
dnsdomainname@    ps*               ypdomainname@
domainname@       pwd*              zcat*
echo*             rbash@            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             sh@               zless*
gunzip*           sh.distrib@       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

Führen Sie einen dieser Befehle wie bisher aus echo und wget. Im nächsten Kapitel erfahren Sie, wie Sie Ihren zuvor erstellten Python-Code ausführen.

Angenommen, Sie haben bereits Python-Code entwickelt, der in Ihrem Google Drive gespeichert ist. Jetzt möchten Sie diesen Code für weitere Änderungen in Colab laden. In diesem Kapitel erfahren Sie, wie Sie den in Ihrem Google Drive gespeicherten Code laden und ausführen.

Laufwerk montieren

Tools / Command palette

Sie sehen die Liste der Befehle wie in diesem Screenshot gezeigt -

Geben Sie einige Buchstaben wie "m" in das Suchfeld ein, um den Befehl mount zu finden. WählenMount DriveBefehl aus der Liste. Der folgende Code wird in Ihre Codezelle eingefügt.

# Run this cell to mount your Google Drive.
from google.colab import drive
drive.mount('/content/drive')

Wenn Sie diesen Code ausführen, werden Sie aufgefordert, den Authentifizierungscode einzugeben. Der entsprechende Bildschirm sieht wie folgt aus -

Öffnen Sie die obige URL in Ihrem Browser. Sie werden aufgefordert, sich in Ihrem Google-Konto anzumelden. Nun sehen Sie den folgenden Bildschirm -

Wenn Sie die Berechtigungen erteilen, erhalten Sie Ihren Code wie folgt:

Schneiden Sie diesen Code aus und fügen Sie ihn in die Codezelle ein und drücken Sie die EINGABETASTE. Nach einer Weile wird das Laufwerk wie im folgenden Screenshot gezeigt gemountet -

Jetzt können Sie den Inhalt Ihres Laufwerks in Colab verwenden.

Auflisten des Laufwerksinhalts

Sie können den Inhalt des Laufwerks mit dem Befehl ls wie folgt auflisten:

!ls "/content/drive/My Drive/Colab Notebooks"

Dieser Befehl listet den Inhalt Ihres Colab Notebooks-Ordners auf. Die Beispielausgabe meines Laufwerksinhalts wird hier angezeigt -

Greeting.ipynb hello.py LogisticRegressionCensusData.ipynb LogisticRegressionDigitalOcean.ipynb MyFirstColabNotebook.ipynb SamplePlot.ipynb

Ausführen von Python-Code

Angenommen, Sie möchten eine Python-Datei namens hello.py ausführen, die in Ihrem Google Drive gespeichert ist. Geben Sie den folgenden Befehl in die Code-Zelle ein:

!python3 "/content/drive/My Drive/Colab Notebooks/hello.py"

Der Inhalt von hello.py wird hier als Referenz angegeben -

print("Welcome to TutorialsPoint!")

Sie sehen nun die folgende Ausgabe -

Welcome to TutorialsPoint!

Neben der Textausgabe unterstützt Colab auch die grafischen Ausgaben. Wir werden dies im nächsten Kapitel sehen.

Colab unterstützt auch umfangreiche Ausgaben wie Diagramme. Geben Sie den folgenden Code in die Code-Zelle ein.

import numpy as np
from matplotlib import pyplot as plt

y = np.random.randn(100)
x = [x for x in range(len(y))]

plt.plot(x, y, '-')
plt.fill_between(x, y, 200, where = (y > 195), facecolor='g', alpha=0.6)

plt.title("Sample Plot")
plt.show()

Wenn Sie nun den Code ausführen, wird die folgende Ausgabe angezeigt:

Beachten Sie, dass die grafische Ausgabe im Ausgabeabschnitt der Codezelle angezeigt wird. Ebenso können Sie im gesamten Programmcode verschiedene Diagrammtypen erstellen und anzeigen.

Nachdem Sie sich mit den Grundlagen von Colab vertraut gemacht haben, gehen wir nun zu den Funktionen in Colab über, die die Entwicklung Ihres Python-Codes erleichtern.

Die heutigen Entwickler verlassen sich stark auf kontextsensitive Hilfe bei der Sprach- und Bibliothekssyntax. Deshalb sind die IDEs weit verbreitet. Der Colab-Notebook-Editor bietet diese Funktion.

In diesem Kapitel erfahren Sie, wie Sie beim Schreiben von Python-Code in Colab um kontextsensitive Hilfe bitten. Befolgen Sie die angegebenen Schritte, wo immer dies erforderlich ist.

Funktionsliste

Step 1 - Öffnen Sie ein neues Notizbuch und geben Sie den folgenden Code in die Code-Zelle ein. -

import torch

Step 2- Führen Sie den Code aus, indem Sie auf das Symbol Ausführen im linken Bereich der Codezelle klicken. Fügen Sie eine weitere Codezelle hinzu und geben Sie den folgenden Code ein:

Tensor = torch.

Angenommen, Sie haben an dieser Stelle vergessen, welche verschiedenen Funktionen in verfügbar sind torchModul. Sie können die kontextsensitive Hilfe zu Funktionsnamen anfordern, indem Sie auf klickenTABSchlüssel. Beachten Sie das Vorhandensein derDOT nach dem torchStichwort. Ohne dieses DOT wird die Kontexthilfe nicht angezeigt. Ihr Bildschirm würde wie im Screenshot hier gezeigt aussehen -

Wählen Sie nun die gewünschte Funktion aus der Liste aus und fahren Sie mit Ihrer Codierung fort.

Funktionsdokumentation

Colab gibt Ihnen die Dokumentation zu jedem function oder class als kontextsensitive Hilfe.

Geben Sie den folgenden Code in Ihr Codefenster ein -

Tensor = torch.cos(

Jetzt schlagen TAB und Sie sehen die Dokumentation auf cosim Popup-Fenster wie im Screenshot hier gezeigt. Beachten Sie, dass Sie eingeben müssenopen parenthesis bevor Sie TAB treffen.

Im nächsten Kapitel werden wir sehen Magics In Colab können wir damit mächtigere Dinge tun als mit System-Aliasen.

Magics ist eine Reihe von Systembefehlen, die eine umfangreiche Mini-Befehlssprache bereitstellen.

Es gibt zwei Arten von Magie -

  • Linienmagie

  • Zellmagie

Die Linienmagie als Name zeigt an, dass sie aus einer einzelnen Befehlszeile besteht, während die Zellenmagie den gesamten Körper der Codezelle abdeckt.

Bei Zeilenmagie wird dem Befehl ein einzelnes% -Zeichen und bei Zellenmagie zwei% -Zeichen (%%) vorangestellt.

Schauen wir uns einige Beispiele von beiden an, um diese zu veranschaulichen.

Linienmagie

Geben Sie den folgenden Code in Ihre Codezelle ein:

%ldir

Sie sehen den Inhalt Ihres lokalen Verzeichnisses, ungefähr so:

drwxr-xr-x 3 root 4096 Jun 20 10:05 drive/
drwxr-xr-x 1 root 4096 May 31 16:17 sample_data/

Versuchen Sie den folgenden Befehl -

%history

Dies zeigt den vollständigen Verlauf der Befehle an, die Sie zuvor ausgeführt haben.

Zellmagie

Geben Sie den folgenden Code in Ihre Codezelle ein -

%%html
<marquee style='width: 50%; color: Green;'>Welcome to Tutorialspoint!</marquee>

Wenn Sie nun den Code ausführen und die Bildlauf-Willkommensnachricht wie hier gezeigt auf dem Bildschirm sehen -

Mit dem folgenden Code wird Ihrem Dokument SVG hinzugefügt.

%%html
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 600 400" width="400" height="400">
   <rect x="10" y="00" width="300" height="100" rx="0" style="fill:orange; stroke:black; fill-opacity:1.0" />
   <rect x="10" y="100" width="300" height="100" rx="0" style="fill:white; stroke:black; fill-opacity:1.0;" />
   <rect x="10" y="200" width="300" height="100" rx="0" style="fill:green; stroke:black; fill-opacity:1.0;" />
</svg>

Wenn Sie den Code ausführen, wird die folgende Ausgabe angezeigt:

Magics List

Führen Sie den folgenden Befehl aus, um eine vollständige Liste der unterstützten Magie zu erhalten:

%lsmagic

Sie sehen die folgende Ausgabe -

Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
%colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
%env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
%loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
%magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
%pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %profile %prun
%psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall
%rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save
%sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit
%unalias %unload_ext %who %who_ls %whos %xdel %xmode

Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript
%%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
%%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

Als Nächstes lernen Sie eine weitere leistungsstarke Funktion in Colab kennen, mit der Sie die Programmvariablen zur Laufzeit festlegen können.

Colab bietet ein sehr nützliches Dienstprogramm namens Forms, mit dem Sie zur Laufzeit Eingaben des Benutzers akzeptieren können. Lassen Sie uns nun fortfahren, um zu sehen, wie Sie Ihrem Notizbuch Formulare hinzufügen.

Formular hinzufügen

In einer früheren Lektion haben Sie den folgenden Code verwendet, um eine Zeitverzögerung zu erstellen:

import time
print(time.ctime())
time.sleep(5)
print (time.ctime())

Angenommen, Sie möchten eine vom Benutzer festgelegte Zeitverzögerung anstelle einer festen Verzögerung von 5 Sekunden. Dazu können Sie der Codezelle ein Formular hinzufügen, um die Ruhezeit zu akzeptieren.

Öffnen Sie ein neues Notizbuch. Klick auf dasOptions(vertikal gepunktetes) Menü. Ein Popup-Menü wird angezeigt (siehe Abbildung unten).

Wählen Sie nun Add a formMöglichkeit. Das Formular wird Ihrer Codezelle mit einem Standardtitel hinzugefügt (siehe Abbildung hier).

Um den Titel des Formulars zu ändern, klicken Sie auf SettingsTaste (Stiftsymbol rechts). Es wird ein Einstellungsbildschirm angezeigt, wie hier gezeigt:

Ändern Sie den Formulartitel in “Form”und speichern Sie das Formular. Sie können einen anderen Namen Ihrer Wahl verwenden. Beachten Sie, dass es das hinzufügt@title zu Ihrer Codezelle.

Sie können zu einem späteren Zeitpunkt andere Optionen auf dem obigen Bildschirm untersuchen. Im nächsten Abschnitt erfahren Sie, wie Sie dem Formular Eingabefelder hinzufügen.

Formularfelder hinzufügen

Um ein Formularfeld hinzuzufügen, klicken Sie auf Options Klicken Sie in der Code-Zelle auf das Menü Formdie Untermenüs zu enthüllen. Der Bildschirm sieht wie folgt aus:

Wählen Add a form fieldMenüoption. Ein Dialog erscheint wie hier zu sehen -

Lassen Sie die Form field type zu input. Ändere das Variable name zu sleeptime und stellen Sie die Variable type zu integer. Speichern Sie die Änderungen, indem Sie auf klickenSave Taste.

Ihr Bildschirm sieht nun wie folgt aus: sleeptime Variable in den Code hinzugefügt.

Lassen Sie uns als Nächstes sehen, wie Sie das Formular testen, indem Sie Code hinzufügen, der das verwendet sleeptime Variable.

Testformular

Fügen Sie eine neue Codezelle unter der Formularzelle hinzu. Verwenden Sie den unten angegebenen Code -

import time
print(time.ctime())
time.sleep(sleeptime)
print (time.ctime())

Sie haben diesen Code in der vorherigen Lektion verwendet. Es druckt die aktuelle Zeit, wartet eine bestimmte Zeit und druckt einen neuen Zeitstempel. Die Wartezeit des Programms wird in der aufgerufenen Variablen festgelegtsleeptime.

Gehen Sie jetzt zurück zum Form Zelle und geben Sie einen Wert von 2 für die ein sleeptime. Wählen Sie das folgende Menü -

Runtime / Run all

Dadurch wird das gesamte Notebook ausgeführt. Sie können einen Ausgabebildschirm wie unten gezeigt sehen.

Beachten Sie, dass Ihr Eingabewert von 2 für das angenommen wurde

Schlafenszeit

. Versuchen Sie, dies auf einen anderen Wert zu ändern und Run all um seine Wirkung zu sehen.

Text eingeben

Geben Sie den folgenden Code in eine neue Codezelle ein, um eine Texteingabe in Ihr Formular zu akzeptieren.

name = 'Tutorialspoint' #@param {type:"string"}
print(name)

Wenn Sie nun die Codezelle ausführen, wird der im Formular festgelegte Name auf dem Bildschirm gedruckt. Standardmäßig wird die folgende Ausgabe auf dem Bildschirm angezeigt.

Tutorialspoint

Beachten Sie, dass Sie die Menüoptionen wie für die Ganzzahleingabe gezeigt verwenden können, um eine zu erstellen Text Eingabefeld.

Dropdown-Liste

Verwenden Sie den folgenden Code, um Ihrem Formular eine Dropdown-Liste hinzuzufügen:

color = 'green' #@param ["red", "green", "blue"]
print(color)

Dadurch wird eine Dropdown-Liste mit drei Werten erstellt - Rot, Grün und Blau. Die Standardauswahl ist grün.

Die Dropdown-Liste wird im folgenden Screenshot angezeigt -

Datumseingabe

Mit Colab Form können Sie Daten in Ihrem Code mit Validierungen akzeptieren. Verwenden Sie den folgenden Code, um das Datum in Ihren Code einzugeben.

#@title Date fields
date_input = '2019-06-03' #@param {type:"date"}
print(date_input)

Der Formularbildschirm sieht folgendermaßen aus.

Versuchen Sie, einen falschen Datumswert einzugeben, und beachten Sie die Validierungen.

Bisher haben Sie gelernt, wie Sie Colab zum Erstellen und Ausführen von Jupyter-Notizbüchern mit Ihrem Python-Code verwenden. Im nächsten Kapitel erfahren Sie, wie Sie beliebte ML-Bibliotheken in Ihrem Notizbuch installieren, damit Sie diese in Ihrem Python-Code verwenden können.

Colab unterstützt die meisten auf dem Markt erhältlichen Bibliotheken für maschinelles Lernen. Lassen Sie uns in diesem Kapitel einen kurzen Überblick über die Installation dieser Bibliotheken in Ihrem Colab-Notizbuch geben.

Um eine Bibliothek zu installieren, können Sie eine der folgenden Optionen verwenden:

!pip install

oder

!apt-get install

Keras

In Python geschriebenes Keras läuft auf TensorFlow, CNTK oder Theano. Es ermöglicht ein einfaches und schnelles Prototyping von neuronalen Netzwerkanwendungen. Es unterstützt sowohl Faltungsnetzwerke (CNN) als auch wiederkehrende Netzwerke sowie deren Kombinationen. Es unterstützt nahtlos GPU.

Verwenden Sie den folgenden Befehl, um Keras zu installieren:

!pip install -q keras

PyTorch

PyTorch ist ideal für die Entwicklung von Deep-Learning-Anwendungen. Es ist eine optimierte Tensorbibliothek und GPU-fähig. Verwenden Sie den folgenden Befehl, um PyTorch zu installieren:

!pip3 install torch torchvision

MxNet

Apache MxNet ist eine weitere flexible und effiziente Bibliothek für tiefes Lernen. Führen Sie die folgenden Befehle aus, um MxNet zu installieren:

!apt install libnvrtc8.0
!pip install mxnet-cu80

OpenCV

OpenCV ist eine Open-Source-Computer-Vision-Bibliothek zur Entwicklung von Anwendungen für maschinelles Lernen. Es verfügt über mehr als 2500 optimierte Algorithmen, die verschiedene Anwendungen unterstützen, z. B. das Erkennen von Gesichtern, das Identifizieren von Objekten, das Verfolgen von sich bewegenden Objekten, das Zusammenfügen von Bildern usw. Riesen wie Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda und Toyota nutzen diese Bibliothek. Dies ist sehr gut für die Entwicklung von Echtzeit-Vision-Anwendungen geeignet.

Verwenden Sie zum Installieren von OpenCV den folgenden Befehl:

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python

XGBoost

XGBoost ist eine verteilte Gradienten-Boosting-Bibliothek, die in wichtigen verteilten Umgebungen wie Hadoop ausgeführt wird. Es ist hocheffizient, flexibel und tragbar. Es implementiert ML-Algorithmen im Rahmen von Gradient Boosting.

Verwenden Sie den folgenden Befehl, um XGBoost zu installieren:

!pip install -q xgboost==0.4a30

GraphViz

Graphviz ist eine Open-Source-Software für Grafikvisualisierungen. Es wird zur Visualisierung in Netzwerken, Bioinformatik, Datenbankdesign und in vielen Bereichen verwendet, in denen eine visuelle Schnittstelle der Daten gewünscht wird.

Verwenden Sie den folgenden Befehl, um GraphViz zu installieren:

!apt-get -qq install -y graphviz && pip install -q pydot

Zu diesem Zeitpunkt haben Sie gelernt, Jupyter-Notizbücher mit gängigen Bibliotheken für maschinelles Lernen zu erstellen. Sie können jetzt Ihre Modelle für maschinelles Lernen entwickeln. Dies erfordert eine hohe Rechenleistung. Colab bietet eine kostenlose GPU für Ihre Notebooks.

Im nächsten Kapitel erfahren Sie, wie Sie die GPU für Ihr Notebook aktivieren.

Google bietet die Verwendung einer kostenlosen GPU für Ihre Colab-Notebooks.

GPU aktivieren

Wählen Sie die folgenden Menüoptionen aus, um die GPU in Ihrem Notebook zu aktivieren:

Runtime / Change runtime type

Sie sehen den folgenden Bildschirm als Ausgabe -

Wählen GPUund Ihr Notebook würde die kostenlose GPU verwenden, die während der Verarbeitung in der Cloud bereitgestellt wird. Versuchen Sie, die Beispielanwendung von auszuführen, um ein Gefühl für die GPU-Verarbeitung zu bekommenMNIST Tutorial, das Sie zuvor geklont haben.

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

Versuchen Sie, dieselbe Python-Datei ohne aktivierte GPU auszuführen. Haben Sie den Unterschied in der Ausführungsgeschwindigkeit bemerkt?

Testen auf GPU

Sie können leicht überprüfen, ob die GPU aktiviert ist, indem Sie den folgenden Code ausführen:

import tensorflow as tf
tf.test.gpu_device_name()

Wenn die GPU aktiviert ist, wird die folgende Ausgabe ausgegeben:

'/device:GPU:0'

Geräte auflisten

Wenn Sie neugierig sind, welche Geräte während der Ausführung Ihres Notebooks in der Cloud verwendet werden, versuchen Sie den folgenden Code:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Sie sehen die Ausgabe wie folgt:

[name: "/device:CPU:0"
   device_type: "CPU"
   memory_limit: 268435456
   locality { }
   incarnation: 1734904979049303143, name: "/device:XLA_CPU:0"
   device_type: "XLA_CPU" memory_limit: 17179869184
   locality { } 
   incarnation: 16069148927281628039
   physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
   device_type: "XLA_GPU"
   memory_limit: 17179869184
   locality { }
   incarnation: 16623465188569787091
   physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
   device_type: "GPU"
   memory_limit: 14062547764
   locality {
      bus_id: 1
      links { } 
   }
   incarnation: 6674128802944374158
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

RAM prüfen

Geben Sie den folgenden Befehl ein, um die für Ihren Prozess verfügbaren Speicherressourcen anzuzeigen:

!cat /proc/meminfo

Sie sehen die folgende Ausgabe -

MemTotal: 13335276 kB
MemFree: 7322964 kB
MemAvailable: 10519168 kB
Buffers: 95732 kB
Cached: 2787632 kB
SwapCached: 0 kB
Active: 2433984 kB
Inactive: 3060124 kB
Active(anon): 2101704 kB
Inactive(anon): 22880 kB
Active(file): 332280 kB
Inactive(file): 3037244 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 412 kB
Writeback: 0 kB
AnonPages: 2610780 kB
Mapped: 838200 kB
Shmem: 23436 kB
Slab: 183240 kB
SReclaimable: 135324 kB
SUnreclaim: 47916
kBKernelStack: 4992 kB
PageTables: 13600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6667636 kB
Committed_AS: 4801380 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 303092 kB
DirectMap2M: 5988352 kB
DirectMap1G: 9437184 kB

Sie sind jetzt bereit für die Entwicklung von Modellen für maschinelles Lernen in Python mit Google Colab.

Google Colab ist eine leistungsstarke Plattform zum Lernen und schnellen Entwickeln von Modellen für maschinelles Lernen in Python. Es basiert auf Jupyter Notebook und unterstützt die gemeinsame Entwicklung. Die Teammitglieder können die Notizbücher auch aus der Ferne freigeben und gleichzeitig bearbeiten. Die Notizbücher können auch auf GitHub veröffentlicht und der Öffentlichkeit zugänglich gemacht werden. Colab unterstützt viele beliebte ML-Bibliotheken wie PyTorch, TensorFlow, Keras und OpenCV. Die Einschränkung besteht heute darin, dass R oder Scala noch nicht unterstützt werden. Es gibt auch eine Beschränkung auf Sitzungen und Größe. In Anbetracht der Vorteile sind dies kleine Opfer, die man bringen muss.