UniGetUI (formerly WingetUI)
Downcodes小编为您介绍UniGetUI,一个为Windows 10和11用户打造的直观GUI界面,旨在简化常见CLI包管理器的使用,例如WinGet、Scoop、Chocolatey、Pip、Npm、.NET Tool和PowerShell Gallery。
UniGetUI的功能
使用UniGetUI,您可以轻松地下载、安装、更新和卸载所有支持的包管理器上发布的软件,以及更多功能!
UniGetUI支持的包管理器
请查看“支持的包管理器表”获取更多详细信息!
免责声明
UniGetUI项目与任何支持的包管理器之间没有任何关联,它完全是非官方的。请注意,UniGetUI的开发者Downcodes小编不对下载的软件负责。请谨慎使用!
注意
UniGetUI的官方网站是https://www.marticliment.com/unigetui/。任何其他网站都应视为非官方网站,无论它们怎么说。尤其是wingetui.com,不是UniGetUI(以前称为WingetUI)的官方网站。
支持开发者
您的支持对于UniGetUI的持续发展至关重要,并深受Downcodes小编的感谢。谢谢!
目录
1. 安装
有多种方法可以安装UniGetUI,请选择您喜欢的安装方式!
* Microsoft Store 安装(推荐)
点击此处下载UniGetUI安装程序。
* 通过 Winget 安装
`bash
winget install --exact --id MartiCliment.UniGetUI --source winget
`
* 通过 Scoop 安装
注意:当前UniGetUI的Scoop包存在问题。请暂时不要通过Scoop安装UniGetUI。
`bash
# rem The current UniGetUI scoop package is broken. Please do not install UniGetUI via scoop for the time being
# rem scoop bucket add extras
# rem scoop install extras/wingetui
`
* 通过 Chocolatey 安装
`bash
choco install wingetui
`
2. 更新 UniGetUI
UniGetUI内置了自动更新功能。但是,您也可以像在UniGetUI中更新任何其他包一样更新它(因为UniGetUI可以通过Winget和Scoop获取)。
3. 功能
* 支持的包管理器
注意:所有包管理器都支持基本的安装、更新和卸载流程,以及检查更新、查找新包和从包中检索详细信息。
| 包管理器 | 支持 | 说明 |
|---|---|---|
| WinGet | ✅ | |
| Scoop | ✅ | |
| Chocolatey | ✅ | |
| Pip | ✅ | |
| Npm | ✅ | |
| .NET Tool | ✅ | |
| PowerShell Gallery | ✅ | |
说明:
1. 一些包不支持安装到自定义位置或作用域,将忽略此设置。
2. 尽管包管理器可能不支持预发布版本,但某些包可能会被复制,其中一个副本是其的beta版本。
3. 一些安装程序没有GUI,将忽略交互式标志。
* 将 UniGetUI 翻译成其他语言
要将UniGetUI翻译成其他语言或更新旧翻译,请参阅UniGetUI Wiki 获取更多信息。
* 当前支持的语言
* 更新时间: Tue Oct 29 00:13:19 2024
4. 贡献
没有我们亲爱的贡献者的帮助,UniGetUI是不可能存在的。从修复错别字的人到改进一半代码的人,UniGetUI离不开他们的贡献!
贡献者:
* …
5. 截图
* …
6. 常见问题解答
* 我无法安装或升级特定的 Winget 包!我该怎么办?
这可能是Winget而不是UniGetUI的问题。请检查是否可以通过PowerShell或命令提示符使用命令winget upgrade或winget install(根据情况,例如:winget upgrade --id Microsoft.PowerToys)来安装/升级该包。如果这不起作用,请考虑在Winget项目页面上寻求帮助。
* 包的名称被省略号截断了——如何查看其完整名称/ID?
这是一个Winget的已知限制。有关更多详细信息,请参阅此问题:microsoft/winget-cli#2603。
* 我的防病毒软件告诉我 UniGetUI 是病毒!/我的浏览器阻止下载 UniGetUI!
应用程序(即可执行文件)被阻止和/或被检测为病毒的常见原因——即使它们没有恶意代码,例如UniGetUI——是因为相对较少的人使用它们。再加上你可能正在下载最近发布的东西,而且在许多情况下,阻止未知应用程序是防止真正恶意软件的良好预防措施。由于UniGetUI是开源的并且安全使用,请在防病毒软件/浏览器的设置中将应用程序列入白名单。
* Winget/Scoop 包安全吗?
UniGetUI、Microsoft和Scoop不对可供下载的包负责,这些包由第三方提供,理论上可能会被破坏。Microsoft对Winget上可用的软件实施了一些检查,以降低下载恶意软件的风险。即使如此,也建议您只从可信的发布者下载软件。查看Wiki了解更多信息!
7. 命令行参数
查看此处获取完整参数列表。
8. 示例
* …
9. 许可证
Apache-2.0 许可证
Darknet 对象检测框架和 YOLO
!darknet 和 hank.ai logo
Darknet 是一个用 C、C++ 和 CUDA 编写的开源神经网络框架。
YOLO(You Only Look Once)是 Darknet 框架中的一种最先进的实时物体检测系统。
阅读Hank.ai 如何帮助 Darknet/YOLO 社区
宣布 Darknet V3 "Jazz"
查看 Darknet/YOLO 网站
请阅读 Darknet/YOLO 常见问题解答
加入 Darknet/YOLO discord 服务器
Papers
Paper YOLOv7
Paper Scaled-YOLOv4
Paper YOLOv4
Paper YOLOv3
General Information
Darknet/YOLO 框架比其他框架和 YOLO 版本更快、更准确。
该框架完全免费且开源。您可以将 Darknet/YOLO 纳入现有项目和产品中 - 包括商业产品 - 无需许可或付费。
Darknet V3(“Jazz”)于 2024 年 10 月发布,在使用 NVIDIA RTX 3090 GPU 时,可以准确地运行 LEGO 数据集视频,速度高达 1000 FPS,这意味着每个视频帧都在 1 毫秒或更短的时间内被 Darknet/YOLO 读取、调整大小和处理。
如果您需要帮助或想讨论 Darknet/YOLO,请加入 Darknet/YOLO Discord 服务器: https://discord.gg/zSq8rtW
Darknet/YOLO 的 CPU 版本可以在简单的设备上运行,例如 Raspberry Pi、云和 colab 服务器、台式机、笔记本电脑和高端训练设备。Darknet/YOLO 的 GPU 版本需要 NVIDIA 的 CUDA 兼容 GPU。
Darknet/YOLO 已知可以在 Linux、Windows 和 Mac 上运行。查看下面的构建说明。
Darknet 版本
Joseph Redmon 在 2013-2017 年编写的原始 Darknet 工具没有版本号。我们认为这是版本 0.x。
Alexey Bochkovskiy 在 2017-2021 年期间维护的下一个流行的 Darknet 存储库也没有版本号。我们认为这是版本 1.x。
由 Hank.ai 赞助并由 Stéphane Charette 从 2023 年开始维护的 Darknet 存储库是第一个具有版本命令的存储库。从 2023 年到 2024 年底,它返回版本 2.x “OAK”。
目标是在尽可能少地破坏现有功能的同时,熟悉代码库。
重写了构建步骤,因此我们有 1 种统一的方式来使用 CMake 在 Windows 和 Linux 上构建。
将代码库转换为使用 C++ 编译器。
在训练期间增强 chart.png。
错误修复和与性能相关的优化,主要与减少训练网络所需的时间有关。
此代码库的最后一个分支是 v2 分支中的版本 2.1。
下一阶段的开发始于 2024 年年中,并于 2024 年 10 月发布。版本命令现在返回 3.x “JAZZ”。
如果您需要运行这些命令之一,您始终可以签出以前的 v2 分支。请告知我们,以便我们可以调查添加回任何缺少的命令。
删除了许多旧的和未维护的命令。
许多性能优化,无论是在训练期间还是在推理期间。
旧的 C API 已被修改;使用原始 Darknet API 的应用程序需要进行少量修改:https://darknetcv.ai/api/api.html
新的 Darknet V3 C 和 C++ API:https://darknetcv.ai/api/api.html
src-examples 中的新应用程序和示例代码:https://darknetcv.ai/api/files.html
MSCOCO 预训练权重
为了方便起见,在 MSCOCO 数据集上对 YOLO 的几个流行版本进行了预训练。此数据集包含 80 个类别,可以在文本文件 cfg/coco.names 中看到。
还有其他几个更简单的可用数据集和预训练权重,用于测试 Darknet/YOLO,例如 LEGO Gears 和 Rolodex。有关详细信息,请参阅 Darknet/YOLO 常见问题解答。
可以从多个不同位置下载 MSCOCO 预训练权重,也可以从该存储库下载:
YOLOv2,2016 年 11 月
* YOLOv2-tiny
* YOLOv2-full
YOLOv3,2018 年 5 月
* YOLOv3-tiny
* YOLOv3-full
YOLOv4,2020 年 5 月
* YOLOv4-tiny
* YOLOv4-full
YOLOv7,2022 年 8 月
* YOLOv7-tiny
* YOLOv7-full
MSCOCO 预训练权重仅用于演示目的。MSCOCO 的相应 .cfg 和 .names 文件位于 cfg 目录中。示例命令:
`bash
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
Google Colab 说明与 Linux 说明相同。有几个 Jupyter 笔记本展示了如何执行某些任务,例如训练新网络。
查看 colab 子目录中的笔记本,或按照下面的 Linux 说明进行操作。
Linux CMake 方法
1. 安装依赖项
`bash
sudo apt-get update
sudo apt-get install build-essential git libopencv-dev cmake
`
2. 克隆 Darknet 存储库
`bash
git clone https://github.com/hank-ai/darknet.git
`
3. 创建构建目录
`bash
cd darknet
mkdir build
cd build
`
4. 使用 CMake 配置构建
`bash
cmake -DCMAKEBUILDTYPE=Release ..
`
5. 构建 Darknet
`bash
make -j4
`
6. 安装 Darknet
`bash
sudo make install
`
7. 测试 Darknet
`bash
darknet version
`
Windows CMake 方法
1. 安装依赖项
`bash
winget install Git.Git
winget install Kitware.CMake
winget install nsis.nsis
winget install Microsoft.VisualStudio.2022.Community
`
2. 安装 OpenCV
`bash
cd C:
mkdir C:src
cd C:src
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe integrate install
.vcpkg.exe integrate powershell
.vcpkg.exe install opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
3. 克隆 Darknet 存储库
`bash
cd C:src
git clone https://github.com/hank-ai/darknet.git
`
4. 创建构建目录
`bash
cd darknet
mkdir build
cd build
`
5. 使用 CMake 配置构建
`bash
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:srcvcpkgscriptsbuildsystemsvcpkg.cmake ..
`
6. 使用 Visual Studio 构建 Darknet
`bash
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
`
7. 创建 NSIS 安装包
`bash
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
8. 运行 Darknet
`bash
C:srcdarknetbuildsrc-cliReleasedarknet.exe version
`
使用 Darknet
CLI
以下不是 Darknet 支持的所有命令的完整列表。
除了 Darknet CLI 之外,还要注意 DarkHelp 项目 CLI,它提供了 Darknet/YOLO 的替代 CLI。DarkHelp CLI 还有几个 Darknet 中没有的先进功能。您可以将 Darknet CLI 和 DarkHelp CLI 结合使用,它们并不相互排斥。
对于下面显示的大多数命令,您将需要 .weights 文件以及相应的 .names 和 .cfg 文件。您可以自己训练网络(强烈推荐!),或者下载其他人已经训练并免费在互联网上提供的神经网络。预训练数据集的示例包括:
LEGO Gears(在图像中查找物体)
Rolodex(在图像中查找文本)
MSCOCO(标准 80 类物体检测)
要运行的命令包括:
列出一些可以运行的可能命令和选项:
darknet help
检查版本:
darknet version
使用图像进行预测:
V2: darknet detector test 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: darknet detector test animals.data animals.cfg animalsbest.weights -extoutput dog.jpg
V3: darknet01inference_images animals dog.jpg
DarkHelp: DarkHelp --json animals.cfg animals.names animals_best.weights dog.jpg
使用视频:
V2: darknet detector demo animals.data animals.cfg animalsbest.weights -extoutput test.mp4
V3: darknet03display_videos animals.cfg test.mp4
DarkHelp: DarkHelp animals.cfg animals.names animals_best.weights test.mp4
从网络摄像头读取:
V2: darknet detector demo animals.data animals.cfg animals_best.weights -c 0
V3: darknet08display_webcam animals
将结果保存到视频:
V2: darknet detector demo animals.data animals.cfg animalsbest.weights test.mp4 -outfilename res.avi
V3: darknet05processvideosmultithreaded animals.cfg animals.names animals_best.weights test.mp4
DarkHelp: DarkHelp animals.cfg animals.names animals_best.weights test.mp4
JSON:
V2: darknet detector demo animals.data animals.cfg animalsbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3: darknet06imagestojson animals image1.jpg
DarkHelp: DarkHelp --json animals.names animals.cfg animals_best.weights image1.jpg
在特定 GPU 上运行:
V2: darknet detector demo animals.data animals.cfg animals_best.weights -i 1 test.mp4
检查神经网络的准确性:
`bash
darknet detector map driving.data driving.cfg driving_best.weights ...
Id Name AvgPrecision TP FN FP TN Accuracy ErrorRate Precision Recall Specificity FalsePosRate
-- ---- ------------ ------ ------ ------ ------ -------- --------- --------- ------ ----------- ------------
0 vehicle 91.2495 32648 3903 5826 65129 0.9095 0.0905 0.8486 0.8932 0.9179 0.0821
1 motorcycle 80.4499 2936 513 569 5393 0.8850 0.1150 0.8377 0.8513 0.9046 0.0954
2 bicycle 89.0912 570 124 104 3548 0.9475 0.0525 0.8457 0.8213 0.9715 0.0285
3 person 76.7937 7072 1727 2574 27523 0.8894 0.1106 0.7332 0.8037 0.9145 0.0855
4 many vehicles 64.3089 1068 509 733 11288 0.9087 0.0913 0.5930 0.6772 0.9390 0.0610
5 green light 86.8118 1969 239 510 4116 0.8904 0.1096 0.7943 0.8918 0.8898 0.1102
6 yellow light 82.0390 126 38 30 1239 0.9525 0.0475 0.8077 0.7683 0.9764 0.0236
7 red light 94.1033 3449 217 451 4643 0.9237 0.0763 0.8844 0.9408 0.9115 0.0885
`
检查准确性 mAP@IoU=75:
darknet detector map animals.data animals.cfg animalsbest.weights -iouthresh 0.75
重新计算锚点最好在 DarkMark 中完成,因为它将连续运行 100 次并从所有计算的锚点中选择最佳锚点。但是,如果您想在 Darknet 中运行旧版本:
darknet detector calcanchors animals.data -numof_clusters 6 -width 320 -height 256
训练新网络:
darknet detector -map -dont_show train animals.data animals.cfg (另请参见下面的训练部分)
训练
有关 Darknet/YOLO 常见问题解答的相关部分的快速链接:
我应该如何设置我的文件和目录?
我应该使用哪个配置文件?
训练自己的网络时应该使用哪个命令?
使用 DarkMark 来创建所有必要的 Darknet 文件是注释和训练的最简单方法。这绝对是训练新神经网络的推荐方法。
如果您希望手动设置各种文件来训练自定义网络:
1. 创建新文件夹
创建一个新文件夹来存储文件。例如,将创建一个神经网络来检测动物,因此创建以下目录:~/nn/animals/。
2. 复制配置文件
复制您想用作模板的 Darknet 配置文件之一。例如,请参阅 cfg/yolov4-tiny.cfg。将其放置在您创建的文件夹中。例如,现在我们有 ~/nn/animals/animals.cfg。
3. 创建 .names 文件
在放置配置文件的同一个文件夹中创建一个 animals.names 文本文件。例如,现在我们有 ~/nn/animals/animals.names。
4. 编辑 .names 文件
使用文本编辑器编辑 animals.names 文件。列出您要使用的类别。每行需要有且只有一个条目,没有空行,也没有注释。例如,.names 文件将恰好包含 4 行:
`
dog
cat
bird
horse
`
5. 创建 .data 文件
在同一个文件夹中创建一个 animals.data 文本文件。例如,.data 文件将包含:
`
classes=4
train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
names=/home/username/nn/animals/animals.names
backup=/home/username/nn/animals
`
6. 创建数据集文件夹
创建一个文件夹来存储您的图像和注释。例如,这可能是 ~/nn/animals/dataset。每个图像都需要一个相应的 .txt 文件,该文件描述该图像的注释。.txt 注释文件的格式非常具体。您不能手动创建这些文件,因为每个注释都需要包含注释的精确坐标。查看 DarkMark 或其他类似软件来注释您的图像。YOLO 注释格式在 Darknet/YOLO 常见问题解答中进行了描述。
7. 创建“train”和“valid”文件
创建 .data 文件中命名的“train”和“valid”文本文件。这两个文本文件需要分别列出所有 Darknet 必须用于训练和在计算 mAP% 时进行验证的图像。每行恰好一个图像。路径和文件名可以是相对路径或绝对路径。
8. 修改 .cfg 文件
使用文本编辑器修改您的 .cfg 文件。
* 确保 batch=64。
* 注意 subdivisions。根据网络尺寸和 GPU 上可用的内存量,您可能需要增加 subdivisions。最佳值是 1,所以从 1 开始。如果 1 不适合您,请参阅 Darknet/YOLO 常见问题解答。
注意 maxbatches=...。开始时一个好的值是类别的数量的 2000 倍。例如,我们有 4 种动物,所以 4 2000 = 8000。这意味着我们将使用 maxbatches=8000。
* 注意 steps=...。这应该设置为 maxbatches 的 80% 和 90%。例如,由于 maxbatches 被设置为 8000,因此我们将使用 steps=6400,7200。
* 注意 width=... 和 height=...。这些是网络尺寸。Darknet/YOLO 常见问题解答解释了如何计算要使用的最佳尺寸。
在每个 [yolo] 部分之前的 [convolutional] 部分中,查找 classes=... 和 filters=... 行的所有实例。要使用的值是 (numberofclasses + 5) 3。这意味着对于这个例子,(4 + 5) * 3 = 27。所以我们将在相应的行上使用 filters=27。
9. 开始训练
运行以下命令:
`bash
cd ~/nn/animals/
darknet detector -map -dont_show train animals.data animals.cfg
`
耐心点。最佳权重将被保存为 animals_best.weights。可以通过查看 chart.png 文件来观察训练进度。有关您可能想要在训练新网络时使用的其他参数,请参阅 Darknet/YOLO 常见问题解答。
如果您想在训练期间查看更多详细信息,请添加 --verbose 参数。例如:
`bash
darknet detector -map -dont_show --verbose train animals.data animals.cfg
`
其他工具和链接
要管理您的 Darknet/YOLO 项目,注释图像,验证您的注释,并生成使用 Darknet 训练所需的必要文件,请查看 DarkMark。
要获得 Darknet 的强大替代 CLI,以使用图像拼接、在视频中进行物体跟踪,或使用可以在商业应用程序中轻松使用的强大 C++ API,请查看 DarkHelp。
查看 Darknet/YOLO 常见问题解答,看看它是否可以帮助回答您的问题。
查看 Stéphane YouTube 频道上的众多教程和示例视频
如果您有支持问题或想与其他 Darknet/YOLO 用户聊天,请加入 Darknet/YOLO discord 服务器。
Roadmap
最后更新时间 2024-10-30:
已完成
在训练期间将 qsort() 替换为 std::sort()(一些其他的模糊的仍然存在)
删除 check_mistakes、getchar() 和 system()
将 Darknet 转换为使用 C++ 编译器(Linux 上的 g++,Windows 上的 VisualStudio)
修复 Windows 构建
修复 Python 支持
构建 darknet 库
重新启用预测中的标签(“alphabet” 代码)
重新启用 CUDA/GPU 代码
重新启用 CUDNN
重新启用 CUDNN half
不要硬编码 CUDA 架构
更好的 CUDA 版本信息
重新启用 AVX
删除旧的解决方案和 Makefile
使 OpenCV 非可选
删除对旧的 pthread 库的依赖
删除 STB
重写 CMakeLists.txt 以使用新的 CUDA 检测
删除旧的“alphabet”代码,并删除 data/labels 中的 700 多个图像
在源代码之外构建
有更好的版本号输出
与训练相关的性能优化(正在进行的任务)
与推理相关的性能优化(正在进行的任务)
尽可能使用传值引用
清理 .hpp 文件
重写 darknet.h
不要将 cv::Mat 转换为 void,而是将其用作适当的 C++ 对象
修复或保持一致内部图像结构的使用方式
修复针对 ARM 架构的 Jetson 设备的构建
* 原始的 Jetson 设备不太可能被修复,因为它们不再受 NVIDIA 支持(没有 C++17 编译器)
* 新的 Jetson Orin 设备正在运行
修复 V3 中的 Python API
* 需要更好的 Python 支持(有 Python 开发者愿意帮忙吗?)
短期目标
将 printf() 替换为 std::cout(正在进行中)
调查旧的 zed 摄像头支持
更好、更一致的命令行解析(正在进行中)
中期目标
删除所有 char 代码,并用 std::string 替换
不要隐藏警告并清理编译器警告(正在进行中)
更好地使用 cv::Mat,而不是 C 中的自定义图像结构(正在进行中)
用 std::vector 或 std::list 替换旧的列表功能
修复对 1 通道灰度图像的支持
添加对 N 通道图像的支持,其中 N > 3(例如,具有附加深度或热通道的图像)
正在进行的代码清理(正在进行中)
长期目标
修复所有 GPU 的 CUDA/CUDNN 问题
重写 CUDA+cuDNN 代码
调查添加对非 NVIDIA GPU 的支持
旋转的边界框,或某种“角度”支持
关键点/骨架
热图(正在进行中)
分割