システムの構成について

インスタンスにソフトウェアをインストールする前に、ローカル・コンピュータからインターネット経由でトラフィックを受け入れるように構成する必要があります。

アクセスを設定したら、Anacondaをインストールし、次に使用する機械学習環境を作成します。

Oracle Cloud Infrastructure Computeインスタンスの設定

インスタンスで使用する仮想クラウド・ネットワークのセキュリティ・リストを編集してから、インスタンスのファイアウォール・ルールを更新します。

セキュリティ・リストを使用して、インスタンスが使用する仮想クラウド・ネットワークを介したフローの許可対象トラフィックを指定します。ネットワークのセキュリティ・リストが設定されたら、インスタンス上のファイアウォール・ルールを更新して、そのトラフィックへのアクセスを許可する必要があります。この場合、ポート8888はJupyter Notebookのデフォルト・ポートです。

ステートフル ・ルールを使用するのが最も簡単な方法です。本質的には、ステートフル・ルールを使用すると、選択したポートに位置アドレスとアドレスの両方を設定できます。ステートレス更新ルールを設定する場合は、対応するエコルールも設定する必要があります。

  1. デフォルトでポート8888を使用するJupyter Notebookのingressルールを追加します。
    1. Oracle Cloudコンソールにログインして、ナビゲーション・メニューを開きます。
    2. ネットワーク」に移動して、Virtual Cloud Networksをクリックします。
    3. 目的のクラウド・ネットワークをクリックします。
    4. リソース」で、「セキュリティ・リスト」をクリックして、目的のセキュリティ・リストをクリックします。
    5. リソース」で、「イングレス・ルール」、「イングレス・ルール追加」の順にクリックします。
    6. ソースCIDRに0.0.0.0/0、IPプロトコルにTCP、宛先ポート範囲に8888を入力します。
    7. イングレス・ルールの追加」をクリックします。
  2. ファイアウォール・ルールを更新します。

    ここに表示されるコマンドはポート8888を開きます。これは、Jupyter Notebookのデフォルト・ポートです。

    Oracle Linux:

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

    Ubuntuの場合:

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

    注意:

    Oracle Cloud Infrastructure ComputeのUbuntuインスタンスでは、Unsmplicated Firewall (UFW)を使用してファイアウォールを管理しないでください。

前面に取り付ける

インスタンス上に個々の機械学習環境を設定および維持するには、Anacondaとそのパッケージ・マネージャを使用します。

