この記事では次の内容を紹介します。
- 必要な 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环境