Linux で Docker を使用して Tensorflow-GPU 開発環境を迅速に構築する

この記事では次の内容を紹介します。

  • 必要な Tensorflow-GPU イメージを見つける方法
  • イメージをプルし、Linux ターミナルでローカル イメージを表示します。
  • Docker を使用して Tensorflow-GPU 環境を構築する
  • jupyter 外部アクセス マッピングを構成する
  • GPU環境かどうかを確認する

この記事を表示するための前提条件は、ローカルの Docker 環境が必要であることです。Docker 環境が構成されていない場合は、まず記事の構成を確認できます

1. Tensorflow イメージをダウンロードする

1. 必要な Tensorflow イメージを見つけます

Baidu を検索してNVIDIA GPU アクセラレーション コンテナnvidia ngcに入り、目的のバージョンの Tensorflow イメージを見つけて、対応するバージョンをコピーしますpull tagここに画像の説明を挿入

2. Linux ターミナルでイメージをプルします。
docker pull nvcr.io/nvidia/tensorflow:21.07-tf2-py3
3. 鏡像を見る

(1)、docker infoファイルのダウンロードの場所を表示するために入力し、ディレクトリを入力します:
ここに画像の説明を挿入
(2)、ダウンロードしたイメージの保存アドレス:
ここに画像の説明を挿入
(3)、名前のマッピング:
repositories.json結果は、docker images次の数と同じです。
ここに画像の説明を挿入
画像を追加した後に表示される画像を確認すると、repositories.json対応する 2 つの画像 ID レコードが追加されます。1 つはimage hub上記のものと同じで、もう 1 つはdocker imagesローカルのものと同じです。以下の図に示すように、
ここに画像の説明を挿入
Docker イメージの保存パスの詳細な分析が行われます。

次に、Docker を使用して Tensorflow-GPU 環境を構築します。

Docker コンテナの特定のコマンドについては、
docker run を参照してください。 コンテナは
Docker run コマンドを実行します。

1. Docker を使用して Tensorflow-GPU 環境を構築する
docker run --gpus all -d -it -p 【宿主机映射端口】:【容器内映射端口】 -v 【宿主机绝对地址】:【容器内绝对地址】 --name 【自定义容器名称】 -e 【全局变量key】=【全局变量value】 nvcr.io/nvidia/tensorflow:21.07-tf2-py3 bash

注:マップされたポートを定義するときは、ポートが占有されているかどうかを確認する必要があります。次のコマンドで確認できます。

lsof -i:【端口号】
2. コンテナに入る
docker exec -it 【自定义的容器名称】 bash
3. jupyter 外部アクセス マッピングを構成する
  • Docker を使用して Tensorflow-GPU 環境を構築する場合、jupyter ポート 8888 をホストの外部ポートに開きます (jupyter ポートは独自に定義できますが、コンテナーの内部ポートと一致している必要があります)。
  • jupyter_notebook_config.pyファイルを変更すると、環境変数からユーザー名、パスワードなどを読み取ることができます。vim /root/.jupyter/jupyter_notebook_config.py
    変更されたコンテンツは次のコードを参照できます。
import os
from IPython.lib import passwd

c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = int(os.getenv('PORT', 8888))
c.NotebookApp.open_browser = False
c.MultiKernelManager.default_kernel_name = 'python3'

# sets a password if PASSWORD is set in the environment
if 'NOTEBOOK_PASS' in os.environ:
    c.NotebookApp.password = passwd(os.environ['NOTEBOOK_PASS'])
    del os.environ['NOTEBOOK_PASS']
else:
    c.NotebookApp.token = ''

if 'NOTEBOOK_USER' in os.environ:
    c.NotebookApp.notebook_dir = '/root/' + os.environ['NOTEBOOK_USER']
    del os.environ['NOTEBOOK_USER']

  • バックグラウンドで jupyer サービスを開きます。
nohup jupyter-notebook --allow-root  > /dev/null  2>&1 &
  • ブラウザを使用して直接アクセスできるようになりました
http://【ip】:16666/lab

3、環境の設定と確認

1. 環境を構成する
apt-get update
apt-get install sudo
2. GPU環境かどうかを確認する
ipython
import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())	# 结果True则是GPU环境

おすすめ

転載: blog.csdn.net/TFATS/article/details/119918502