В этом руководстве я покажу вам, как собрать версию AlexeyAB DarkNet YOLOv4 с поддержкой графического процессора (включая CUDNN_HALF=1 для 3-кратного ускорения) и поддержкой OpenCV.
Я тестировал это на
Операционная система: система Pop OS (Ubuntu) 22.04 LTS (NVIDIA)
Графический процессор: графический процессор ноутбука Nvidia RTX 3080
Открытый терминал
>> nvidia-smi
Наш драйвер NVIDIA GPU хорош. Но нам по-прежнему приходится вручную устанавливать CUDA, так как DarkNet не может использовать предустановленную System76.
Установите CUDA
Перейдите по этой ссылке, чтобы загрузить CUDA 11.7: https://developer.nvidia.com/cuda-downloads
Выбирать:
>> cd Downloads/ >>wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
>> sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
>> sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
>> sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
>> sudo apt-get update
>> sudo apt-get -y install cuda
Note: above command takes takes time to run (~3 minutes)
Выполните приведенные ниже команды, чтобы проверить, установлена ли сейчас версия CUDA 11.7.
>> nvidia-smi
Мы видим, что версия CUDA теперь отображается как 11.7.
Добавьте CUDA в путь к среде
>> cd
Убедитесь, что вы видите папку cuda-11.7
в /usr/local/
>> ls /usr/local/
Затем добавьте CUDA в путь к среде.
>> nano ~/.bashrc
Вставьте это в конец .bashrc
:
# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64
export CPATH=/usr/local/cuda-11.7/targets/x86_64-linux/include:$CPATH
Убедитесь, что CUDA установлен (а также правильно добавлен в путь среды)
>> sudo apt install nvidia-cuda-toolkit
>> nvcc -V
Install cuDNN v8.4.1
Ссылка для скачивания: https://developer.nvidia.com/rdp/cudnn-download
Извлеките загруженный файл с помощью диспетчера архивов Pop OS.
Rename extracted folder `cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive` to `cuda` for simplicity.
>> cd ~/Downloads/cuda/
>> sudo cp -P lib/* /usr/local/cuda/lib64/
>> sudo cp -P include/* /usr/local/cuda/include/
>> cd ~/Downloads/
Install DarkNet with GPU support and OpenCV support
Установите Anaconda (версия для Linux): довольно просто, просто нужно запустить .sh
Примечание: после установки Anaconda вам придется закрыть и снова открыть текущую оболочку.
Установите OpenCV в среде conda
>> conda create -n opencv
>> conda activate opencv
>> sudo apt install python3-pip
>> pip install opencv-python
Note: My versions are numpy-1.22.4 opencv-python-4.6.0.66
Клонировать репозиторий AlexeyAB DarkNet
>> cd ~/Documents/
>> git clone https://github.com/AlexeyAB/darknet.git
>> cd darknet
Build DarkNet with GPU support and OpenCV
Отредактируйте Makefile в папке даркнета. набор:
GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
У меня GeForce RTX 3080, поэтому я раскомментировал ниже в Makefile:
ARCH= -gencode arch=compute_86,code=[sm_86,compute_86]
После сохранения Makefile с изменениями запустите:
>> sudo apt-get install libopencv-dev
>> make
Вы успешно установили даркнет с поддержкой графического процессора и поддержкой OpenCV!!! 🎉
Бег по веб-камере
Загрузите веса по ссылке ниже и поместите их в папку даркнета:
https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights
Бегать:
>> ./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights
Наслаждайтесь обнаружением себя в камере при высокой частоте кадров благодаря ускорению графического процессора. Делитесь своими результатами в комментариях!
Огромное спасибо этому руководству за помощь: https://medium.com/@abhichand26/how-to-setup-cuda-in-ubuntu-for-darknet-yolo-fdd25cd70aba