Informazioni sulla configurazione del sistema

Prima di installare il software nell'istanza in uso, è necessario configurarlo per accettare il traffico su Internet dal computer locale.

Dopo aver impostato l'accesso, installare Anaconda, quindi creare gli ambienti di Machine Learning da utilizzare.

Imposta l'istanza Oracle Cloud Infrastructure Compute

Modificare la lista di sicurezza per la rete cloud virtuale utilizzata dall'istanza, quindi aggiornare le regole firewall per l'istanza.

Utilizzare la lista di sicurezza per specificare il traffico consentito per il flusso nella rete cloud virtuale utilizzata dall'istanza. Dopo l'impostazione dell'elenco di sicurezza per la rete, è necessario aggiornare le regole firewall nell'istanza per consentire l'accesso a tale traffico. In questo caso, viene aperta la porta 8888, che è la porta predefinita per Jupyter Notebook.

È più semplice utilizzare le regole con conservazione dello stato. In sostanza, una regola con conservazione dello stato consente sia l'entrata che l'uscita sulla porta selezionata. Se si imposta una regola di entrata senza conservazione dello stato, è necessario impostare anche una regola di uscita corrispondente.

  1. Aggiungere regole in entrata per il Blocco appunti Jupyter, che utilizza per impostazione predefinita la porta 8888.
    1. Eseguire il login alla console di Oracle Cloud e aprire il menu di navigazione.
    2. Accedere alla rete e fare clic su Reti cloud virtuali.
    3. Fare clic sulla rete cloud alla quale si è interessati.
    4. In Risorse fare clic su Liste di sicurezza, quindi fare clic sulla lista di sicurezza desiderata.
    5. In Risorse fare clic su Regole di entrata, quindi su Aggiungi regole di entrata.
    6. Immettere 0.0.0.0/0 per il CIDR di origine, TCP per il protocollo IP e 8888 per l'intervallo di porte di destinazione.
    7. Fare clic su Aggiungi regole di entrata.
  2. Aggiornare le regole firewall.

    Il comando visualizzato qui apre la porta 8888, che è la porta predefinita per il Blocco appunti Jupyter.

    In Oracle Linux:

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

    In Ubuntu:

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

    Nota

    In un'istanza Ubuntu in Oracle Cloud Infrastructure Compute, non utilizzare il firewall senza replica (UFW) per gestire il firewall.

Installa distribuzione ANSI

Usare Anaconda e il relativo gestore di package per impostare e gestire i singoli ambienti di apprendimento automatico nell'istanza di computazione.

È possibile ottenere l'ultimo Installer da https://repo.continuum.io/archive/. Queste istruzioni presuppongono che il sistema operativo sia Oracle Linux 7.7 o Ubuntu 18.04 e che la versione di Distribuzione ANSI sia 2019.10 con Python 3.7.

  1. Connettersi all'istanza di computazione con SSH o PuTTY.
  2. Scaricare Anaconda3 e assicurarsi che il checksum corrisponda al checksum pubblicato sulla pagina dell'archivio Installer Anaconda all'indirizzo https://repo.continuum.io/archive/.
    wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh
    md5sum Anaconda3-2019.10-Linux-x86_64.sh
  3. Eseguire lo script di installazione, quindi aggiungere Anaconda al percorso.
    bash Anaconda3-2019.10-Linux-x86_64.sh -b
    echo -e 'export PATH="$HOME/anaconda3/bin:$PATH"' >> $HOME/.bashrc
    source ~/.bashrc
  4. Assicurarsi di disporre del valore conda più recente.
    conda update -n base -c defaults conda
  5. Configurare la shell per l'uso del comando conda activate.
    conda init bash
    source ~/.bashrc

    Dopo aver configurato la shell, l'ambiente Anaconda corrente viene aggiunto al prompt della riga di comando. Quando l'ambiente di base viene attivato, la riga di comando deve essere simile a quella riportata di seguito, a seconda del sistema operativo in uso.

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

Impostare un ambiente sandbox Machine Learning in Oracle Linux

Creare un ambiente sandbox distinto e installare TensorFlow e Jupyter Notebook.

Creare un ambiente e assegnare al sandbox il nome. Un ambiente viene isolato dal resto dell'istanza di calcolo in modo che gli strumenti e il software installati nell'ambiente sandbox siano specifici per l'ambiente sandbox. Puoi avere diversi ambienti su un'unica istanza di computazione, ognuno con una propria configurazione individuale.

Nella procedura seguente è possibile installare TensorFlow 2 e Jupyter Notebook, ma non solo gli strumenti disponibili. La distribuzione Anaconda ha oltre 1,500 pacchetti di apprendimento automatico che è possibile installare, tra cui scikit-learn, pandas e RStudio.

Nota

