こんにちは。M1の落合です。 今回は、YOLOのfpsが低下したときの対処法の一つである「GPUの導入」について紹介します。 (先生に直していただいただけで、自分は何もしていませんが...)
今回紹介する方法は、Ubuntu PCにdarknet_ros, NVIDIA Driver, CUDA, cuDNNがすでにインストールされていることを前提としています。
以前は問題なくdarknet_rosが動作していたのですが、突然fpsが下がり重くなってしまいました。
そこで、nvidia-smi
を実行したところ
と表示され、darknet_rosの実行中でもそれらしき表示はありません。 なぜかGPUを使用しない設定になっていたようです。 これを解決するために、catkin_ws/src/darknet_ros/darknet/Makefileを以下のように変更します。
GPU=1
CUDNN=1
元はそれぞれの値が0になっていると思います。 その後、catkin_ws/buildやcatkin_ws/devel内にあるdarknet_ros関連と思われるフォルダやファイルを削除し、catkin_makeで改めてビルドします。 これで、GPUを使用してdarknet_rosを実行できるようになると思います。
この状態で再度nvidia-smi
を実行すると
と表示され、無事にdarknet_rosがGPUを使用していることが確認できます。 さらに、darknet_rosを起動してみると
このようにfpsが上がり、以前のようにスムーズに動作するようになりました。
(参考にしたサイト:https://tomson784.github.io/ros_practice/yolo/install.html)