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つ
ウェブサイトのランキングは、ウェブサイトの最適化を行うすべての人が最も気にしていることです。しかし、...
人工知能はヘルスケアに変革をもたらす力となることが期待されています。では、医師と患者は AI 駆動型...
1分以内に、10日間の高精度な世界天気予報が提供されます。 ChatGPT に続いて、別の AI モ...
今、テクノロジー界で最もホットな話題はAI(人工知能)です。将来、世界はこれらの人工知能に支配される...
初期の AI マシンは不完全であり、明確に定義された指示に従ってのみ動作できました。しかし、コンピュ...
[[273322]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
海外メディアの報道によると、市場調査会社ガートナーは最近、投資家が人工知能やデータ分析技術をますます...
検出が難しい膠芽腫などの癌の生存率は1桁ですが、早期治療には検出、治療、監視のための高度な技術が必要...
彼はかつてアマゾンの中国トップレベルの科学者であり、1年前に世界の小売業界にセンセーションを巻き起こ...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
北京時間2月15日朝のニュース、ブルームバーグ通信によると、マスク氏が提唱するAI研究機関OpenA...
ChatGPTのリリース後、テキスト生成技術は急速に発展し、特に標準的な回答がない「テキスト要約」タ...
近年、大規模な実世界データを使用した視覚事前トレーニングは大きな進歩を遂げており、ピクセル観察に基づ...
NTRU 1.2 バージョンには多くの機能強化とバグ修正が含まれていますが、このバージョンは以前のバ...