/home/imcm/anaconda3/envs/aqyolov8/bin/python /home/imcm/aqcode/ultralytics-main/train-seg.py
Ultralytics 8.3.154 Python-3.9.23 torch-2.5.0+cu118 CUDA:0 (NVIDIA GeForce RTX 3090 Ti, 24226MiB)
engine/trainer: agnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=4, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml, degrees=0.0, deterministic=True, device=None, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=500, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.01, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=ultralytics/cfg/models/11/yolo11s-seg.yaml, momentum=0.937, mosaic=1.0, multi_scale=False, name=train2, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=10000, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=None, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=runs/segment/train2, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=segment, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None
Traceback (most recent call last):
File "/home/imcm/aqcode/ultralytics-main/ultralytics/engine/trainer.py", line 607, in get_dataset
data = check_det_dataset(self.args.data)
File "/home/imcm/aqcode/ultralytics-main/ultralytics/data/utils.py", line 463, in check_det_dataset
raise FileNotFoundError(m)
FileNotFoundError: Dataset '/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml' images not found, missing path '/home/imcm/aqcode/ultralytics-main/dc3240/dc3240/images/val'
Note dataset download directory is '/home/imcm/aoqiang/ultralytics-main/datasets'. You can update this in '/home/imcm/.config/Ultralytics/settings.json'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/imcm/aqcode/ultralytics-main/train-seg.py", line 13, in <module>
train()
File "/home/imcm/aqcode/ultralytics-main/train-seg.py", line 6, in train
model.train(
File "/home/imcm/aqcode/ultralytics-main/ultralytics/engine/model.py", line 791, in train
self.trainer = (trainer or self._smart_load("trainer"))(overrides=args, _callbacks=self.callbacks)
File "/home/imcm/aqcode/ultralytics-main/ultralytics/models/yolo/segment/train.py", line 51, in __init__
super().__init__(cfg, overrides, _callbacks)
File "/home/imcm/aqcode/ultralytics-main/ultralytics/engine/trainer.py", line 153, in __init__
self.data = self.get_dataset()
File "/home/imcm/aqcode/ultralytics-main/ultralytics/engine/trainer.py", line 611, in get_dataset
raise RuntimeError(emojis(f"Dataset '{clean_url(self.args.data)}' error ❌ {e}")) from e
RuntimeError: Dataset '/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml' error ❌ Dataset '/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml' images not found, missing path '/home/imcm/aqcode/ultralytics-main/dc3240/dc3240/images/val'
Note dataset download directory is '/home/imcm/aoqiang/ultralytics-main/datasets'. You can update this in '/home/imcm/.config/Ultralytics/settings.json'
进程已结束,退出代码为 1
我在ubuntu下面跑yolov11代码,我已经把路径修改了啊,为什么还报了这个错误呢?
问题解答:
你遇到的这个错误:
FileNotFoundError: Dataset '/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml' images not found, missing path '/home/imcm/aqcode/ultralytics-main/dc3240/dc3240/images/val'
说明:虽然你在 .yaml
配置文件中设置了 data=/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml
,但系统仍然在找一个叫:
/home/imcm/aqcode/ultralytics-main/dc3240/dc3240/images/val
的路径。
🔍 你需要重点检查以下几点:
✅ 1. 检查你的 dc3240-seg.yaml
文件内容是否写错路径
请打开你这个 YAML 文件:
/home/imcm/aqcode/ultralytics-main/ultralytics/cfg/datasets/dc3240-seg.yaml
确认其中是否包含以下字段:
path: /home/imcm/aqcode/ultralytics-main/dc3240 # 你数据集的根目录
train: images/train # 相对 path 的路径
val: images/val # 相对 path 的路径
那最终拼接出来的路径就是:
/home/imcm/aqcode/ultralytics-main/dc3240/images/val
⚠️ 但是你现在报错说它去找了:
/home/imcm/aqcode/ultralytics-main/dc3240/dc3240/images/val
这说明你在 YAML 中的 path
字段 多写了一层 dc3240
,或 val:
写成了 dc3240/images/val
。
✅ 2. 检查你的数据集实际目录结构
你可以运行以下命令确认路径:
ls /home/imcm/aqcode/ultralytics-main/dc3240/images/val
如果存在图像文件说明路径 OK。如果报错 No such file or directory
,说明你实际的数据根目录不是这个路径,可能在其他地方,比如:
/home/imcm/aoqiang/ultralytics-main/datasets/dc3240/images/val
也就是提示中提到的默认数据目录。
✅ 3. 如果你希望使用新路径,确保一致修改:
你可以这样修改 dc3240-seg.yaml
:
path: /home/imcm/aqcode/ultralytics-main/dc3240 # 假设你数据就在这个目录
train: images/train
val: images/val
并确保:
ls /home/imcm/aqcode/ultralytics-main/dc3240/images/train
ls /home/imcm/aqcode/ultralytics-main/dc3240/images/val
这两个命令都能列出图像。
✅ 补救建议
如果你数据集实际上在 /home/imcm/aoqiang/ultralytics-main/datasets/dc3240
,你可以临时软链接:
ln -s /home/imcm/aoqiang/ultralytics-main/datasets/dc3240 /home/imcm/aqcode/ultralytics-main/dc3240
这样路径就能对上了。
✅ 总结一句话:
你的 yaml
文件里的 path
配置可能多写了一层路径,或者你实际的数据没放在 yaml
里指定的位置。请核对路径拼接结果,确保能找到 images/val
和 images/train
文件夹即可解决。
如需我帮你检查 dc3240-seg.yaml
文件内容,可以把它贴上来我看看。