GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

ufoym

deepo – 深い学習の研究環境を素早く設定できる一連のDockerイメージ(およびそのジェネレータ)

投稿日:

深い学習の研究環境を素早く設定できる一連のDockerイメージ(およびそのジェネレータ)。 https://hub.docker.com/r/ufoym/deepo

Deepoは一連のDocker画像で、

それらのDockerfileジェネレータ


目次


クイックスタート

GPUのバージョン

インストール

ステップ1. Dockernvidia-docker をインストールします

ステップ2. Docker Hubからオールインワンイメージを取得する

docker pull ufoym/deepo

使用法

これで、次のコマンドを試すことができます:

nvidia-docker run --rm ufoym/deepo nvidia-smi

これにより、Deepoはドッキング・コンテナの内部からGPUを使用できるようになります。 これで 問題が解決 しない場合は 、nvidia-docker GitHubの問題のセクションを 検索 してください 。多くのソリューションは既に文書化されています。 終了後自動的に削除されないコンテナへの対話型シェルを取得するにはdo

nvidia-docker run -it ufoym/deepo bash

ホスト(マシンまたはVM)とDeepoを使用しているコンテナ間でデータと設定を共有する場合は、-vオプションを使用します。

nvidia-docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo bash

これにより、ホストからの/host/dataがコンテナ内の/dataとして表示され、 /host/config/configとして表示されます。 このような分離は、コンテナ化された実験が誤ったデータを上書きしたり使用したりする機会を減らします。

いくつかのフレームワーク(例えば、PyTorch)はプロセス間でデータを共有するために共有メモリを使用するので、マルチプロセッシングを使う場合、コンテナが実行するデフォルトの共有メモリセグメントサイズは不十分で、共有メモリサイズを--ipc=host nvidia-docker runための--ipc=hostまたは--shm-sizeコマンドラインオプション。

nvidia-docker run -it --ipc=host ufoym/deepo bash

CPUのバージョン

インストール

ステップ1. Docker をインストールします

ステップ2. Docker Hubからオールインワンイメージを取得する

docker pull ufoym/deepo:cpu

使用法

これで、次のコマンドを試すことができます:

docker run -it ufoym/deepo:cpu bash

ホスト(マシンまたはVM)とDeepoを使用しているコンテナ間でデータと設定を共有する場合は、-vオプションを使用します。

docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo:cpu bash

これにより、ホストからの/host/dataがコンテナ内の/dataとして表示され、 /host/config/configとして表示されます。 このような分離は、コンテナ化された実験が誤ったデータを上書きしたり使用したりする機会を減らします。

いくつかのフレームワーク(例えばPyTorch)はプロセス間でデータを共有するために共有メモリを使用するので、マルチプロセッシングを使用する場合、コンテナが実行するデフォルトの共有メモリセグメントサイズは不十分で、共有メモリサイズを--ipc=hostまたは--shm-sizeコマンドラインオプションを使用して--shm-size docker runます。

docker run -it --ipc=host ufoym/deepo:cpu bash

あなたは今あなたの旅を始める準備が整いました。

$ python

>>> import tensorflow
>>> import sonnet
>>> import torch
>>> import keras
>>> import mxnet
>>> import cntk
>>> import chainer
>>> import theano
>>> import lasagne
>>> import caffe
>>> import caffe2

$ caffe --version

caffe version 1.0.0

$ th

 │  ______             __   |  Torch7
 │ /_  __/__  ________/ /   |  Scientific computing for Lua.
 │  / / / _ \/ __/ __/ _ \  |  Type ? for help
 │ /_/  \___/_/  \__/_//_/  |  https://github.com/torch
 │                          |  http://torch.ch
 │
 │th>

カスタマイズ

クイックスタートで 述べたdocker pull ufoym/deepoは、利用可能なすべての深い学習フレームワークを含む標準的なイメージを提供します。 独自の環境もカスタマイズできます。

オールインワンソリューションに不満はありますか?

オールインワンのイメージではなく、特定のフレームワークを好む場合は、フレームワークの名前のタグを追加するだけです。 例えばテンソルフローを取る:

docker pull ufoym/deepo:tensorflow

他のpythonのバージョン

すべてのPython関連の画像はデフォルトでPython 3.6使用しています。 Python 3.6に不満がある場合は、他のPythonバージョンを指定することもできます。

docker pull ufoym/deepo:py27
docker pull ufoym/deepo:tensorflow-py27

現在、 Python 2.7Python 3.6をサポートしています。

