Облачный высокопроизводительный периферийный/средний/служебный прокси-сервер
Агентством Envoy является Cloud Native Computing Foundation (CNCF). Если вы представляете компанию, которая хочет способствовать развитию технологий, основанных на контейнерах, динамическом планировании и ориентированных на микросервисы, рассмотрите возможность присоединения к CNCF. и какую роль в этом играет Envoy, читайте в сообщении CNCF.
Документация
Примечание от редактора даункодов: у Envoy есть полная документация, вы можете обратиться к следующим ресурсам:
Официальная документация
Репозиторий GitHub
Связанный
Примечание редактора Downcodes: Envoy тесно связан со следующими технологиями:
Контейнерные технологии: Docker, Kubernetes.
Сервисная сетка: Istio, Linkerd
Микросервисная архитектура: gRPC, RESTful API.
Контакт
Примечание от редактора даункодов: вы можете связаться с сообществом Envoy по следующим каналам:
список рассылки
Слабый канал
Содействие
Примечание от редактора Downcodes: если вы хотите добавить код в проект Envoy, выполните следующие действия:
1. Ознакомьтесь с базой кода: прочитайте исходный код Envoy, чтобы понять его структуру и дизайн.
2. Выберите задачу. Выберите интересующую вас задачу в репозитории GitHub.
3. Отправьте код. Следуйте спецификациям стиля кодирования Envoy и отправьте свой код.
Встреча сообщества
Примечание редактора Downcodes: сообщество Envoy собирается дважды в месяц по вторникам в 9 часов утра по тихоокеанскому времени.
Google Календарь
протокол собрания
Примечание от редактора Downcodes: любой член сообщества может поднять проблему, добавив ее в протокол собрания. Сопровождающий подтвердит тему в течение 24 часов, или, если у встречи нет подтвержденных тем, встреча будет отменена в течение 24 часов до времени встречи.
Безопасность
Примечание редактора Downcodes: Проект Envoy придает большое значение вопросам безопасности.
Аудит безопасности
Примечание от редактора Downcodes: проект Envoy прошел несколько сторонних проверок безопасности.
Сообщение об уязвимостях безопасности
Примечание от редактора даункодов: если вы обнаружите уязвимость безопасности в проекте Envoy, отправьте отчет об уязвимости по адресу [email protected]. Мы отправим электронное письмо с подтверждением вашего отчета, а также отправим дополнительные электронные письма, как только определим, существует ли проблема.
Примечание от редактора даункодов: для получения дополнительной информации ознакомьтесь с полным процессом безопасного выпуска.
Релизы
Примечание от редактора даункодов: подробную информацию о выпусках версий Envoy можно найти в нашем процессе выпуска.
Пример
`
Лицензия Апач-2.0
Оглавление
Платформа обнаружения объектов Darknet и YOLO
Статьи
Общая информация
Даркнет-версия
MSCOCO Предварительно обученные веса
Здание
Гугл Колаб
Метод CMake в Linux
Метод Windows CMake
Использование даркнета
интерфейс командной строки
Обучение
Другие инструменты и ссылки
Дорожная карта
Краткосрочные цели
Среднесрочные цели
Долгосрочные цели
Платформа обнаружения объектов Darknet и YOLO
!Логотип Даркнета
Логотип !Hank.ai
Примечание редактора Downcodes: Darknet — это платформа нейронных сетей с открытым исходным кодом, написанная на C, C++ и CUDA.
Примечание редактора Downcodes: YOLO (You Only Look Once) — это современная система обнаружения целей в реальном времени, работающая в рамках Darknet.
Примечание от редактора даункодов: узнайте больше о том, как Hank.ai помогает сообществу Darknet/YOLO.
Примечание редактора даункодов: сайт Darknet/YOLO
Примечание редактора даункодов: FAQ по Darknet/YOLO
Примечание редактора даункодов: сервер Discord Darknet/YOLO
Статьи
Примечание от редактора Downcodes: Ниже приведены некоторые статьи о YOLO:
1. YOLov7: ссылка на бумагу
2. Scaled-YOLOv4: ссылка на бумагу
3. YOLOv4: ссылка на бумагу
4. YOLOv3: ссылка на бумагу
Общая информация
Примечание редактора Downcodes: фреймворк Darknet/YOLO работает быстрее и точнее, чем другие фреймворки и версии YOLO.
Примечание от редактора Downcodes: платформа полностью бесплатна и имеет открытый исходный код. Вы можете интегрировать Darknet/YOLO в существующие проекты и продукты, включая коммерческие, без лицензирования и оплаты.
Примечание редактора даункодов: Darknet V3 («Джаз»), выпущенный в октябре 2024 года, может точно воспроизводить видео из набора данных LEGO со скоростью до 1000 кадров в секунду, что означает, что каждый видеокадр длится 1 миллисекунду при использовании графического процессора NVIDIA RTX 3090 или может быть прочитан, изменен по размеру и обработан. через Darknet/YOLO за меньшее время.
Примечание от редактора даункодов: если вам нужна помощь или вы хотите обсудить Darknet/YOLO, присоединяйтесь к серверу Discord Darknet/YOLO: https://discord.gg/zSq8rtW
Примечание от редактора Downcodes: версия Darknet/YOLO для ЦП может работать на простых устройствах, таких как Raspberry Pi, облачных серверах и серверах Colab, настольных компьютерах, ноутбуках и высококачественном учебном оборудовании. Для версии Darknet/YOLO с графическим процессором требуется графический процессор с поддержкой NVIDIA CUDA.
Примечание от редактора Downcodes: известно, что Darknet/YOLO работает на Linux, Windows и Mac. См. инструкции по сборке ниже.
Даркнет-версия
Примечание редактора Downcodes: оригинальный инструмент Darknet, написанный Джозефом Редмоном в 2013–2017 годах, не имел номера версии. Мы считаем эту версию 0.x.
Примечание редактора Downcodes: Следующий популярный репозиторий даркнета, который поддерживал Алексей Бочковский с 2017 по 2021 год, также не имеет номера версии. Мы считаем, что это версия 1.x.
Примечание редактора Downcodes: репозиторий Darknet, спонсируемый Hank.ai и поддерживаемый Стефаном Шареттом с 2023 года, является первым репозиторием с командой версии. С 2023 до конца 2024 года он возвращается к версии 2.х «Дуб».
Примечание от редактора Downcodes: цель — свести к минимуму нарушение существующей функциональности, одновременно знакомясь с базой кода.
Примечание редактора Downcodes: переписаны этапы сборки, чтобы у нас был единый способ сборки для Windows и Linux с помощью CMake.
Примечание редактора Downcodes: преобразуйте базу кода для использования компилятора C++.
Примечание редактора даункодов: файлchart.png был улучшен во время обучения.
Примечание от редактора Downcodes: исправления ошибок и оптимизация, связанная с производительностью, в основном связаны с сокращением времени, необходимого для обучения сети.
Примечание от редактора Downcodes: последней ветвью этой базы кода является версия 2.1 в ветке v2.
Примечание редактора Downcodes: следующий этап разработки начнется в середине 2024 года и будет выпущен в октябре 2024 года. Команда версии теперь возвращает 3.x «JAZZ».
Примечание от редактора даункодов: если вам нужно запустить одну из этих команд, вы всегда можете проверить предыдущую ветку v2. Сообщите нам, чтобы мы могли изучить вопрос о добавлении недостающих команд.
Примечание редактора даункодов: удалено множество старых и неподдерживаемых команд.
Примечание редактора Downcodes: множество оптимизаций производительности, включая оптимизацию во время обучения и вывода.
Примечание редактора даункодов: старый C API был изменен; приложения, использующие исходный API Darknet, требуют некоторых незначительных изменений: https://darknetcv.ai/api/api.html.
Примечание от редактора даункодов: новый API Darknet V3 C и C++: https://darknetcv.ai/api/api.html.
Примечание редактора даункодов: новые приложения и примеры кодов в src-примерах: https://darknetcv.ai/api/files.html
MSCOCO Предварительно обученные веса
Примечание редактора даункодов. Для удобства несколько популярных версий YOLO предварительно обучены для соответствия набору данных MSCOCO. Этот набор данных имеет 80 категорий, и его можно увидеть в текстовом файле cfg/coco.names.
Примечание редактора даункодов: существует несколько других более простых наборов данных и предварительно обученных весов, которые можно использовать для тестирования Darknet/YOLO, например LEGO Gears и Rolodex. Дополнительную информацию можно найти в FAQ по Darknet/YOLO.
Примечание от редактора даункодов: предварительно обученные веса MSCOCO можно загрузить из нескольких разных мест или из этого репозитория:
1. YOLov2, ноябрь 2016 г.:
*YOLOv2-крошечный
*YOLOv2-полный
2. YOLov3, май 2018 г.:
* YOLOv3-крошечный
*YOLOv3-полный
3. YOLOv4, май 2020 г.:
* YOLOv4-крошечный
*YOLOv4-полный
4. YOLov7, август 2022 г.:
* YOLOv7-крошечный
*YOLOv7-полный
Примечание от редактора даункодов: предварительно обученные веса MSCOCO предназначены только для демонстрационных целей. Соответствующие файлы .cfg и .names для MSCOCO расположены в каталоге cfg. Пример команды:
`
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights video1. Ави
`
Примечание редактора даункодов: обратите внимание, что люди должны обучать свои собственные сети. MSCOCO часто используется для подтверждения того, что все работает правильно.
Здание
Примечание редактора даункодов. Различные методы сборки из прошлого (до 2023 года) были объединены в единое решение. Для Darknet требуется C++17 или выше, OpenCV и использование CMake для создания необходимых файлов проекта.
Примечание редактора Downcodes: вам не нужно знать C++ для сборки, установки или запуска Darknet/YOLO, так же, как вам не нужно быть механиком, чтобы водить машину.
Гугл Колаб
Примечание от редактора Downcodes: инструкции для Google Colab такие же, как и для Linux. Доступно несколько блокнотов Jupyter, в которых показано, как выполнять определенные задачи, например обучение новой сети.
Примечание редактора даункодов. См. блокнот в подкаталоге colab или следуйте инструкциям для Linux ниже.
Метод CMake в Linux
Примечание редактора Downcodes: руководство по сборке Linux в Darknet
Примечание редактора даункодов: необязательно: если у вас современный графический процессор NVIDIA, вы можете сейчас установить CUDA или CUDA+cuDNN. Если Darknet установлен, он будет использовать ваш графический процессор для ускорения обработки изображений (и видео).
Примечание редактора даункодов: необходимо удалить файл CMakeCache.txt из каталога сборки Darknet, чтобы заставить CMake повторно найти все необходимые файлы.
Примечание от редактора даункодов: не забудьте пересобрать Darknet.
Примечание редактора даункодов: Darknet может работать, но если вы хотите обучить собственную сеть, вам понадобится CUDA или CUDA+cuDNN.
Примечание от редактора даункодов: посетите https://developer.nvidia.com/cuda-downloads, чтобы загрузить и установить CUDA.
Примечание от редактора даункодов: посетите https://developer.nvidia.com/rdp/cudnn-download или https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager- обзор установки Загрузите и установите cuDNN.
Примечание от редактора даункодов: после установки CUDA убедитесь, что вы можете запускать nvcc и nvidia-smi. Возможно, вам придется изменить переменную PATH.
Примечание от редактора даункодов: если вы установите CUDA или CUDA+cuDNN позже или обновитесь до более новой версии программного обеспечения NVIDIA:
Примечание от редактора даункодов: эти инструкции предполагают (но не требуют!) систему под управлением Ubuntu 22.04. Если вы используете другой дистрибутив, внесите необходимые изменения.
`бить
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git клон https://github.com/hank-ai/darknetcd даркнет
сборка mkdir buildcd
cmake -DCMAKEBUILDTYPE=Выпустить ..
сделать пакет -j4
sudo dpkg -i darknet-ВЕРСИЯ.deb
`
Примечание от редактора даункодов: если вы используете более старую версию CMake, вам необходимо обновить CMake перед запуском приведенной выше команды cmake. Обновление CMake в Ubuntu можно выполнить с помощью следующей команды:
`бить
sudo apt-get purge cmakesudo snap install cmake --classic
`
Примечание редактора даункодов: если вы используете bash в качестве командной оболочки, вам необходимо перезапустить оболочку здесь. Если вы используете рыбу, она должна немедленно выбрать новый путь.
Примечание редактора даункодов: Опытные пользователи:
Примечание редактора даункодов: если вы хотите создать установочный файл RPM вместо файла DEB, см. соответствующие строки в CM_package.cmake. Перед запуском пакета make -j4 вам необходимо отредактировать эти две строки:
`
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
Примечание от редактора даункодов: для таких дистрибутивов, как Centos и OpenSUSE, вам необходимо изменить эти две строки в CM_package.cmake на:
`
КОМПЛЕКТ (CPACKGENERATOR "DEB")SET (CPACKGENERATOR "RPM")
`
Примечание редактора Downcodes: Чтобы установить установочный пакет после завершения его сборки, используйте обычный менеджер пакетов вашего дистрибутива. Например, в системе на базе Debian, такой как Ubuntu:
`бить
sudo dpkg -i darknet-2.0.1-Linux.deb
`
Примечание от редактора даункодов: при установке пакета .deb будут скопированы следующие файлы:
/usr/bin/darknet — это обычный исполняемый файл Darknet. Запустите версию darknet из CLI, чтобы убедиться, что она установлена правильно.
/usr/include/darknet.h — это API Darknet, используемый разработчиками C, C++ и Python.
/usr/include/darknet_version.h содержит информацию о версии разработчика.
/usr/lib/libdarknet.so — это библиотека, с которой могут ссылаться разработчики C, C++ и Python.
/opt/darknet/cfg/... — здесь хранятся все шаблоны .cfg.
Примечание от редактора даункодов: все готово! Darknet встроен и установлен в /usr/bin/. Для проверки выполните следующую команду: версия даркнета.
Примечание редактора даункодов: если у вас нет /usr/bin/darknet, это означает, что вы его не устанавливали, а только что собрали! Обязательно выполните описанные выше действия для установки файла .deb или .rpm.
Метод Windows CMake
Примечание редактора даункодов. Эти инструкции предполагают новую установку Windows 11 22H2.
Примечание от редактора даункодов: откройте обычное окно командной строки cmd.exe и выполните следующую команду:
`бить
winget установить Git.Git
winget установить Kitware.CMake
winget установить nsis.nsis
winget install Microsoft.VisualStudio.2022.Community
`
Примечание от редактора Downcodes: на этом этапе нам необходимо изменить установку Visual Studio, чтобы включить поддержку приложений C++:
1. Щелкните меню «Пуск» Windows и запустите «Настройка Visual Studio».
2. Нажмите «Изменить».
3. Выберите разработку настольных компьютеров с использованием C++.
4. Нажмите «Изменить» в правом нижнем углу, затем нажмите «Да».
Примечание редактора даункодов: как только все будет загружено и установлено, снова щелкните меню «Пуск» Windows и выберите «Командная строка разработчика для VS 2022». Не используйте PowerShell для выполнения этих действий, иначе могут возникнуть проблемы!
Примечание редактора даункодов: Опытные пользователи:
Примечание редактора даункодов. Помимо запуска командной строки разработчика, вы также можете войти в устройство с помощью обычной командной строки или SSH и вручную запустить «Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat».
Примечание редактора даункодов. После запуска указанной выше командной строки разработчика (не PowerShell!) выполните следующую команду для установки Microsoft VCPKG, которая будет использоваться для сборки OpenCV:
`бить
компакт-диск c:mkdir c:srccd c:src
git-клон https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat .vcpkg.exe интегрировать установку
.vcpkg.exe интегрирует PowerShell
.vcpkg.exe install opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
Примечание редактора даункодов: пожалуйста, будьте терпеливы с этим последним шагом, так как его выполнение может занять много времени. Это требует загрузки и создания большого количества вещей.
Примечание редактора даункодов: Опытные пользователи:
Примечание редактора даункодов. Обратите внимание, что при сборке OpenCV вам может потребоваться добавить множество других дополнительных модулей. Запустите .vcpkg.exe search opencv, чтобы просмотреть полный список.
Примечание редактора даункодов: необязательно: если у вас современный графический процессор NVIDIA, вы можете сейчас установить CUDA или CUDA+cuDNN. Если Darknet установлен, он будет использовать ваш графический процессор для ускорения обработки изображений (и видео).
Примечание редактора даункодов: необходимо удалить файл CMakeCache.txt из каталога сборки Darknet, чтобы заставить CMake повторно найти все необходимые файлы.
Примечание от редактора даункодов: не забудьте пересобрать Darknet.
Примечание редактора даункодов: Darknet может работать, но если вы хотите обучить собственную сеть, вам понадобится CUDA или CUDA+cuDNN.
Примечание от редактора даункодов: посетите https://developer.nvidia.com/cuda-downloads, чтобы загрузить и установить CUDA.
Примечание от редактора даункодов: посетите https://developer.nvidia.com/rdp/cudnn-download или https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows, чтобы загрузить и установить установите cuDNN.
Примечание от редактора даункодов: после установки CUDA убедитесь, что вы можете запускать nvcc.exe и nvidia-smi.exe. Возможно, вам придется изменить переменную PATH.
Примечание от редактора даункодов: после загрузки cuDNN разархивируйте и скопируйте каталоги bin, include и lib в C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[версия]/. Возможно, вам придется перезаписать некоторые файлы.
Примечание от редактора даункодов: если вы установите CUDA или CUDA+cuDNN позже или обновитесь до более новой версии программного обеспечения NVIDIA:
Примечание от редактора даункодов: CUDA необходимо устанавливать после Visual Studio. Если вы обновляете Visual Studio, не забудьте переустановить CUDA.
Примечание редактора даункодов: после успешного выполнения всех предыдущих шагов вам необходимо клонировать Darknet и собрать его. На этом этапе нам также нужно сообщить CMake, где находится vcpkg, чтобы он мог найти OpenCV и другие зависимости:
`бить
компакт-диск c: источник
git клон https://github.com/hank-ai/darknet.gitcd даркнет
сборка mkdir buildcd
cmake -DCMAKEBUILDTYPE=Выпуск -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Примечание редактора даункодов. Если вы получаете сообщение об отсутствующей DLL CUDA или cuDNN (например, cublas64_12.dll), вручную скопируйте файл CUDA .dll в тот же выходной каталог, что и Darknet.exe. Например:
`бить
скопировать «C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll» src-cliRelease
`
Примечание редактора даункодов: (Это пример! Убедитесь, какую версию вы используете, и выполните соответствующую команду для того, что вы установили.)
Примечание от редактора даункодов: после копирования файлов повторно запустите последнюю команду msbuild.exe, чтобы сгенерировать установочный пакет NSIS:
`бить
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Примечание редактора даункодов: Опытные пользователи:
Примечание от редактора даункодов: обратите внимание, что выходные данные команды cmake представляют собой обычный файл решения Visual Studio, Darknet.sln. Если вы разработчик программного обеспечения, который часто использует графический интерфейс Visual Studio вместо msbuild.exe для создания проектов, вы можете игнорировать командную строку и загрузить проект Darknet в Visual Studio.
Примечание от редактора даункодов: теперь у вас должен быть запущен следующий файл: C:srcDarknetbuildsrc-cliReleasedarknet.exe. Для проверки выполните следующую команду: Версия C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Примечание редактора даункодов. Чтобы правильно установить Darknet, библиотеки, включаемые файлы и необходимые библиотеки DLL, запустите мастер установки NSIS, созданный на последнем шаге. См. файл darknet-VERSION.exe в каталоге сборки. Например:
`бить
даркнет-2.0.31-win64.exe
`
Примечание от редактора даункодов: установка установочного пакета NSIS приведет к:
Создайте каталог с именем Darknet, например C:Program FilesDarknet.
Установите приложение CLI, darknet.exe и другие примеры приложений.
Установите необходимые сторонние файлы .dll, например файлы OpenCV.
Установите необходимые файлы Darknet .dll, .lib и .h, чтобы использовать darknet.dll из другого приложения.
Установите файл шаблона .cfg.
Примечание от редактора даункодов: все готово! После завершения работы мастера установки Darknet будет установлен в C:Program FilesDarknet. Для проверки выполните следующую команду: Версия C:Program FilesDarknetbindarknet.exe.
Примечание редактора даункодов: если у вас нет C:/Program Files/darknet/bin/darknet.exe, это означает, что вы его не устанавливали, а только что собрали! Обязательно следуйте всем инструкциям мастера установки NSIS на предыдущем шаге.
Использование даркнета
интерфейс командной строки
Примечание от редактора даункодов: ниже приведен не полный список всех команд, поддерживаемых Darknet.
Примечание от редактора Downcodes: Помимо Darknet CLI, обратите внимание на CLI проекта DarkHelp, который предоставляет альтернативный CLI для Darknet/YOLO. DarkHelp CLI также имеет некоторые расширенные функции, которых нет в Darknet. Вы можете использовать интерфейс командной строки Darknet и интерфейс командной строки DarkHelp одновременно, они не являются взаимоисключающими.
Примечание редактора даункодов. Для большинства команд, показанных ниже, вам понадобится файл .weights с соответствующими файлами .names и .cfg. Вы можете обучить свою собственную сеть (настоятельно рекомендуется!) или загрузить из Интернета нейронные сети, обученные другими и находящиеся в свободном доступе. Примеры наборов данных для предварительного обучения включают в себя:
LEGO Gears (находите объекты на изображениях)
Ролодекс (найти текст на изображении)
MSCOCO (стандартное обнаружение целей по 80 категориям)
Примечание от редактора даункодов: команды для запуска включают в себя:
1. Перечислите некоторые команды и параметры, которые можно запустить:
`бить
помощь в даркнете
`
2. Проверьте версию:
`бить
даркнет-версия
`
3. Используйте изображения для прогнозирования:
* Версия 2:
`бить
Тест детектора даркнета cars.data cars.cfg cars_best.weights image1.jpg
`
* Версия 3:
`бить
darknet02displayannotatedimages cars.cfg image1.jpg
`
*Темная помощь:
`бить
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
`
4. Выходные координаты:
* Версия 2:
`бить
Тест детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput собака.jpg
`
* Версия 3:
`бить
darknet01inference_images животные собака.jpg
`
*Темная помощь:
`бить
DarkHelp --json животные.cfg животные.названия животных_лучшие.веса собаки.jpg
`
5. Видео процесса:
* Версия 2:
`бить
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput test.mp4
`
* Версия 3:
`бить
darknet03display_videos животные.cfg test.mp4
`
*Темная помощь:
`бить
DarkHelp животные.cfg животные.имена животных_лучшие.веса test.mp4
`
6. Чтение с веб-камеры:
* Версия 2:
`бить
Демонстрация детектора даркнета животные.данные животные.cfg животные_лучшие.веса -c 0
`
* Версия 3:
`бить
darknet08display_webcam животные
`
7. Сохраните результаты на видео:
* Версия 2:
`бить
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights test.mp4 -outfilename res.avi
`
* Версия 3:
`бить
darknet05processvideosmultithreaded животные.cfg животные.имена животных_лучшие.тест веса.mp4
`
*Темная помощь:
`бить
DarkHelp животные.cfg животные.имена животных_лучшие.веса test.mp4
`
8. JSON:
* Версия 2:
`бить
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
* Версия 3:
`бить
darknet06imagestojson животные image1.jpg
`
*Темная помощь:
`бить
DarkHelp --json животные.названия животных.cfg животные_лучшие.веса image1.jpg
`
9. Запуск на определенном графическом процессоре:
* Версия 2:
`бить
Демонстрация детектора даркнета животные.данные животные.cfg животные_лучшие.веса -i 1 test.mp4
`
10. Проверьте точность нейронной сети:
`бить
Карта детектора даркнета вождение.данные вождение.cfg вождение_best.weights ...
Идентификатор Имя AvgPrecision TP FN FP TN Точность ErrorRate Специфичность повторного вызова FalsePosRate
-- ---- ------------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 автомобиль 91,2495 32648 3903 5826 65129 0,9095 0,0905 0,8486 0,8932 0,9179 0,0821
1 мотоцикл 80,4499 2936 513 569 5393 0,8850 0,1150 0,8377 0,8513 0,9046 0,0954
2 велосипеда 89,0912 570 124 104 3548 0,9475 0,0525 0,8457 0,8213 0,9715 0,0285
3 человека 76,7937 7072 1727 2574 27523 0,8894 0,1106 0,7332 0,8037 0,9145 0,0855
4 много машин 64,3089 1068 509 733 11288 0,9087 0,0913 0,5930 0,6772 0,9390 0,0610
5 зеленый свет 86,8118 1969 239 510 4116 0,8904 0,1096 0,7943 0,8918 0,8898 0,1102
6 желтый свет 82,0390 126 38 30 1239 0,9525 0,0475 0,8077 0,7683 0,9764 0,0236
7 красный свет 94,1033 3449 217 451 4643 0,9237 0,0763 0,8844 0,9408 0,9115 0,0885
`
11. Проверьте точность mAP@IoU=75:
`бить
Карта детектора даркнета животные.данные животные.cfg животныеbest.weights -iouthresh 0.75
`
12. Пересчет опорных точек лучше всего производить в DarkMark, так как он запускается 100 раз подряд и выбирает лучшую опорную точку из всех рассчитанных опорных точек. Но если вы хотите запустить более старую версию в Даркнете:
`бить
детектор даркнета кальканчоры животные.данные -numof_clusters 6 -ширина 320 -высота 256
`
13. Обучите новую сеть:
`бить
Детектор даркнета -map -dont_show train животные.данные животные.cfg
`
(См. также раздел обучения ниже)
Обучение
Примечание от редактора даункодов: быстрые ссылки на соответствующие части часто задаваемых вопросов Darknet/YOLO:
Как мне настроить файлы и каталоги?
Какой профиль мне следует использовать?
Какие команды следует использовать при обучении собственной сети?
Примечание редактора даункодов: использование DarkMark для создания всех необходимых файлов Darknet — это самый простой способ маркировки и обучения. Это определенно рекомендуемый способ обучения новых нейронных сетей.
Примечание от редактора даункодов: если вы хотите вручную настроить различные файлы для обучения пользовательской сети:
1. Создайте новую папку для хранения файлов. Например, будет создана нейронная сеть для обнаружения животных, поэтому будет создан следующий каталог: ~/nn/animals/.
2. Скопируйте файл конфигурации Darknet, который вы хотите использовать в качестве шаблона. Например, см. cfg/yolov4-tiny.cfg. Поместите его в созданную вами папку. Например, теперь у нас есть файл ~/nn/animals/animals.cfg.
3. Создайте текстовый файл Animal.names в той же папке, куда вы поместили файл конфигурации. Например, теперь у нас есть ~/nn/animals/animals.names.
4. С помощью текстового редактора отредактируйте файл Animals.names. Перечислите категории, которые вы хотите использовать. Вам нужна только одна запись в строке, без пустых строк и комментариев. Например, файл .names будет содержать ровно 4 строки:
`
собака
кот
птица
лошадь
`
5. Создайте текстовый файл Animals.data в той же папке. Например, файл .data будет содержать:
`
классы=4
train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
имена=/home/имя_пользователя/nn/animals/animals.names
резервная копия =/home/имя пользователя/nn/животные
`
6. Создайте папку для хранения изображений и аннотаций. Например, это может быть ~/nn/animals/dataset. Для каждого изображения требуется соответствующий файл .txt, описывающий аннотации к этому изображению. Формат файла аннотации .txt очень специфичен. Вы не можете создать эти файлы вручную, поскольку каждая метка должна содержать точные координаты метки. См. DarkMark или другое подобное программное обеспечение для аннотирования ваших изображений. Формат аннотации YOLO описан в FAQ по Darknet/YOLO.
7. Создайте «обучаемые» и «действительные» текстовые файлы, имена которых указаны в файле .data. В этих двух текстовых файлах должны быть перечислены все изображения, используемые Darknet для расчета процента mAP во время обучения и проверки соответственно. Ровно одно изображение в строке. Пути и имена файлов могут быть относительными или абсолютными.
8. Воспользуйтесь текстовым редактором, чтобы изменить файл .cfg.
9. Убедитесь, что партия = 64.
10. Обратите внимание на подразделения. В зависимости от размера сети и объема памяти, доступной на графическом процессоре, вам может потребоваться увеличить количество подразделений. Лучшее значение — 1, поэтому начните с него. Если 1 вам не подходит, прочтите FAQ по Darknet/YOLO.
11. Обратите внимание: maxbatches=..... Хорошее значение для начала — это количество классов, умноженное на 2000. Например, у нас 4 животных, значит 4*2000=8000. Это означает, что мы будем использовать maxbatches=8000.
12. Обратите внимание на шаги =…. Должно быть установлено значение 80% и 90% от максимальных пакетов. Например, поскольку для параметра maxbatches установлено значение 8000, мы будем использовать шаги = 6400,7200.
13. Обратите внимание на ширину=... и высоту=..... Это сетевые измерения. Часто задаваемые вопросы Darknet/YOLO объясняют, как рассчитать оптимальный размер для использования.
14. Найдите все экземпляры, содержащие строку class=..., и измените ее, указав количество классов в файле .names. Например, мы будем использовать class=4.
15. В разделе [сверточный] перед каждым разделом [йоло]