最新のインストーラは、https://repo.continuum.io/archive/から入手できます。これらの手順は、オペレーティング・システムがOracle Linux 7 .7またはUbuntu 18 .04で、Anaconda DistributionのバージョンがPython 3 .7であることを前提としています。

  1. コンピュート・インスタンスにSSHまたはPuTTYで接続します。
  2. Anaconda3をダウンロードし、チェックサムがAnacondaインストーラのアーカイブ・ページ(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. 次に、インストール・スクリプトを実行してから、パスにAnacondaを追加します。
    bash Anaconda3-2019.10-Linux-x86_64.sh -b
    echo -e 'export PATH="$HOME/anaconda3/bin:$PATH"' >> $HOME/.bashrc
    source ~/.bashrc
  4. 最新のcondaがあることを確認します。
    conda update -n base -c defaults conda
  5. conda activateコマンドを使用してシェルを構成します。
    conda init bash
    source ~/.bashrc

    シェルを構成すると、現在のAnaconda環境がコマンドライン・プロンプトに追加されます。基本環境がアクティブになると、コマンドラインはオペレーティング・システムに応じて次の例のようになります。

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

Oracle Linuxでの機械学習サンドボックス環境の設定

別のサンドボックス環境を作成し、TensorFlowおよびJupyter Notebookをインストールします。

環境を作成し、名前サンドボックスを指定します。環境は、サンドボックス環境にインストールするツールおよびソフトウェアがサンドボックス環境に固有であるように、残りのコンピュート・インスタンスから分離されます。1つのコンピュート・インスタンスに複数の環境を設定し、それぞれに個別の構成を設定できます。

次の手順では、TensorFlow 2およびJupyter Notebookをインストールしますが、使用できるツールはありません。分析分散には、1,500を超える機械学習パッケージがインストールされており、それらには科学学習、パン、RStudioなどが含まれます。

注意:

Oracle LinuxのデフォルトのPythonはPython 2であるため、ステップ2でサンドボックス環境がPython 3を使用して作成されていることを確認する必要があります。この書込み時には、Python 3 .7を指定してください。これは、最新のテナントフロー(2.0.0)がPython 3 .8と連携しないためです。

開始する前に、最新のAnaconda Distributionがインストールされていることを確認してください。これらの手順では、Anaconda-2019.10 -Linux- x 86_64をダウンロードしてインストールしたと想定しています。
  1. コンピュート・インスタンスにSSHまたはPuTTYで接続します。
  2. サンドボックスという新しい環境を作成します。
    conda create --name sandbox pip python=3.7
  3. 作成した環境をアクティブ化します。
    conda activate sandbox
  4. Jupyter Notebookをインストールします。
    conda install notebook
  5. 事前フローをインストールします。
    python -m pip install tensorflow-gpu
    インスタンスにGPUがない場合は、かわりに次のコマンドを使用します。
    python -m pip install tensorflow
  6. Jupyter Notebook構成ファイルを生成します。
    jupyter notebook --generate-config

    構成ファイルは、環境外の/home/opc/.jupyter/jupyter_notebook_config.pyに作成されます。このため、その構成は、どの環境にあるかに関係なく、すべてのJupyter Notebookインスタンスに適用されます。

  7. ナノまたはviなどのテキスト・エディタで構成ファイルを開き、次の行を先頭に追加します。
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  8. Jupyter Notebookにパスワードを追加します。プロンプトが表示されたら、適切に強力なパスワードを入力します。このコマンドは、パスワードを変更するときにいつでも実行できます。
    jupyter notebook password
  9. HTTPSを介して暗号化された通信用に証明書をインストールします。自己署名証明書をインストールするには:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  10. Jupyter Notebookを起動します。
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

インスタンスの抑制ルールおよびファイアウォール設定が正しい場合、https://<instance-ip-address>:8888にナビゲートして、Jupyter NotebookをWebブラウザで開くことができます。

ウバンツに関する機械学習サンドボックス環境の設定

別のサンドボックス環境を作成し、TensorFlowおよびJupyter Notebookをインストールします。

環境を作成し、名前サンドボックスを指定します。サンドボックス環境にインストールするツールおよびソフトウェアがサンドボックス環境に固有になるように、環境はインスタンスの残りから分離されます。1つのコンピュート・インスタンスに複数の環境があり、それぞれ独自の構成を持つことができます。

次の手順では、TensorFlow 2およびJupyter Notebookをインストールしますが、使用できるツールはありません。分析分散には、1,500を超える機械学習パッケージがインストールされており、それらには科学学習、パン、RStudioなどが含まれます。

開始する前に、最新のAnaconda Distributionがインストールされていることを確認してください。これらの手順では、Anaconda-2019.10 -Linux- x 86_64をダウンロードしてインストールしたと想定しています。
  1. コンピュート・インスタンスにSSHまたはPuTTYで接続します。
  2. サンドボックスという新しい環境を作成します。
    conda create --name sandbox
  3. 作成した環境をアクティブ化します。
    conda activate sandbox
  4. テナントフローをサンドボックス環境にインストールしてください。最新のテナント・フローにはKerasが含まれるようになりました。
    python -m pip install tensorflow-gpu
    インスタンスにGPUがない場合は、かわりに次のコマンドを使用します。
    python -m pip install tensorflow
  5. Jupyter Notebook構成ファイルを生成します。
    jupyter notebook --generate-config

    構成ファイルは、環境外の/home/ubuntu/.jupyter/jupyter_notebook_config.pyに作成されます。このため、その構成は、どの環境にあるかに関係なく、すべてのJupyter Notebookインスタンスに適用されます。

  6. ナノまたはviなどのテキスト・エディタで構成ファイルを開き、次の行を先頭に追加します。
    c = get_config()
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
  7. Jupyter Notebookにパスワードを追加します。プロンプトが表示されたら、適切に強力なパスワードを入力します。このコマンドは、パスワードを変更するときにいつでも実行できます。
    jupyter notebook password
  8. HTTPSを介して暗号化された通信用に証明書をインストールします。自己署名証明書をインストールするには:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyter-key.key -out jupyter-cert.pem
  9. Jupyter Notebookを起動します。
    jupyter notebook --certfile=jupyter-cert.pem --keyfile=jupyter-key.key

インスタンスの抑制ルールおよびファイアウォール設定が正しい場合、https://<instance-ip-address>:8888にナビゲートして、Jupyter NotebookをWebブラウザで開くことができます。