我正在使用yolov5在自定义数据集上进行训练我的dataset.yaml文件包含
path: ../testing
train: images
val: images
nc: 10
names:
["door", "cabinetDoor", "refrigeratorDoor", "window", "chair",
"table", "cabinet", "couch", "openedDoor", "pole"]
数据集的目录如下
CustomTraining
├── yolov5
├── testing
├── images
│ ├── train (1024 images)
│ └── val (230 images )
└── labels
├── train
└── val
我运行的命令是
!cd yolov5 && python train.py --img 512 --batch 10 --epoch 100 --data dataset.yml --weights yolov5s.pt
但是当我在yolov5文件夹中看到我的runs/strain目录时,exp文件夹没有任何jpeg文件,weights文件夹也是空的
已经很久了,不知道你是否已经解决了这个问题。对不起,我不能在这里嵌入图片
1:首先,尝试将yaml文件中的相对路径更改为绝对路径。
2:第二,事实上,这是我的医生,你可以试试这个。
yaml文件:
train: D:yolov5datasetsmydataImageSetsMaintrain.txt
val: D:yolov5datasetsmydataImageSetsMaintrain.txt
test: # test images (optional)
目录:
- **D:yolov5**
- yolov5-7.0(main project)
- train.py
- detect.py
- .......
- **datasets**(place I store my datas)
- coco128
- iamges
- labels
- readme
- **mydata**
- images(my pictures to train)
- IMG_000001.jpg
- IMG_000002.jpg
- IMG_000003.jpg
......
- labels(labels for my pictures)
- IMG_000001.txt
- IMG_000002.txt
- IMG_000003.txt
......
- **ImageSets**
- **Main**
- **train.txt**
train.txt:
您需要将此文件夹的路径放在yaml文件中,yolov5将扫描此文件以查找您的图像和标签您可能会怀疑这个txt文件既不是"images.txt";也不是";"labels.txt";,那么模型如何找到他们需要的数据集。
这是train.txt的内容
D:yolov5datasetsmydata**images**IMG_000001.jpg
D:yolov5datasetsmydata**images**IMG_000002.jpg
......
是的,你可以看到这个";train.txt";正是你想要训练的图片的绝对路径
现在,你可能想再问一次,";我的标签呢">yolov5中的代码将把单词";图像";在上述"绝对路径"中;D: \yolov5\datasets\mydata\images\IMG_000001.jpg";变成";标签";自动查找标签文件所以你不需要在这个文件中提到你的标签文件的路径这正是你需要这样组织目录的原因记住更改您的";labels.txt";变成";IMG_ 000001";(只要和你的图片名称一样就可以了,"IMG_00000n"是我的项目名称,你不必这样(,这样它就可以找到你的标签和更改后的路径;图像";变成";标签",像";D: \yolov5\datasets\mydata\标签\IMG_000001.jpg";
希望我能告诉你们。谢谢你