Docker は素晴らしいです。開発と配布に Docker を使用する人が増えています。 Docker には、即時の環境設定、プラットフォームに依存しないアプリ、既成のソリューション、優れたバージョン管理、メンテナンスの簡素化など、多くの利点があります。 しかし、データ サイエンスやディープラーニングに関しては、Docker を使用する上でいくつかの障害があります。ホストとコンテナ間でポートとファイルを共有し、不要な run.sh スクリプトを作成し、CUDA バージョンと GPU 共有に対処するには、すべての Docker フラグを覚えておく必要があります。次のようなエラーを見たことがあるなら、その苦痛はわかるでしょう。
私たちの目標 この記事の目的は、当社で頻繁に使用する Docker ユーティリティと GPU 対応のボイラープレートのセットを紹介することです。 したがって、次の結果は発生しません。
代わりに、次の結果になります。
いいね! 私たちが実際に達成したいこと:
以下は、すべてのディープラーニングのユーザーに強くお勧めするツールのリストです。 1. CUDA まず、CUDA ツールキットが必要です。これは、自分でモデルをトレーニングする予定がある場合に必須です。将来のアップデート時に依存関係が混乱することがないように、deb ではなく runfile インストーラー タイプを使用することをお勧めします。 (オプション) 動作したかどうかを確認する方法:
2. ドッカー 膨大な数のライブラリでコンピューターを汚染したくないし、バージョンの問題も心配です。同様に、自分でビルドしてインストールする必要もありません。通常、ソフトウェアはすでに作成され、イメージにパッケージ化されています。 Docker のインストールは簡単です:
3. エヌビディアドッカー Docker を使用する場合は、NVIDIA のこのユーティリティ (https://github.com/NVIDIA/nvidia-docker) が必要です。これにより、Docker コンテナー内で GPU を使用する手順が非常に簡素化されます。 インストールは非常に簡単です:
今では、NVIDIA デバイスを毎回共有する代わりに、次のことが可能になります。
nvidia-docker コマンドを使用できます:
同様に、ドライバー バージョンの不一致についても心配する必要はありません。NVIDIA の Docker プラグインがそれを処理します。 4. Dockerコンポーズ docker 実行構成をファイルに保存し、アプリケーションの状態をより簡単に管理できる非常に便利なユーティリティです。複数の Docker コンテナを組み合わせるように設計されていますが、サービスが 1 つしかない場合でも、docker compose は非常に便利です。安定版はここにあります (https://github.com/docker/compose/releases):
5. Nvidia Docker Compose 残念ながら、Docker Compose は Nvidia Docker の存在を認識しません。幸いなことに、回避策があります。nvidia-docker ドライバーを使用して構成を生成できる小さな Python スクリプトがあります。 pip 経由で Nvidia Docker Compose をインストールします。
これで、docker-compose の代わりに nvidia-docker-compose コマンドを使用できるようになりました。 代替案 nvidia-docker-compose を使用しない場合は、ボリューム ドライバーを手動で渡すことができます。そのためには、docker-compose.yml に次のオプションを追加するだけです。
6. Bash エイリアス しかし、nvidia-docker-compose では 21 文字の入力が必要で、これは多すぎます。
幸いなことに、bash エイリアスを使用できます。お気に入りのエディターで ~/.bashrc (場合によっては ~/.bash_profile) を開き、次の行を入力します。
source ~/.bashrc を実行して設定を更新します。 TensorFlow Servingを開始する これで、上記のすべてのツールを活用する準備が整いました。たとえば、Tensorflow GPU 対応の Docker コンテナを実行します。 プロジェクト ディレクトリに次の内容の docker-compose.yml ファイルを作成します。
これで、1 つのコマンドで TensorFlow Jupiter を起動できるようになりました。
doc は nvidia-docker-compose のエイリアスです。正しいボリューム ドライバーを使用して変更された構成ファイル nvidia-docker-compose.yml を生成し、docker-compose を実行します。 同じコマンドを使用してサービスを管理できます。
結論は しかし、それだけの価値があるのでしょうか? 以下に長所と短所を見てみましょう。 アドバンテージ
欠点
生産準備はできていますか? はい。映画推奨アプリ Movix では、GPU アクセラレーション TensorFlow ネットワークを使用して、ユーザー入力に基づいてリアルタイムで映画の選択を計算します。 プロキシ API 用の Rancher クラスターには、Nvidia Titan X を搭載したコンピューターが 3 台あります。構成は通常の docker-compose.yml ファイルに保存されるため、アプリケーションを新しいサーバーにデプロイしたり、開発環境をセットアップしたりすることが容易になります。これまでのところ、そのパフォーマンスは優れています。 機械学習の未来に備えましょう! オリジナル: https://hackernoon.com/docker-compose-gpu-tensorflow-%EF%B8%8F-a0e2011d36 [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
<<: 60年間の浮き沈みを経て、人工知能はどれだけの偏見や誤った判断を経験するのでしょうか?
>>: プライベートコレクション、オープンソースのトップディープラーニングプロジェクト9つ
最近、大学入試の受験生が試験会場で小校舎を使って問題を検索する問題が大きな論争を引き起こし、大学入試...
2021年上半期、世界経済が回復し始めると、自動車業界も着実に回復し始め、自動車メーカーは電動化と...
著者 | 嘉宏、舜慧、郭良 他ディープラーニングの時代では、コンピューティングパワーの需要と消費が増...
翻訳者 | 李睿レビュー | Chonglou人工知能は現在、定量的研究などの分野におけるソフトウェ...
Google は人工知能トレーニング ツール「Teachable Machine」をアップグレードし...
[[337832]] 01 用語このセクションでは、機械学習の概要とその 3 つの分類 (教師あり学...
[[441550]] Connect 2021カンファレンスで、ザッカーバーグ氏はFacebook...
一夜にして、AI エージェントが突然インターネット全体を支配しました。業界のリーダーたちは、その焦点...