Poiché Python predefinito in Oracle Linux è Python 2, è necessario assicurarsi che l'ambiente sandbox venga creato con Python 3 nel passo 2. Specificare Python 3.7 perché al momento di questa scrittura, il flusso costante (2.0.0) più recente non funziona con Python 3.8.

Prima di iniziare, assicurarsi di avere installato la distribuzione Anaconda più recente. In queste istruzioni si presume che Anaconda3-2019.10-Linux-x86_64. sia stato scaricato e installato.
  1. Connettersi all'istanza di computazione con SSH o PuTTY.
  2. Creare un nuovo ambiente denominato sandbox.
    conda create --name sandbox pip python=3.7
  3. Attivare l'ambiente appena creato.
    conda activate sandbox
  4. Installare il notebook Jupyter.
    conda install notebook
  5. Installare il flusso dei dipendenti.
    python -m pip install tensorflow-gpu
    Se l'istanza non dispone di una GPU, utilizzare il seguente comando:
    python -m pip install tensorflow
  6. Generare un file di configurazione del notebook Jupyter.
    jupyter notebook --generate-config

    Il file di configurazione viene creato in /home/opc/.jupyter/jupyter_notebook_config.py che si trova all'esterno dell'ambiente. Di conseguenza, la configurazione viene applicata a ogni istanza del Blocco appunti di Jupyter, indipendentemente dall'ambiente in cui si trova.

  7. Aprire il file di configurazione in un editor di testo, ad esempio nano o vi, e aggiungere all'inizio le seguenti righe:
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  8. Aggiungere una password al Blocco appunti Jupyter. Quando richiesto, immettere una password adatta. È possibile eseguire questo comando in qualsiasi momento in cui si desidera modificare la password.
    jupyter notebook password
  9. Installare un certificato per le comunicazioni cifrate su HTTPS. Per installare un certificato con firma automatica, effettuare le operazioni riportate di seguito.
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  10. Avviare il notebook Jupyter.
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

Se le regole in entrata e le impostazioni del firewall dell'istanza sono corrette, è consigliabile aprire il Blocco note Jupyter in un browser Web passando a https://<instance-ip-address>:8888.

Impostazione di un ambiente sandbox di apprendimento automatico in Ubuntu

Creare un ambiente sandbox distinto e installare TensorFlow e Jupyter Notebook.

Creare un ambiente e assegnarlo al nome sandbox. Un ambiente è isolato dal resto dell'istanza in modo che gli strumenti e il software installati nell'ambiente sandbox siano specifici dell'ambiente sandbox. Puoi avere più ambienti in un'istanza di computazione, ciascuno con una singola configurazione.

Nella procedura seguente è possibile installare TensorFlow 2 e Jupyter Notebook, ma non solo gli strumenti disponibili. La distribuzione Anaconda ha oltre 1,500 pacchetti di apprendimento automatico che è possibile installare, tra cui scikit-learn, pandas e RStudio.

Prima di iniziare, assicurarsi di avere installato la distribuzione Anaconda più recente. In queste istruzioni si presume che Anaconda3-2019.10-Linux-x86_64. sia stato scaricato e installato.
  1. Connettersi all'istanza di computazione con SSH o PuTTY.
  2. Creare un nuovo ambiente denominato sandbox.
    conda create --name sandbox
  3. Attivare l'ambiente appena creato.
    conda activate sandbox
  4. Installare Tensorflow nell'ambiente sandbox. Ora l'ultimo Tensorflow include Keras.
    python -m pip install tensorflow-gpu
    Se l'istanza non dispone di una GPU, utilizzare il seguente comando:
    python -m pip install tensorflow
  5. Generare un file di configurazione del notebook Jupyter.
    jupyter notebook --generate-config

    Il file di configurazione viene creato in /home/ubuntu/.jupyter/jupyter_notebook_config.py che si trova all'esterno dell'ambiente. Di conseguenza, la configurazione viene applicata a ogni istanza del Blocco appunti di Jupyter, indipendentemente dall'ambiente in cui si trova.

  6. Aprire il file di configurazione in un editor di testo, ad esempio nano o vi, e aggiungere all'inizio le seguenti righe:
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  7. Aggiungere una password al Blocco appunti Jupyter. Quando richiesto, immettere una password adatta. È possibile eseguire questo comando in qualsiasi momento in cui si desidera modificare la password.
    jupyter notebook password
  8. Installare un certificato per le comunicazioni cifrate su HTTPS. Per installare un certificato con firma automatica, effettuare le operazioni riportate di seguito.
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  9. Avviare il notebook Jupyter.
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

Se le regole in entrata e le impostazioni del firewall dell'istanza sono corrette, è consigliabile aprire il Blocco note Jupyter in un browser Web passando a https://<instance-ip-address>:8888.