UniGetUI (ранее WingetUI)
Редактор Downcodes знакомит вас с UniGetUI, интуитивно понятным графическим интерфейсом, созданным для пользователей Windows 10 и 11 и предназначенным для упрощения использования распространенных менеджеров пакетов CLI, таких как WinGet, Scoop, Chocolatey, Pip, Npm, .NET Tool и PowerShell Gallery. .
Функции UniGetUI
С UniGetUI вы можете легко загружать, устанавливать, обновлять и удалять программное обеспечение, опубликованное во всех поддерживаемых менеджерах пакетов, и многое другое!
Менеджеры пакетов, поддерживаемые UniGetUI
Пожалуйста, ознакомьтесь с «Таблицей поддерживаемых менеджеров пакетов» для получения более подробной информации!
Отказ от ответственности
Проект UniGetUI не имеет связи ни с одним из поддерживаемых менеджеров пакетов и является совершенно неофициальным. Обратите внимание, что компания Downcodes, разработчик UniGetUI, не несет ответственности за загруженное программное обеспечение. Пожалуйста, используйте с осторожностью!
Уведомление
Официальный сайт UniGetUI — https://www.marticliment.com/unigetui/. Любой другой сайт следует считать неофициальным, что бы на нем ни говорили. В частности, wingetui.com не является официальным сайтом UniGetUI (ранее WingetUI).
Поддержка разработчиков
Ваша поддержка жизненно важна для дальнейшего развития UniGetUI и глубоко признательна редакторам Downcodes. Спасибо!
Оглавление
1. Установка
Существует несколько способов установки UniGetUI, выберите предпочтительный метод установки!
* Установка Microsoft Store (рекомендуется)
Нажмите здесь, чтобы загрузить установщик UniGetUI.
* Установить через Winget
`бить
winget install --exact --id MartiCliment.UniGetUI --source winget
`
* Установлено через Scoop
Примечание. В настоящее время существует проблема с пакетом Scoop UniGetUI. Пожалуйста, пока не устанавливайте UniGetUI через Scoop.
`бить
# rem Текущий пакет Scoop UniGetUI не работает. Пожалуйста, пока не устанавливайте UniGetUI через scoop.
# ведро с черпаком добавить дополнительные функции
# rem scoop install extras/wingetui
`
* Установлено через Chocolatey
`бить
шоколадная установка wingetui
`
2. Обновите UniGetUI.
UniGetUI имеет встроенную функцию автоматического обновления. Однако вы также можете обновить его, как и любой другой пакет в UniGetUI (поскольку UniGetUI доступен через Winget и Scoop).
3. Функция
* Поддерживаемые менеджеры пакетов
Примечание. Все менеджеры пакетов поддерживают базовые процессы установки, обновления и удаления, а также проверку наличия обновлений, поиск новых пакетов и получение сведений о пакетах.
| Менеджер пакетов | Поддержка |
|---|---|---|
|
| Совок |
| Шоколадный |
| Пип ✅ |
|
| Инструмент .NET |
| Галерея PowerShell |
проиллюстрировать:
1. Некоторые пакеты не поддерживают установку в пользовательские расположения или области и игнорируют этот параметр.
2. Хотя менеджер пакетов может не поддерживать предварительные версии, некоторые пакеты могут быть скопированы, и одна из копий является их бета-версией.
3. Некоторые установщики не имеют графического интерфейса и игнорируют интерактивный флаг.
* Перевести UniGetUI на другие языки.
Чтобы перевести UniGetUI на другие языки или обновить старые переводы, посетите UniGetUI Wiki для получения дополнительной информации.
* Поддерживаемые в настоящее время языки
*Обновлено: вторник, 29 октября, 00:13:19 2024 г.
4. Вклад
UniGetUI был бы невозможен без помощи наших дорогих участников. От человека, исправившего опечатку, до человека, улучшившего половину кода, UniGetUI не мог обойтись без их вклада!
Авторы:
*…
5. Скриншот
*…
6. Часто задаваемые вопросы
* Я не могу установить или обновить определенный пакет Winget! что мне делать?
Это может быть проблема с Winget, а не с UniGetUI. Проверьте, можно ли установить/обновить пакет через PowerShell или командную строку, используя команду winget update или winget install (в зависимости от ситуации, например: winget update --id Microsoft.PowerToys). Если это не сработает, подумайте о том, чтобы обратиться за помощью на странице проекта Winget.
* Имя пакета обрезано многоточием. Как посмотреть его полное имя/идентификатор?
Это известное ограничение Winget. Дополнительные сведения см. в этой проблеме: microsoft/winget-cli#2603.
* Мое антивирусное программное обеспечение сообщает мне, что UniGetUI — это вирус! /Мой браузер блокирует загрузку UniGetUI!
Распространенная причина, по которой приложения (т. е. исполняемые файлы) блокируются и/или обнаруживаются как вирусы (даже если они не содержат вредоносного кода, например UniGetUI), заключается в том, что их использует сравнительно мало людей. Добавьте к этому тот факт, что вы, вероятно, загружаете что-то, что было недавно выпущено, и во многих случаях блокировка неизвестных приложений является хорошей мерой предосторожности против настоящего вредоносного ПО. Поскольку UniGetUI имеет открытый исходный код и безопасен в использовании, внесите это приложение в белый список в настройках вашего антивирусного программного обеспечения/браузера.
* Безопасны ли пакеты Winget/Scoop?
UniGetUI, Microsoft и Scoop не несут ответственности за доступные для загрузки пакеты, которые предоставляются третьими лицами и теоретически могут быть повреждены. Microsoft реализовала некоторые проверки программного обеспечения, доступного на Winget, чтобы снизить риск загрузки вредоносного ПО. Несмотря на это, рекомендуется загружать программное обеспечение только от проверенных издателей. Посетите вики для получения дополнительной информации!
7. Параметры командной строки
Полный список параметров см. здесь.
8. Пример
*…
9. Лицензия
Лицензия Apache-2.0
Платформа обнаружения объектов даркнета и YOLO
Логотип !darknet и hank.ai
Darknet — это платформа нейронных сетей с открытым исходным кодом, написанная на C, C++ и CUDA.
YOLO (You Only Look Once) — это современная система обнаружения объектов в реальном времени в рамках Darknet.
Узнайте, как Hank.ai помогает сообществу Darknet/YOLO
Анонсируем Darknet V3 «Джаз»
Посетите сайт Darknet/YOLO.
Пожалуйста, прочтите FAQ по Darknet/YOLO.
Присоединяйтесь к дискорд-серверу Darknet/YOLO
Статьи
Бумага YOLOv7
Бумага Scaled-YOLOv4
Бумага YOLOv4
Бумага YOLOv3
Общая информация
Платформа Darknet/YOLO работает быстрее и точнее, чем другие платформы и версии YOLO.
Фреймворк полностью бесплатен и имеет открытый исходный код. Вы можете включить Darknet/YOLO в существующие проекты и продукты, включая коммерческие продукты, без лицензирования и оплаты.
Darknet V3 («Джаз»), выпущенный в октябре 2024 года, может точно воспроизводить видео набора данных LEGO со скоростью до 1000 кадров в секунду при использовании графического процессора NVIDIA RTX 3090, что означает, что каждый видеокадр считывается, изменяется в размере и обрабатывается за 1 миллисекунду или меньше. автор Даркнет/YOLO.
Если вам нужна помощь или вы хотите обсудить Darknet/YOLO, присоединяйтесь к серверу Discord Darknet/YOLO: https://discord.gg/zSq8rtW
Версия Darknet/YOLO с ЦП может работать на простых устройствах, таких как Raspberry Pi, облачных серверах и серверах совместной работы, настольных компьютерах, ноутбуках и высококачественном учебном оборудовании. Для версии Darknet/YOLO с графическим процессором требуется CUDA-совместимый графический процессор NVIDIA.
Известно, что Darknet/YOLO работает на Linux, Windows и Mac. Ознакомьтесь с инструкциями по сборке ниже.
Даркнет-версия
Оригинальные инструменты Darknet, написанные Джозефом Редмоном в 2013–2017 годах, не имели номеров версий. Мы думаем, что это версия 0.x.
Следующий популярный репозиторий даркнета, который в 2017-2021 годах поддерживал Алексей Бочковский, также не имеет номера версии. Мы думаем, что это версия 1.x.
Репозиторий Darknet, спонсируемый Hank.ai и поддерживаемый Стефаном Шареттом с 2023 года, является первым репозиторием, имеющим команду версии. С 2023 до конца 2024 года он возвращается к версии 2.х «Дуб».
Цель состоит в том, чтобы ознакомиться с базой кода, нарушая при этом как можно меньше существующих функций.
Переписаны этапы сборки, чтобы у нас был единый способ сборки для Windows и Linux с помощью CMake.
Преобразуйте базу кода для использования компилятора C++.
Улучшайте файлchart.png во время тренировки.
Исправления ошибок и оптимизации, связанные с производительностью, в основном связанные с сокращением времени, необходимого для обучения сети.
Последней ветвью этой базы кода является версия 2.1 в ветке v2.
Следующий этап разработки начнется в середине 2024 года и будет выпущен в октябре 2024 года. Команда версии теперь возвращает 3.x «JAZZ».
Если вам нужно запустить одну из этих команд, вы всегда можете проверить предыдущую ветку v2. Сообщите нам, чтобы мы могли изучить вопрос о добавлении недостающих команд.
Удалены многие старые и неподдерживаемые команды.
Множество оптимизаций производительности, как во время обучения, так и во время вывода.
Старый C API был изменен; приложения, использующие исходный API Darknet, требуют незначительных изменений: https://darknetcv.ai/api/api.html.
Новый API Darknet V3 C и C++: https://darknetcv.ai/api/api.html.
Новые приложения и примеры кода в src-examples: https://darknetcv.ai/api/files.html.
MSCOCO предварительно обученные веса
Для удобства несколько популярных версий YOLO предварительно обучены на наборе данных MSCOCO. Этот набор данных содержит 80 категорий, и его можно увидеть в текстовом файле cfg/coco.names.
Для тестирования Darknet/YOLO доступно несколько других, более простых наборов данных и предварительно обученных весов, например LEGO Gears и Rolodex. Дополнительную информацию можно найти в FAQ по Darknet/YOLO.
Предварительно обученные веса MSCOCO можно загрузить из разных мест, а также из этого репозитория:
YOLov2, ноябрь 2016 г.
*YOLOv2-крошечный
*YOLOv2-полный
YOLOv3, май 2018 г.
* YOLOv3-крошечный
*YOLOv3-полный
YOLOv4, май 2020 г.
* YOLOv4-крошечный
*YOLOv4-полный
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.avi
`
Обратите внимание, что необходимо обучать свою собственную сеть. MSCOCO обычно используется для подтверждения того, что все работает правильно.
Строить
Различные методы строительства, доступные в прошлом (до 2023 года), были объединены в единое решение. Для Darknet требуется C++17 или выше, OpenCV и использование CMake для создания необходимых файлов проекта.
Вам не нужно знать C++ для сборки, установки или запуска Darknet/YOLO, так же как вам не нужно быть механиком, чтобы водить машину.
Гугл Колаб
Инструкции Google Colab такие же, как инструкции Linux. Существует несколько блокнотов Jupyter, показывающих, как выполнять определенные задачи, например обучение новой сети.
Проверьте блокнот в подкаталоге colab или следуйте инструкциям Linux ниже.
Метод CMake в Linux
1. Установите зависимости
`бить
обновление sudo apt-get
sudo apt-get install build-essential git libopencv-dev cmake
`
2. Клонируйте репозиторий Darknet.
`бить
клон git https://github.com/hank-ai/darknet.git
`
3. Создайте каталог сборки.
`бить
компакт-диск даркнет
сборка mkdir
сборка компакт-диска
`
4. Используйте CMake для настройки сборки.
`бить
cmake -DCMAKEBUILDTYPE=Выпустить ..
`
5. Создайте даркнет
`бить
сделать -j4
`
6. Установите Даркнет
`бить
sudo сделать установку
`
7. Тест Даркнета
`бить
даркнет-версия
`
Методы Windows CMake
1. Установите зависимости
`бить
winget установить Git.Git
winget установить Kitware.CMake
winget установить nsis.nsis
winget install Microsoft.VisualStudio.2022.Community
`
2. Установите OpenCV
`бить
CDC:
mkdir C:src
компакт-диск C:src
клон git https://github.com/microsoft/vcpkg.git
компакт-диск vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe интегрировать установку
.vcpkg.exe интегрирует PowerShell
.vcpkg.exe install opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
3. Клонируйте репозиторий Darknet.
`бить
компакт-диск C:src
клон git https://github.com/hank-ai/darknet.git
`
4. Создайте каталог сборки.
`бить
компакт-диск даркнет
сборка mkdir
сборка компакт-диска
`
5. Используйте CMake для настройки сборки.
`бить
cmake -DCMAKEBUILDTYPE=Выпуск -DCMAKETOOLCHAINFILE=C:srcvcpkgscriptsbuildsystemsvcpkg.cmake ..
`
6. Создайте Darknet с помощью Visual Studio.
`бить
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
`
7. Создайте установочный пакет NSIS.
`бить
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
8. Запустите Даркнет
`бить
Версия C:srcdarknetbuildsrc-cliReleasedarknet.exe
`
Использование даркнета
интерфейс командной строки
Ниже приведен не полный список всех команд, поддерживаемых Darknet.
В дополнение к интерфейсу командной строки Darknet также обратите внимание на интерфейс командной строки проекта DarkHelp, который предоставляет альтернативный интерфейс командной строки Darknet/YOLO. DarkHelp CLI также имеет несколько расширенных функций, которых нет в Darknet. Вы можете использовать интерфейс командной строки Darknet и интерфейс командной строки DarkHelp вместе, они не являются взаимоисключающими.
Для большинства команд, показанных ниже, вам понадобится файл .weights и соответствующие файлы .names и .cfg. Вы можете обучить сеть самостоятельно (настоятельно рекомендуется!) или загрузить нейронные сети, обученные другими и находящиеся в свободном доступе в Интернете. Примеры наборов данных для предварительного обучения включают в себя:
LEGO Gears (находите объекты на изображениях)
Ролодекс (найти текст на изображении)
MSCOCO (стандартное обнаружение объектов класса 80)
Команды для запуска включают в себя:
Перечислите некоторые возможные команды и параметры, которые можно запустить:
помощь в даркнете
Проверьте версию:
даркнет-версия
Используйте изображения, чтобы делать прогнозы:
V2: тест детектора даркнета cars.data cars.cfg cars_best.weights image1.jpg
V3: darknet02displayannotatedimages cars.cfg image1.jpg
DarkHelp: DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
Выходные координаты:
V2: тест детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput собака.jpg
V3: darknet01inference_images животные собака.jpg
DarkHelp: DarkHelp --json животные.cfg животные.названия животных_лучшие.веса собаки.jpg
Используйте видео:
V2: демо-версия детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput test.mp4
V3: darknet03display_videos животные.cfg test.mp4
DarkHelp: DarkHelp животные.cfg животные.названия животных_лучшие.веса test.mp4
Чтение с веб-камеры:
V2: демо-версия детектора даркнета животные.данные животные.cfg животные_best.weights -c 0
V3: darknet08display_webcam животные
Сохраните результаты на видео:
V2: демо-версия детектора даркнета животные.данные животные.cfg животныеbest.weights test.mp4 -outfilename res.avi
V3: darknet05processvideosmultithreaded животные.cfg животные.названия животных_лучшие.весовой тест.mp4
DarkHelp: DarkHelp животные.cfg животные.названия животных_лучшие.веса test.mp4
JSON:
V2: демо-версия детектора даркнета животные.данные животные.cfg животныеbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3: darknet06imagestojson животные image1.jpg
DarkHelp: DarkHelp --json животные.названия животных.cfg животные_best.weights image1.jpg
Запуск на конкретном графическом процессоре:
V2: демо-версия детектора даркнета животные.данные животные.cfg животные_лучшие.веса -i 1 test.mp4
Проверяем точность нейронной сети:
`бить
Карта детектора даркнета вождение.данные вождение.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
`
Проверьте точность mAP@IoU=75:
Карта детектора даркнета животные.данные животные.cfg животныеbest.weights -iouthresh 0.75
Пересчет опорных точек лучше всего выполнять в DarkMark, поскольку он запускается 100 раз подряд и выбирает лучшую опорную точку из всех рассчитанных опорных точек. Однако, если вы хотите запустить более старую версию в Darknet:
детектор даркнета кальканчоры животные.данные -numof_clusters 6 -ширина 320 -высота 256
Обучите новую сеть:
детектор даркнета -map -dont_show train Animals.data Animals.cfg (см. также раздел обучения ниже)
тренироваться
Быстрые ссылки на соответствующие разделы FAQ по Darknet/YOLO:
Как мне настроить файлы и каталоги?
Какой профиль мне следует использовать?
Какую команду следует использовать при обучении собственной сети?
Использование DarkMark для создания всех необходимых файлов Darknet — это самый простой способ аннотировать и обучать. Это определенно рекомендуемый способ обучения новых нейронных сетей.
Если вы хотите вручную настроить различные файлы для обучения пользовательской сети:
1. Создайте новую папку.
Создайте новую папку для хранения файлов. Например, вы создадите нейронную сеть для обнаружения животных, поэтому создайте следующий каталог: ~/nn/animals/.
2. Скопируйте файл конфигурации
Скопируйте один из файлов конфигурации Darknet, который вы хотите использовать в качестве шаблона. Например, см. cfg/yolov4-tiny.cfg. Поместите его в созданную вами папку. Например, теперь у нас есть ~/nn/animals/animals.cfg.
3. Создайте файл .names.
Создайте текстовый файл Animal.names в той же папке, где вы разместили файл конфигурации. Например, теперь у нас есть ~/nn/animals/animals.names.
4. Отредактируйте файл .names.
Используйте текстовый редактор для редактирования файла Animals.names. Перечислите категории, которые вы хотите использовать. В каждой строке должна быть ровно одна запись, не должно быть пустых строк и комментариев. Например, файл .names будет содержать ровно 4 строки:
`
собака
кот
птица
лошадь
`
5. Создайте файл .data.
Создайте текстовый файл 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.
Используйте текстовый редактор для изменения файла .cfg.
* Убедитесь, что партия = 64.
* Обратите внимание на подразделения. В зависимости от размера сети и объема памяти, доступной на графическом процессоре, вам может потребоваться увеличить количество подразделений. Оптимальное значение — 1, поэтому начните с 1. Если 1 вам не подходит, прочтите FAQ по Darknet/YOLO.
Обратите внимание: maxbatches=…. Хорошим значением для начала является увеличение количества категорий в 2000 раз. Например, у нас 4 животных, значит 4 2000 = 8000. Это означает, что мы будем использовать maxbatches=8000.
* Обратите внимание на шаги =…. Должно быть установлено значение 80% и 90% от максимальных пакетов. Например, поскольку для параметра maxbatches установлено значение 8000, мы будем использовать шаги = 6400,7200.
* Обратите внимание на ширину=... и высоту=.... Это сетевые измерения. Часто задаваемые вопросы Darknet/YOLO объясняют, как рассчитать оптимальный размер для использования.
В разделе [convolutional] перед каждым разделом [yolo] найдите все экземпляры строк groups=... и filter=.... Используемое значение: (число классов + 5) 3. Это означает, что для данного примера (4 + 5) * 3 = 27. Поэтому мы будем использовать фильтры=27 в соответствующей строке.
9. Начать обучение
Выполните следующую команду:
`бить
компакт-диск ~/nn/животные/
Детектор даркнета -map -dont_show train животные.данные животные.cfg
`
Потерпи. Лучшие веса будут сохранены как животные_best.weights. За ходом обучения можно следить, просматривая файлchart.png. Дополнительные параметры, которые вы можете использовать при обучении новой сети, см. в FAQ по Darknet/YOLO.
Если вы хотите видеть более подробную информацию во время обучения, добавьте параметр --verbose. Например:
`бить
детектор даркнета -map -dont_show --verbose train животные.данные животные.cfg
`
Другие инструменты и ссылки
Чтобы управлять своим проектом Darknet/YOLO, комментировать изображения, проверять свои аннотации и создавать необходимые файлы, необходимые для обучения с помощью Darknet, воспользуйтесь DarkMark.
Чтобы найти мощный альтернативный интерфейс командной строки Darknet для сшивания изображений, отслеживания объектов в видео или использования мощного API C++, который можно легко использовать в коммерческих приложениях, посетите DarkHelp.
Ознакомьтесь с часто задаваемыми вопросами Darknet/YOLO, чтобы узнать, поможет ли он ответить на ваш вопрос.
Посмотрите множество руководств и видеороликов с примерами на канале Стефана на YouTube.
Если у вас есть вопросы по поддержке или вы хотите пообщаться с другими пользователями Darknet/YOLO, присоединяйтесь к серверу разногласий Darknet/YOLO.
Дорожная карта
Последнее обновление 30 октября 2024 г.:
Завершенный
Заменен qsort() на std::sort() во время обучения (некоторые другие неясности все еще существуют)
Удалите check_mistakes, getchar() и system().
Преобразование Darknet для использования компилятора C++ (g++ в Linux, Visual Studio в Windows)
Исправление сборки Windows
Исправлена поддержка Python
Создайте библиотеку даркнета
Повторно включить метки в подсказках (код «Алфавит»)
Повторно включите код CUDA/GPU.
Повторно включить CUDNN
Повторно включить половину CUDNN
Не кодируйте архитектуру CUDA жестко.
Улучшенная информация о версии CUDA
Повторно включить AVX
Удалить старое решение и Makefile
Сделать OpenCV необязательным
Удалить зависимость от старой библиотеки pthread
Удалить приставку
Перепишите CMakeLists.txt, чтобы использовать новый инструментарий CUDA.
Удален старый «алфавитный» код и удалено более 700 изображений в данных/метках.
Сборка вне исходного кода
Улучшите вывод номера версии
Оптимизация производительности, связанная с обучением (текущие задачи)
Оптимизация производительности, связанная с выводом (текущие задачи)
Используйте ссылки по значению, когда это возможно.
Очистить файлы .hpp
Переписать darknet.h
Не конвертируйте cv::Mat в void, вместо этого используйте его как правильный объект C++.
Исправьте или поддерживайте согласованное использование внутренних структур изображений.
Исправление сборки для устройств Jetson на базе ARM.
*Оригинальные устройства Jetson вряд ли будут исправлены, поскольку они больше не поддерживаются NVIDIA (нет компилятора C++17).
* Новое устройство Jetson Orin уже работает.
Исправить API Python в версии 3.
* Нужна лучшая поддержка Python (есть ли разработчики Python, готовые помочь?)
краткосрочные цели
Замените printf() на std::cout (в разработке)
Изучите поддержку старых камер Zed
Улучшенный и более последовательный анализ командной строки (в разработке)
среднесрочные цели
Удалите все коды символов и замените их на std::string.
Не скрывать предупреждения и очищать предупреждения компилятора (работа продолжается)
Лучше использовать cv::Mat вместо пользовательских структур изображений в C (работа в стадии разработки)
Замените старые функции списка на std::vector или std::list.
Исправлена поддержка одноканальных изображений в оттенках серого.
Добавить поддержку N-канальных изображений, где N > 3 (например, изображения с дополнительной глубиной или тепловыми каналами).
Текущая очистка кода (в процессе)
долгосрочные цели
Исправьте проблемы CUDA/CUDNN на всех графических процессорах.
Перепишите код CUDA+cuDNN.
Рассмотрите возможность добавления поддержки графических процессоров сторонних производителей.
Повернутая ограничительная рамка или какая-то «угловая» опора.
ключевые точки/скелет
Тепловая карта (в разработке)
сегментация