Linked Questions

Popular Questions

When I use YOLO v8 (ultralytics) to train on my own dataset.

I use the cmd to run as below:

yolo pose train data=Jz.yaml model=yolov8s-pose.pt pretrained=True project=FileClip01 name=s_pretrain epochs=50 batch=4 device=0

The Jz.yaml:

# 数据集在 datasets 目录下的文件夹路径
path: FileClips

# 训练集、验证集、测试集相对于 path 的路径
train: images/train
val: images/val
test: images/val

kpt_shape: [2, 3]

names:
  0: jz_rect

There is the full traceback as below.

Traceback (most recent call last):
  File "/homeb/tangwuguo/miniconda3/envs/cv/bin/yolo", line 8, in <module>
    sys.exit(entrypoint())
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/cfg/__init__.py", line 391, in entrypoint
    getattr(model, mode)(**overrides)  # default args from model
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/engine/model.py", line 370, in train
    self.trainer.train()
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 191, in train
    self._do_train(world_size)
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 268, in _do_train
    self._setup_train(world_size)
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 250, in _setup_train
    self.train_loader = self.get_dataloader(self.trainset, batch_size=batch_size, rank=RANK, mode='train')
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/v8/detect/train.py", line 43, in get_dataloader
    build_dataloader(self.args, batch_size, img_path=dataset_path, stride=gs, rank=rank, mode=mode,
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/data/build.py", line 81, in build_dataloader
    dataset = YOLODataset(
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/data/dataset.py", line 66, in __init__
    super().__init__(img_path, imgsz, cache, augment, hyp, prefix, rect, batch_size, stride, pad, single_cls,
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/data/base.py", line 69, in __init__
    self.labels = self.get_labels()
  File "/homeb/tangwuguo/miniconda3/envs/cv/lib/python3.8/site-packages/ultralytics/yolo/data/dataset.py", line 160, in get_labels
    len_cls, len_boxes, len_segments = (sum(x) for x in zip(*lengths))
ValueError: not enough values to unpack (expected 3, got 0)
Sentry is attempting to send 2 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

I searched some solutions onlines. It is said the .yaml config file maybe wrong or the .txt label file without normalization.

So I checked these files. I found the .cahed file shows in the /labels dir. So I can draw that the .yaml is right? And the label file is also normalized. Would you please tell how to solve it, thank you😊

enter image description here

enter image description here

Related Questions