约洛没有开始训练



我正在尝试在自定义数据集上训练 Yolo,一切似乎都在工作而没有错误,但它只是没有训练。

我按照 https://github.com/AlexeyAB/darknet 上的教程操作了两次,但我得到了相同的结果

./darknet detector train data/obj.data cfg/yolo-obj.cfg yolov4.conv.137
[yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.05
nms_kind: greedynms (1), beta = 0.600000 
Total BFLOPS 59.563 
avg_outputs = 489778 
Loading weights from yolov4.conv.137...
seen 64, trained: 0 K-images (0 Kilo-batches_64) 
Done! Loaded 137 layers from weights-file 
Learning Rate: 0.001, Momentum: 0.949, Decay: 0.0005
Resizing, random_coef = 1.40 
608 x 608 
Create 64 permanent cpu-threads 
mosaic=1 - compile Darknet with OpenCV for using mosaic=1 

我也尝试过没有预先训练的重量,但这也没有开始训练过程

./darknet detector train data/obj.data cfg/yolo-obj.cfg
[yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.05
nms_kind: greedynms (1), beta = 0.600000 
Total BFLOPS 59.563 
avg_outputs = 489778 
Learning Rate: 0.001, Momentum: 0.949, Decay: 0.0005
Resizing, random_coef = 1.40 
608 x 608 
Create 64 permanent cpu-threads 
mosaic=1 - compile Darknet with OpenCV for using mosaic=1 

我错过了什么?

如果你想使用OpenCV,你需要重新编译Darknet,但首先将make文件更改为以下内容:

OPENCV=1

如果你不需要OpenCV,那就按照@TaQuangTu的要求去做。当您修复此行时,只需再次运行 build.sh 脚本,它应该可以正常工作。

如果您打算使用 GPU 进行训练,我还建议您更改以下行

GPU=1
CUDNN=1
CUDNN_HALF=1 

我的朋友,我现在刚刚解决了这个问题。 我想我已经在这里找到了原因。如果你的训练/测试.txt是空的,这就是原因。您打开"creating-train-and-test-txt-files.py"并对其进行编辑。找到关键字是 jpeg 地方。我们在这里只能找到 2 个 JPEG 单词,您可以将它们编辑为"jpg"并在您的 Google 云端硬盘中替换它。 最后,重新启动合作实验室工作。而且您的培训不会因为"608 x 608 创建 64 个永久 CPU 线程"。

来自中国的良好祝愿。

你是如何安装OpenCV的?

对于简单的修复,您可以尝试此sudo apt install libopencv-dev python3-opencv

还要确保你有cmake,

sudo apt install cmake

这应该在您的系统中安装 opencv 3.2 和 cmake 3.10。然后尝试运行暗网。

最后,更改生成文件,

OPENCV=1

上述错误主要是由于空train.txttest.txt文件引起的。请检查这两个文件

使用它来启用OpenCV:

$ git clone https://github.com/AlexeyAB/darknet.git
$ cd darknet
$ sed -i 's/OPENCV=0/OPENCV=1/' Makefile

https://github.com/AlexeyAB/darknet/blob/master/Makefile#L4

开始训练时查看资源利用率,并查看 RAM 是否导致资源利用率超过。

如果是这样,请尝试以下解决方案:

[net] 部分中的 CFG 参数:

[网]部分

批次 - 将在一批中预处理的样品数量(图像、字母等(

细分 - 一个批次中的mini_batches数量,大小mini_batch=批次/细分,因此GPU一次处理mini_batch样本,并且批量样本的权重会更新(1次迭代处理批量图像(

参考这一点,我尝试了各种组合min_batch尺寸,例如:

批次=64, 细分=8

"或">

批次=64, 细分=16

等等...

我发现我的colab只为min_batch=2工作 因此,我认为细分是批次的一半,例如:

batch=64
subdivisions=32

"或">

batch=32
subdivisions=16

或任何其他...

当我使用

批次=1, 细分=1

相关内容

  • 没有找到相关文章

最新更新