GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

DockerでJupiter、Keras、Tensorflow、その他のMLライブラリを実行する方法

この記事では、Docker関連の一連の記事を続け、機械学習用のUbuntu20.04LTSベースのDockerコンテナーを作成する方法を示します。 Python 3、Jupyter、Keras、Tensorflow、TensorBoard、Pandas、Sklearn、Matplotlib、Seaborn、pyyaml、h5pyの環境にインストールします。 Dockerイメージの構築時間を除いて、3分で個人のML環境を準備します!

2020年の更新

コンテナをUbuntu20.04LTSベースに更新し、Dockerビルドプロセスを高速化しました。現在、OpenCVをソースから構築するのではなく、 aptからインストールしています。 。

機械学習(ML)の学習を開始するとき、環境のセットアップはよくある質問です。この記事では、快適なスタートを切るための次のフレームワークを含む、独自のDockerコンテナを作成する方法を紹介します。

  • Python 3
  • Jupyter
  • Keras
  • テンソルフロー
  • TensorBoard
  • パンダ
  • Sklearn
  • Matplotlib
  • シーボーン
  • pyyaml
  • h5py

これらは、データサイエンスで広く使用されているPythonフレームワークのトップ10であり、それらのほとんどはインターネット上のハウツー記事にあります。次の記事(Anacondaに基づいてPython Data Science Dockerコンテナーを構築する方法)では、Anacondaディストリビューションの上に同じイメージを構築する方法を示します。

要件

必要なのは、システムにインストールされているDockerとテキストエディタだけです。

プロジェクト構造

最終的なプロジェクト構造は次のとおりです。

  $ tree -a python_data_science_container $python_data_science_container├──Dockerfile├──conf│└──.jupyter│└──jupyter_notebook_config.py└──run_jupyter.sh2ディレクトリ、3ファイル 

Dockerfile

プロジェクトフォルダとファイル名を作成するだけです。Dockerfile 内部:

  $ mkdir python_data_science_container $ cd python_data_science_container $ vim Dockerfile  

その後、次のコンテンツを Dockerfileに配置します :

  FROM ubuntu:20.04MAINTAINER "Andrei Maksimov" ENV DEBIAN_FRONTEND noninteractiveRUN apt-get update &&apt-get install -y \ libopencv-dev \ python3-pip \ python3-opencv &&\ rm -rf / var / lib / apt / lists / * RUN pip3 install tensorflow &&\ pip3 install numpy \ pandas \ sklearn \ matplotlib \ seaborn \ jupyter \ pyyaml \ h5py &&\ pip3 install keras --no-deps &&\ pip3 install opencv-python &&\ pip3 install imutilsRUN ["mkdir"、 "notebooks"] COPY conf / .jupyter /root/.jupyterCOPY run_jupyter.sh /#JupyterおよびTensorboardポートEXPOSE 8888 6006#このマウントされたディレクトリにノートブックを保存するVOLUME / notesbooksCMD ["/run_jupyter.sh"]  

個人のデータサイエンスコンテナ環境を作成するために使用するGitHubで、自分のDockerfileの最新の例をいつでも見つけることができます(Docker Hubでも無料で入手できます)。

Jupyter構成

コンテナーとそのコンポーネントを宣言したらすぐに、Jupyterの構成を準備します。次のコンテンツを含むファイルjupyter_notebook_config.pyを作成します。

 #Get the config objectc =get_config()#in-line figure when using Matplotlibc.IPKernelApp.pylab ='inline' c.NotebookApp.ip ='*' c.NotebookApp.allow_remote_access =True#do not Notebooksc.NotebookApp.open_browser =False#トークンなしを使用する場合、デフォルトでブラウザウィンドウを開きます。常にsshtunnelc.NotebookApp.token='' c.NotebookApp.notebook_dir ='/notebooks'でjupyterを使用する#Dockerコンテナ内のrootユーザーからJupyterを実行できるようにするc.NotebookApp.allow_root =True  

Dockerfileから推測できるように 、/root/.jupyter/に配置します コンテナビルドプロセス中のフォルダ。

起動スクリプトの作成

最後に行う必要があるのは、スクリプト run_jupyter.shを作成することです。 、起動プロセス中にコンテナ内でJupiterサーバーを起動します。次のコンテンツでを作成します:

 #!/ usr / bin /enbbashjupyterノートブック"$@"  

そして、このファイルを実行可能にします:

  $ chmod + x run_jupyter.sh  

このファイルは、新しいファイルを起動するたびに、デフォルトでコンテナ内で起動されます。

コンテナイメージの作成

最終段階–コンテナの作成。次のコマンドを実行して、プロジェクトディレクトリからDockerコンテナをビルドします。

  $ docker build -f Dockerfile-tpython_data_science_container。 

Dockerは、ビルドプロセス中に必要なすべてのライブラリとフレームワークをコンテナイメージ内にインストールし、使用できるようにします。

実行中のコンテナ

これで、動作するコンテナができました。それを開始します。プロジェクトのフォルダ内にフォルダを作成します。このフォルダには、プロジェクトのソースコードを含むすべてのJupyterNotebookが保存されます。

 $mkdirノートブック 

そして、次のコマンドでコンテナを起動します:

  $ docker run -it -p 8888:8888 \ -p 6006:6006 \ -d \ -v $(pwd)/ notesbooks:/ notesbooks \ python_data_science_container  

コンテナを起動し、このコマンドを実行した場所に応じて、ローカルコンピュータまたはサーバーのポート6006でJupyterをポート8888とTensorflowダッシュボードに公開します。

このコンテナは、ローカル開発の目的でのみ作成されていることに注意してください。私 このコンテナ内のJupyterの認証を削除したため、誰でもポート8888または6006に接続して、Pythonの原因コードを実行できます。

実用的なソリューションを探しているだけの場合

独自のコンテナを作成して維持する必要がなく、前述のコンポーネントで十分な場合は、私が通常更新する個人用コンテナを自由に使用してください。

  $ docker run -it -p 8888:8888 \ -p 6006:6006 \ -d \ -v $(pwd)/ notesbooks:/ notesbooks \ amaksimov / python_data_science  

この記事がお役に立てば幸いです。記事が気に入ったら、好きなソーシャルメディアを使って再投稿してください。またね!


Docker
  1. Dockerコンテナをエクスポートおよびインポートする方法

  2. Dockerコンテナ内でプログラムを実行する方法は?

  3. DockerコンテナでMySQLを実行する方法

  1. RockyLinux8にDockerContainerをインストールしてセットアップする方法

  2. 実行中のDockerコンテナでコマンドを実行する方法

  3. Dockerコンテナ内でアプリケーションをインストール、実行、削除する方法–パート2

  1. 実行中のDockerコンテナにSSHで接続してコマンドを実行する方法

  2. DockerでRedisをデプロイして実行する方法

  3. UbuntuでDockerをインストールしてDockerコンテナを実行する方法