0

暗网训练命令darknet.exe detector train data/obj.data yolo-obj.cfg yolov4.conv.137产生错误:无法在我的 Windows 10 设备上打开文件:data/obj.data。

我已按照“如何训练(检测您的自定义对象)”下的 AlexeyAB README 文件中的说明进行操作。

yolo-obj.cfg 已相应配置。我在 darknet/cfg 文件夹中有它。

darknet.exe 已成功构建。

我有 10 个自定义课程:

obj.data文件(在 darknet/data 文件夹中)

classes= 10 
train = data/train.txt  
valid = data/train.txt  
names = data/obj.names  (I tried both relative and absolute path here)
backup = backup/ 

obj.names文件(在 darknet/data 文件夹中)

Mug
Cathedral
Lake
Bear
Tree
Mountain
Baby
Rabbit
Person
Strawberry

我在 darknet/data 文件夹中有我的 train.txt 文件,其中包含以下内容:

data/image1.jpg.jpg (the repetition of jpg is there because I've named every image with a jpg extension)
data/image2.jpg.jpg
data/image3.jpg.jpg
data/image4.jpg.jpg
data/image5.jpg.jpg
data/image6.jpg.jpg
data/image7.jpg.jpg
data/image8.jpg.jpg
data/image9.jpg.jpg
data/image10.jpg.jpg

我的 yolov4 权重在主要的暗网文件夹中。

我尝试在每个文件中同时使用相对路径和绝对路径,也尝试在 build/darknet/x64 文件夹中配置所有内容(一位就 Darknet discord 问题提出建议的 Darknet 开发人员实际上告诉我,darknet/data 文件夹在训练您的自定义数据时应该使用而不是 darknet/build/darknet/x64 文件夹!) - 无论我做什么,我总是会收到错误:

无法打开文件:data/obj.data

  • 我是否应该在我的 train.txt 文件中添加绝对路径(尽管我确实尝试过,但仍然没有用);
  • 我的 obj.data 文件是我用记事本打开的普通 txt 文件。

任何人都有同样的问题或对可能出现的问题有一些直觉?

4

1 回答 1

0

问题出在文件扩展名上。出于某种原因,我的 obj.data 文件没有保存为“数据”文件,而是保存为“名称”文件,所以我不得不更改它。我在 obj.data 文件中使用了相对路径,在 train.txt 文件中使用了绝对路径。最后对我有用的命令是:

darknet.exe detector -dont_show -map train data/obj.data cfg/yolo-obj.cfg data/yolov4.conv.137

  • 我指定了 cfg 文件的位置,因此指定了 cfg/yolo-obj.cfg;
  • 我还指定了权重的位置,因此是 data/yolov4.conv.137。
于 2021-05-31T06:26:32.017 回答