@mayokaok

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

YOLOV8nの学習について

Q&A

Closed

解決したいこと

YOLOv8nに自前データを学習させたい。
しかし、「Dataset 'coco.yaml' images not found」がでて、学習が完了できない。

発生している問題・エラー

train: Scanning C:\Users\○○\Desktop\ultralytics-main\ultralytics\puremoru\labels\train.cache... 101 images, 0 backgrounds, 0 corrupt: 100%|██████████| 101/101 [00:00<?, ?it/s]
Ultralytics YOLOv8.0.220 🚀 Python-3.10.0rc2 torch-1.12.0+cu113 CUDA:0 (NVIDIA T500, 4096MiB)
YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs

Dataset 'coco.yaml' images not found ⚠️, missing path '\\KATNFS001\Z-DRIVE\datasets\coco\val2017.txt'
Backend QtAgg is interactive backend. Turning interactive mode on.

該当するソースコード

from ultralytics import YOLO
import os

os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'  # エラー対策

# モデルファイルの名前
model_filename = "yolov8n.pt"

# 移動先のディレクトリパス
new_directory = r'C:\Users\○○\Desktop\ultralytics-main\ultralytics'

# ディレクトリを変更
os.chdir(new_directory)

current_directory = os.getcwd()

model_path = os.path.join(current_directory, model_filename)

# YOLOモデルの読み込み
model = YOLO(model_path)



# Train the model using the 'mycoco.yaml' dataset for 30 epochs with a batch size of 4
if __name__ == '__main__':
    results = model.train(data=r'C:\Users\○○\Desktop\ultralytics-main\ultralytics\cfg\datasets\mycoco.yaml', epochs=30, workers=4, degrees=90.0)

# Evaluate the model's performance on the validation set
results = model.val()

自分で試したこと

社内PCでYOLOv8nの学習を行ったところ、coco.yamlが見つからないというエラーがでました。
しかし、coco.yamlは「C:\Users\○○\Desktop\ultralytics-main\ultralytics\cfg\datasets」内に保管されています。

問題を解決する方法が分からず困っています。
解決策をお教え頂ければ幸いです。
よろしくお願いいたします。

0 likes

1Answer

ファイル名が「mycoco.yaml」となっているので、それを「coco.yaml」に変更するとエラーは解消されませんか?

C:\Users\○○\Desktop\ultralytics-main\ultralytics\cfg\datasets\mycoco.yaml

0Like

Comments

  1. @mayokaok

    Questioner

    「coco.yaml」に名称を変えてしまうと、もともとのモデルに学習されていた80個のクラスなど使えなくなったりしないのでしょうか?

    また、「coco.yaml」と「mycoco.yaml」は同じファイルの中に格納されているため、エラーの解消にはならないのでは?と考えています

  2. 例えば、「mycoco.yaml」のバックアップを作成してから、試してみてはいかがでしょうか。

    もともとのモデルに学習されていた80個のクラスなど使えなくなったりしないのでしょうか?

    上記については、すいません、どのような挙動になるのかわかりません。

  3. @mayokaok

    Questioner

    ファイル名を「mycoco.yaml」→「coco.yaml」に変更してもエラーは解消されましたでした。何か別の方法などご存じでしょうか?

  4. では「coco.yaml」は問題ないと仮定すると、もうひとつのエラーで、該当するファイルは

    存在してますか?

    missing path '\KATNFS001\Z-DRIVE\datasets\coco\val2017.txt'

  5. @mayokaok

    Questioner

    該当するファイルは存在しません。
    '\KATNFS001\Z-DRIVE\datasets\coco\val2017.txt'には、YOLOのファイルは置いておらず、また置くこともできません。

    そのため、学習ファイルの場所を絶対パスなどで指定したいのですが、それが叶わないので困っています。

  6. 質問をクローズにしたようですが、どのように解決したのでしょうか?

  7. @mayokaok

    Questioner

    コマンドプロンプトを管理者で開き、コードを実行したら上手くいきました。
    色々とご協力頂きありがとうございました。

  8. なるほど。お力になれず、申し訳なかったです。自己解決されたようで、良かったです。

  9. @mayokaok

    Questioner

    ご協力ありがとうございました。

Your answer might help someone💌