概要
- TensorFlowを使用していて以下のようなWARNINGが出る
- TensorFlowの使用に支障はないがWARNINGが出ないように対応したい
解決方法
方法1. 必要なものをインストールしてシンボリックリンクを作成する
以下のログを確認すると原因は以下の2つです。
- libnvinfer.so.7が見つからない
- libnvinfer_plugin.so.7
2024-03-25 10:12:43.717400: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64
2024-03-25 10:12:43.717453: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64
2024-03-25 10:12:43.717457: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
これらは次の対応で解消します。
1-1. TensorRTをインストールする
pip install tensorrt --extra-index-url https://pypi.nvidia.com
1-2. 見つからない2つのモジュールに対してver.8へのリンクを作成する(*.so.*ファイルまでのパスは環境に合わせて変更してください)
ln -s /usr/lib/x86_64-linux-gnu/libnvinfer.so.8 /usr/lib/x86_64-linux-gnu/libnvinfer.so.7
ln -s /usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so.8 /usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so.7
方法2. WARNINGを非表示にする
環境変数で以下の設定をすればWARNING以下のログを非表示にできます。
export TF_CPP_MIN_LOG_LEVEL=2