製品アップデート情報
製品リリース記録
FROM nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04RUN apt-get update -y \\&& apt-get install -y python3 \\python3-pip \\git \\&& git clone git://github.com/tensorflow/models.git \\&& apt-get --purge remove -y git \\ #不要なコンポーネントは適時アンインストールする(オプション)&& rm -rf /var/lib/apt/lists/* #aptインストール用のインストールパッケージを削除する(オプション)&& mkdir /tf /tf/models /tf/data #保存モデルおよびデータを作成するパス。マウントポイントにすることができます(オプション)ENV PYTHONPATH $PYTHONPATH:/modelsENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64:/usr/lib/x86_64-linux-gnu#RUN pip3 install --user -r models/official/requirements.txt \\&& pip3 install tensorflow
docker build -t [name]:[tag] .
LD_LIBRARY_PATHに注目する必要があります 。LD_LIBRARY_PATHはダイナミックリンクライブラリのインストールパスで、通常libxxxx.soの形式です。ここでは主にcudaおよびcudnnをリンクします。例えばlibcudart.so.[version]、ibcusolver.so.[version]、libcudnn.so.[version] などです。llコマンドを実行して確認することができ、下図に示すとおりです。

ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64
/usr/local/nvidia/libはcudaパスのソフトリンクを指し、cudaに用意されています。cudnnを付帯するバージョンはcudnnのインストールのみを行い、cudnnには LD_LIBRARY_PATHが指定されていないため、Warningエラーが発生し、GPU リソースが使用できなくなり、エラーは次のように表示されます。Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directoryCannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU...
docker run -it nvidia/cuda:[tag] /bin/bash
apt-get installコマンドによってインストールされ、デフォルトで/usr/libにインストールされます。この例ではlibcudnn.so.8の実際のパスは/usr/lib/x86_64-linux-gnu#下で、コロンで後方に補足されます。フィードバック