GPUサポート付きのDockerコンテナを以前実行していた場合の起動

GPUサポート付きのDockerコンテナを以前実行していた場合の起動

最近、いくつかのニューラル ネットワークをトレーニングするために、CUDA/Docker サポート付きの WSL2 (Windows 10、21H2) をセットアップしました。このために、このガイドの指示に従いました。https://docs.nvidia.com/cuda/wsl-ユーザーガイド/index.html

完了したら、リンクしたドキュメントで指定されているとおりにイメージを実行しました。

docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter     

この時点で、ブラウザを起動して、GPU をサポートする Jupyter Notebook で作業することができます。これを確認するには、次のコマンドを実行します。

import tensorflow as tf
tf.config.list_physical_devices('GPU')

出力は GPU が利用可能であることを確認します: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

完了したら、変更を保存し、コンテナから CTRL-C を停止します。

ここまでは、すべてが期待どおりに動作しています。

作業を再開するには、docker start -i happy_bosewherehappy_boseが先ほど実行したコンテナの名前である必要があります。

ただし、GPU サポートは存在しません ( の呼び出しはtf.config.list_physical_devices('GPU')空のリストを返します)。

docker start -i happy_boseGPU サポート付きのコンテナを起動できると思っていましたが、そうではありません。GPU サポート付きのコンテナを再利用する方法はありますか? それとも、docker run毎回コンテナを作成して起動する必要がありますか?

関連情報