使用可能なすべてのタグの完全なリストについては、 使用可能なタグ 」を参照してください これらのあらかじめ構築された画像はすべて、 docker/Dockerfile.*circle.ymlから構築されています。 これらのファイルの生成方法についてはcircle.yml docker/Dockerfile.*およびcircle.yml生成方法を参照してください。

ジュピターのサポート

ステップ1.ジュピターサポートでイメージをプルします。

docker pull ufoym/deepo:all-py36-jupyter

このタグは、 all-py36-jupyterpy36-jupyterall-py27-jupyter 、またはpy27-jupyterいずれかpy27-jupyter

ステップ2.イメージを実行する

nvidia-docker run -it -p 8888:8888 ufoym/deepo:all-py36-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/root'

レゴ様モジュールを使って独自のカスタマイズされたイメージを作成する

ステップ1.発電機を準備する

git clone https://github.com/ufoym/deepo.git
cd deepo/generator
pip install -r requirements.txt

ステップ2.カスタマイズしたDockerファイルを生成する

たとえば、あなたがpytorchpytorchを好きなら、

python generate.py Dockerfile pytorch lasagne

これは、pytorchとlasagneを構築するためのすべてを含むDockerfileを生成するはずです。 ジェネレータは自動依存処理を処理し、リストをトポロジ的にソートできることに注意してください。 したがって、依存関係やリストの順序がないことを心配する必要はありません。

Pythonのバージョンを指定することもできます:

python generate.py Dockerfile pytorch lasagne python==3.6

ステップ3. Dockerfileをビルドする

docker build -t my/deepo .

これはいくつかのライブラリを一からコンパイルするので、数分かかることがあります。

代替案との比較

現代的な深遠な学習 dl-docker ジュピターディープラーニング ディープー
ubuntu 16.04 14.04 14.04 16.04
クダ 8.0 6.5-8.0 9.0
狂った v5 v2-5 v7
テアノ
テンソルフロー
ソネット
ピーチ
ケラス
ラザニア
mxnet
cntk
チェーンャー
カフェ
カフェ2
トーチ

利用可能なタグ

GPU / Python 3.6 GPU / Python 2.7 CPUのみ/ Python 3.6 CPUのみ/ Python 2.7
オールインワン all-py36 latest all-py36 all all-py27 py27 all-py36-cpu all-cpu py36-cpu cpu all-py27-cpu py27-cpu
ジュピターとオールインワン all-py36-jupyter py36-jupyter all-py27-jupyter py27-jupyter all-py36-jupyter-cpu py36-jupyter-cpu all-py27-jupyter-cpu py27-jupyter-cpu
テアノ theano-py36 theano theano-py27 theano-py36-cpu theano-cpu theano-py27-cpu
テンソルフロー tensorflow-py36 tensorflow tensorflow-py27 tensorflow-py36-cpu tensorflow-cpu tensorflow-py27-cpu
ソネット sonnet-py36 sonnet sonnet-py27 sonnet-py36-cpu sonnet-cpu sonnet-py27-cpu
ピーチ pytorch-py36 pytorch pytorch-py27 pytorch-py36 pytorch pytorch-py27
ケラス keras-py36 keras keras-py27 keras-py36-cpu keras-cpu keras-py36-cpu keras-py27-cpu
ラザニア lasagne-py36 lasagne-py27 lasagne-py36-cpu lasagne-cpu lasagne-py27-cpu
mxnet mxnet-py36 mxnet mxnet-py27 mxnet-py36-cpu mxnet-cpu mxnet-py27-cpu
cntk cntk-py36 cntk cntk-py27 cntk-py36-cpu cntk-cpu cntk-py27-cpu
チェーンャー chainer-py36 chainer chainer-py27 chainer-py36-cpu chainer-cpu chainer-py27-cpu
カフェ caffe-py36 caffe caffe-py27 caffe-py36-cpu caffe-cpu caffe-py27-cpu
カフェ2 caffe2-py36 caffe2 caffe2-py27 caffe2-py36-cpu caffe2-cpu caffe2-py27-cpu
トーチ torch torch torch-cpu torch-cpu

貢献する

私たちはすべての貢献に感謝します。 あなたがバグフィックスを返すことを計画しているなら、それ以上の議論なしにそれをしてください。 新しい機能、ユーティリティ機能、拡張機能を提供する予定の場合は、まず問題を開いて、その機能について話し合ってください。

ライセンス

Deepoは MITのライセンスを受けています。







-ufoym
-, , , , , , , , , , , , , , ,

執筆者: