Informationen zur Konfiguration Ihres Systems

Bevor Sie die Software auf Ihrer Instanz installieren, müssen Sie sie so konfigurieren, dass der Datenverkehr über das Internet von Ihrem lokalen Rechner akzeptiert wird.

Nachdem Sie den Zugriff eingerichtet haben, installieren Sie Anaconda und erstellen dann die Lernumgebungen, die Sie verwenden.

Oracle Cloud Infrastructure Compute -Instanz einrichten

Bearbeiten Sie die Sicherheitsliste für das virtuelle Cloud-Netzwerk, das Ihre Instanz verwendet, und aktualisieren Sie dann die Firewallregeln für Ihre Instanz.

Mit der Sicherheitsliste geben Sie den Datenverkehr an, der über das virtuelle Cloud-Netzwerk geleitet werden kann, das Ihre Instanz verwendet. Nachdem die Sicherheitsliste für das Netzwerk eingerichtet wurde, müssen Sie die Firewallregeln in Ihrer Instanz aktualisieren, um Zugriff auf diesen Datenverkehr zu ermöglichen. In diesem Fall wird Port 8888 (der Standardport für Jupyter Notebook) geöffnet.

Am einfachsten werden zustandsbehaftete Regeln verwendet. Im Wesentlichen ermöglicht eine zustandsbehaftete Regel sowohl Inbetriebnahme als auch Egress auf dem gewählten Port. Wenn Sie eine zustandslose Ingress-Regel einrichten, müssen Sie auch eine entsprechende Egress-Regel einrichten.

  1. Fügen Sie Ingress-Regeln für Jupyter Notebook hinzu, die standardmäßig Port 8888 verwenden.
    1. Melden Sie sich bei der Oracle Cloud-Konsole an, und öffnen Sie das Navigationsmenü.
    2. Navigieren Sie zu Networking, und klicken Sie auf Virtuelle Cloud-Netzwerke.
    3. Klicken Sie auf das Cloud-Netzwerk, an dem Sie interessiert sind.
    4. Klicken Sie unter Ressourcen auf Sicherheitslisten , und klicken Sie dann auf die gewünschte Sicherheitsliste.
    5. Klicken Sie unter Ressourcen auf Ingress-Regeln, Ingress-Regeln hinzufügen.
    6. Geben Sie 0.0.0.0/0 für den Quell-CIDR, TCP für das IP-Protokoll und 8888 für den Ziel-Port-Bereich ein.
    7. Klicken Sie auf Ingress-Regeln hinzufügen.
  2. Aktualisieren Sie Firewallregeln.

    Der hier angezeigte Befehl öffnet Port 8888, der der Standardport für Jupyter Notebook ist.

    Auf Oracle Linux:

    sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
    sudo firewall-cmd --reload

    Bei Ubuntu:

    sudo iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 8888 -j ACCEPT
    sudo service netfilter-persistent save

    Hinweis:

    Verwenden Sie für eine Ubuntu-Instanz in Oracle Cloud Infrastructure Compute keine ungewöhnliche Firewall (UFW) zur Verwaltung der Firewall.

Anaconda-Verteilung installieren

Verwenden Sie Anaconda und den Package-Manager, um individuelle maschinelle Lernumgebungen in Ihrer Compute-Instanz einzurichten und zu verwalten.

Sie erhalten das neueste Installationsprogramm unter https://repo.continuum.io/archive/. Bei diesen Anweisungen wird davon ausgegangen, dass das Betriebssystem Oracle Linux 7.7 oder Ubuntu 18.04 ist und dass die Version der Anaconda-Verteilung 2019.10 mit Python 3.7 ist.

  1. Stellen Sie eine Verbindung zu Ihrer Compute-Instanz mit SSH oder PuTTY her.
  2. Laden Sie Anaconda3 herunter, und stellen Sie sicher, dass die Prüfsumme mit der Prüfsumme übereinstimmt, die auf der Archivseite des Anaconda-Installationsprogramms unter https://repo.continuum.io/archive/. veröffentlicht wird
    wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh
    md5sum Anaconda3-2019.10-Linux-x86_64.sh
  3. Führen Sie das Installationsskript aus, und fügen Sie dann Anaconda zu dem Pfad hinzu.
    bash Anaconda3-2019.10-Linux-x86_64.sh -b
    echo -e 'export PATH="$HOME/anaconda3/bin:$PATH"' >> $HOME/.bashrc
    source ~/.bashrc
  4. Stellen Sie sicher, dass Sie über das neueste conda verfügen.
    conda update -n base -c defaults conda
  5. Konfigurieren Sie Ihre Shell so, dass sie den Befehl conda activate verwendet.
    conda init bash
    source ~/.bashrc

    Nachdem die Shell konfiguriert wurde, wird der Befehlszeilen-Prompt die aktuelle Anaconda-Umgebung hinzugefügt. Wenn die Basisumgebung aktiviert wird, sollte Ihre Befehlszeile den folgenden Beispielen ähneln, je nach Betriebssystem:

    (base) [opc@instancename ~]$
    (base) [ubuntu@instancename ~]$

Sandbox-Umgebung für maschinelles Lernen auf Oracle Linux einrichten

Erstellen Sie eine separate Sandbox-Umgebung, und installieren Sie TensorFlow und Jupyter Notebook.

Erstellen Sie eine Umgebung, und geben Sie ihr die Sandbox mit dem Namen. Eine Umgebung ist von der restlichen Compute-Instanz isoliert, sodass Tools und Software, die Sie in der Sandbox-Umgebung installieren, für die Sandbox-Umgebung spezifisch sind. In einer Compute-Instanz können mehrere Umgebungen mit jeweils einer eigenen individuellen Konfiguration vorhanden sein.

Im folgenden Verfahren installieren Sie TensorFlow 2 und Jupyter Notebook, sind jedoch nicht die einzigen verfügbaren Tools. Anaconda Distribution verfügt über 1,500 maschinelles Lernpakete, die Sie installieren können, einschließlich scikit-learn, panden und RStudio.

Hinweis:

Da die Standard-Python auf Oracle Linux Python 2 ist, müssen Sie sicherstellen, dass die Sandbox-Umgebung mit Python 3 in Schritt 2 erstellt wird. Geben Sie Python 3.7 an, da der neueste Tensorflow (2.0.0) zum Zeitpunkt dieses Schreibvorgangs nicht mit Python 3.8 funktioniert.

Stellen Sie vor Beginn sicher, dass die neueste Anaconda-Verteilung installiert ist. In diesen Anweisungen wird davon ausgegangen, dass Sie Anaconda3-2019.10-Linux-x86_64 heruntergeladen und installiert haben.
  1. Stellen Sie eine Verbindung zu Ihrer Compute-Instanz mit SSH oder PuTTY her.
  2. Erstellen Sie eine neue Umgebung namens Sandbox .
    conda create --name sandbox pip python=3.7
  3. Aktivieren Sie die soeben erstellte Umgebung.
    conda activate sandbox
  4. Installieren Sie Jupyter Notebook.
    conda install notebook
  5. Tensorflow installieren.
    python -m pip install tensorflow-gpu
    Wenn Ihre Instanz keine GPU enthält, verwenden Sie stattdessen den folgenden Befehl:
    python -m pip install tensorflow
  6. Generieren Sie eine Jupyter Notebook-Konfigurationsdatei.
    jupyter notebook --generate-config

    Die Konfigurationsdatei wird in /home/opc/.jupyter/jupyter_notebook_config.py erstellt, die sich außerhalb der Umgebung befindet. Daher gilt die Konfiguration für jede Jupyter Notebook-Instanz, unabhängig von der jeweiligen Umgebung.

  7. Öffnen Sie die Konfigurationsdatei in einem Texteditor wie nano oder vi, und fügen Sie am Anfang folgende Zeilen hinzu:
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  8. Fügen Sie Jupyter Notebook ein Kennwort hinzu. Geben Sie bei entsprechender Aufforderung ein passendes Kennwort ein. Sie können diesen Befehl jederzeit ausführen, wenn Sie das Kennwort ändern möchten.
    jupyter notebook password
  9. Installieren Sie ein Zertifikat für die verschlüsselte Kommunikation über HTTPS. So installieren Sie ein selbstsigniertes Zertifikat:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  10. Starten Sie Jupyter Notebook.
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

Wenn die Ingress-Regeln und Firewalleinstellungen der Instanz korrekt sind, sollten Sie Jupyter Notebook in einem Webbrowser öffnen, indem Sie zu https://<instance-ip-address>:8888 navigieren.

Sandbox-Umgebung für maschinelles Lernen auf Ubuntu einrichten

Erstellen Sie eine separate Sandbox-Umgebung, und installieren Sie TensorFlow und Jupyter Notebook.

Erstellen Sie eine Umgebung, und geben Sie ihr den Sandbox-Namen . Eine Umgebung ist von Rest der Instanz isoliert, sodass Tools und Software, die Sie in der Sandbox-Umgebung installieren, spezifisch für die Sandbox-Umgebung sind. Sie können in einer Compute-Instanz mehrere Umgebungen mit jeweils einer eigenen individuellen Konfiguration haben.

Im folgenden Verfahren installieren Sie TensorFlow 2 und Jupyter Notebook, sind jedoch nicht die einzigen verfügbaren Tools. Anaconda Distribution verfügt über 1,500 maschinelles Lernpakete, die Sie installieren können, einschließlich scikit-learn, panden und RStudio.

Stellen Sie vor Beginn sicher, dass die neueste Anaconda-Verteilung installiert ist. In diesen Anweisungen wird davon ausgegangen, dass Sie Anaconda3-2019.10-Linux-x86_64 heruntergeladen und installiert haben.
  1. Stellen Sie eine Verbindung zu Ihrer Compute-Instanz mit SSH oder PuTTY her.
  2. Erstellen Sie eine neue Umgebung namens Sandbox .
    conda create --name sandbox
  3. Aktivieren Sie die soeben erstellte Umgebung.
    conda activate sandbox
  4. Installieren Sie den Tensorflow in die Sandbox-Umgebung. Der letzte Tensorflow enthält jetzt Keras.
    python -m pip install tensorflow-gpu
    Wenn Ihre Instanz keine GPU enthält, verwenden Sie stattdessen den folgenden Befehl:
    python -m pip install tensorflow
  5. Generieren Sie eine Jupyter Notebook-Konfigurationsdatei.
    jupyter notebook --generate-config

    Die Konfigurationsdatei wird in /home/ubuntu/.jupyter/jupyter_notebook_config.py erstellt, die sich außerhalb der Umgebung befindet. Daher gilt die Konfiguration für jede Jupyter Notebook-Instanz, unabhängig von der jeweiligen Umgebung.

  6. Öffnen Sie die Konfigurationsdatei in einem Texteditor wie nano oder vi, und fügen Sie am Anfang folgende Zeilen hinzu:
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  7. Fügen Sie Jupyter Notebook ein Kennwort hinzu. Geben Sie bei entsprechender Aufforderung ein passendes Kennwort ein. Sie können diesen Befehl jederzeit ausführen, wenn Sie das Kennwort ändern möchten.
    jupyter notebook password
  8. Installieren Sie ein Zertifikat für die verschlüsselte Kommunikation über HTTPS. So installieren Sie ein selbstsigniertes Zertifikat:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  9. Starten Sie Jupyter Notebook.
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

Wenn die Ingress-Regeln und Firewalleinstellungen der Instanz korrekt sind, sollten Sie Jupyter Notebook in einem Webbrowser öffnen, indem Sie zu https://<instance-ip-address>:8888 navigieren.