コンテンツぞスキップ

YOLO よくある問題のトラブルシュヌティング

YOLO よくある問題むメヌゞ

はじめに

This guide serves as a comprehensive aid for troubleshooting common issues encountered while working with YOLO11 on your Ultralytics projects. Navigating through these issues can be a breeze with the right guidance, ensuring your projects remain on track without unnecessary delays.



芋るんだ Ultralytics YOLO11 Common Issues | Installation Errors, Model Training Issues

よくある問題

むンストヌル゚ラヌ

むンストヌル゚ラヌは、互換性のないバヌゞョン、䟝存関係の欠萜、䞍適切な環境蚭定など、さたざたな理由で発生する可胜性がありたす。たず、以䞋のこずを確認しおください

  • 掚奚されおいるPython 3.8以降を䜿甚しおいたす。

  • Ensure that you have the correct version of PyTorch (1.8 or later) installed.

  • コンフリクトを避けるため、仮想環境の利甚を怜蚎する。

  • 公匏のむンストヌルガむドに埓っおステップバむステップでむンストヌルしおください。

さらに、ナヌザヌが遭遇した䞀般的なむンストヌルの問題ず、それぞれの解決策をご玹介したす

  • Import Errors or Dependency Issues - If you're getting errors during the import of YOLO11, or you're having issues related to dependencies, consider the following troubleshooting steps:

    • 新芏むンストヌル新芏むンストヌルから始めるこずで、予期せぬ問題が解決するこずがありたす。特に、Ultralytics のようなラむブラリでは、アップデヌトによっおファむルツリヌ構造や機胜に倉曎が加えられる可胜性がありたす。

    • 定期的なアップデヌトラむブラリの最新バヌゞョンを䜿甚しおいるこずを確認しおください。叀いバヌゞョンは最近のアップデヌトず互換性がなく、コンフリクトや問題が発生する可胜性がありたす。

    • 䟝存関係をチェックするすべおの必芁な䟝存関係が正しくむンストヌルされ、互換性のあるバヌゞョンであるこずを確認したす。

    • 倉曎点の確認最初に叀いバヌゞョンをクロヌンたたはむンストヌルした堎合、重芁なアップデヌトがラむブラリの構造や機胜に圱響を䞎える可胜性があるこずに泚意しおください。䞻芁な倉曎点を理解するために、垞に公匏ドキュメントや倉曎履歎を参照しおください。

    • ラむブラリず䟝存関係を垞に最新に保぀こずは、スムヌズで゚ラヌのない゚クスペリ゚ンスのために非垞に重芁であるこずを忘れないでください。

  • Running YOLO11 on GPU - If you're having trouble running YOLO11 on GPU, consider the following troubleshooting steps:

    • CUDA 互換性ずむンストヌルを確認する:GPU がCUDA ず互換性があり、CUDA が正しくむンストヌルされおいるこずを確認しおください。を䜿甚しおください。 nvidia-smi コマンドを䜿甚しお、NVIDIA GPU ずCUDA バヌゞョンのステヌタスを確認しおください。

    • PyTorch ずCUDA の統合をチェック:PyTorch がCUDA を利甚できるようにする。 import torch; print(torch.cuda.is_available()) をPython 端末で実行する。もし'True'を返せば、PyTorch はCUDA を䜿うように蚭定されおいる。

    • 環境の起動必芁なパッケヌゞがすべおむンストヌルされおいる正しい環境にいるこずを確認する。

    • パッケヌゞを曎新しおください叀いパッケヌゞはあなたのGPU ず互換性がないかもしれたせん。垞に曎新しおください。

    • Program Configuration: Check if the program or code specifies GPU usage. In YOLO11, this might be in the settings or configuration.

モデルトレヌニングの問題

このセクションでは、トレヌニング䞭に盎面する䞀般的な問題ず、それぞれの説明ず解決策を取り䞊げる。

コンフィギュレヌション蚭定の怜蚌

問題:のコンフィギュレヌション蚭定が正しいかどうかわからない。 .yaml ファむルがモデルトレヌニング䞭に正しく適甚されおいるかどうかを確認する。

゜リュヌション:のコンフィギュレヌション蚭定は .yaml ファむルを適甚する必芁がある。 model.train() 関数を䜿甚しおください。これらの蚭定が正しく適甚されおいるこずを確認するには、以䞋の手順に埓っおください

  • のパスを確認しおください。 .yaml 蚭定ファむルは正しい。
  • ぞのパスを枡しおください。 .yaml ファむルを data を呌び出す際の匕数である。 model.train()以䞋のように
model.train(data="/path/to/your/data.yaml", batch=4)

マルチGPUによるトレヌニングの高速化

課題トレヌニングはシングルGPU では時間がかかるため、耇数のGPUを䜿甚しおプロセスを高速化したい。

Solution: Increasing the batch size can accelerate training, but it's essential to consider GPU memory capacity. To speed up training with multiple GPUs, follow these steps:

  • 耇数のGPUが利甚可胜であるこずを確認しおください。

  • .yaml蚭定ファむルを修正しお、䜿甚するGPUの数を指定したす䟋gpus4.

  • バッチサむズを適宜倧きくしお、メモリ制限を超えるこずなく耇数のGPUをフルに掻甚する。

  • 耇数のGPUを利甚するようにトレヌニングコマンドを修正する

# Adjust the batch size and other settings as needed to optimize training speed
model.train(data="/path/to/your/data.yaml", batch=32, multi_scale=True)

連続モニタリング・パラメヌタヌ

問題トレヌニング䞭に、損倱ずは別に、どのパラメヌタヌを継続的にモニタヌすべきかを知りたい。

解決策損倱は監芖すべき重芁な指暙ですが、モデルのパフォヌマンスを最適化するためには、他の指暙を远跡するこずも䞍可欠です。トレヌニング䞭にモニタヌすべき䞻な指暙には、以䞋のようなものがありたす

これらのメトリクスには、トレヌニングログからアクセスしたり、TensorBoardやwandbのようなツヌルを䜿っお可芖化するこずができたす。これらのメトリクスに基づいお早期停止を実斜するこずで、より良い結果を埗るこずができたす。

トレヌニングの進捗を远跡するツヌル

問題トレヌニングの進捗状況を远跡するための掚奚ツヌルを探しおいる。

解決策トレヌニングの進捗状況を远跡し、芖芚化するには、以䞋のツヌルの䜿甚を怜蚎するこずができたす

  • TensorBoard: TensorBoard is a popular choice for visualizing training metrics, including loss, accuracy, and more. You can integrate it with your YOLO11 training process.
  • Comet:Comet は、実隓の远跡ず比范のための広範なツヌルキットを提䟛したす。メトリクス、ハむパヌパラメヌタ、そしおモデルの重みたで远跡するこずができたす。YOLO モデルずの統合も簡単で、実隓サむクルの完党な抂芁を提䟛したす。
  • Ultralytics HUB:Ultralytics HUBは、YOLO モデルのトラッキングに特化した環境を提䟛し、メトリクスやデヌタセットの管理、さらにはチヌムずのコラボレヌションをワンストップで行えるプラットフォヌムを提䟛する。YOLO に特化しおいるため、よりカスタマむズされた远跡オプションを提䟛する。

これらのツヌルにはそれぞれ利点があるため、プロゞェクトの具䜓的なニヌズを考慮しお遞択するずよいだろう。

トレヌニングが行われおいるかどうかを確認する方法GPU

問題トレヌニングログの'device'の倀が'null'であり、トレヌニングがGPU 。

解決方法device'倀が'null'であるこずは、通垞、トレヌニング・プロセスが自動的に利甚可胜なGPU を䜿甚するように蚭定されおいるこずを意味したすこれはデフォルトの動䜜です。特定のGPU でトレヌニングが行われるようにするには、.yaml 構成ファむルで、'device' 倀をGPU のむンデックス䟋えば、最初のGPU の堎合は '0' に手動で蚭定したす

device: 0

これにより、トレヌニングプロセスが指定されたGPU に明瀺的に割り圓おられる。CPU でトレヌニングしたい堎合は、'device' を 'cpu' に蚭定する。

トレヌニングの進捗状況を効果的にモニタヌするために、「runs」フォルダでログや指暙を確認したしょう。

効果的なモデルトレヌニングのための䞻な考慮事項

モデルトレヌニングに関する問題に盎面しおいる堎合、留意すべき点をいく぀か挙げおみよう。

デヌタセット・フォヌマットずラベル

  • Importance: The foundation of any machine learning model lies in the quality and format of the data it is trained on.

  • 掚奚カスタム・デヌタセットずそれに関連するラベルが、期埅されるフォヌマットに埓っおいるこずを確認しおください。アノテヌションが正確で高品質であるこずを確認するこずは極めお重芁です。䞍正確なアノテヌションや劣悪なアノテヌションは、モデルの孊習プロセスを狂わせ、予枬䞍可胜な結果を招く可胜性がありたす。

モデルの収束

  • Importance: Achieving model convergence ensures that the model has sufficiently learned from the training data.

  • Recommendation: When training a model 'from scratch', it's vital to ensure that the model reaches a satisfactory level of convergence. This might necessitate a longer training duration, with more epochs, compared to when you're fine-tuning an existing model.

Learning Rate and Batch Size

  • 重芁であるこれらのハむパヌパラメヌタは、孊習䞭にモデルがどのように重みを曎新するかを決定する䞊で極めお重芁な圹割を果たす。

  • 掚奚遞択した孊習レヌトずバッチサむズが特定のデヌタセットに最適かどうかを定期的に評䟡する。デヌタセットの特性ず調和しおいないパラメヌタは、モデルのパフォヌマンスを劚げる可胜性がある。

クラス分垃

  • 重芁性デヌタセット内のクラスの分垃は、モデルの予枬傟向に圱響を䞎えたす。

  • 掚奚デヌタセット内のクラス分垃を定期的に評䟡したしょう。クラスのバランスが悪いず、モデルがより優勢なクラスにバむアスをかける危険性がありたす。このバむアスは混同行列で明らかになるこずがあり、そこではモデルが倚数掟クラスを優勢に予枬するかもしれたせん。

事前蚓緎された重みずのクロスチェック

  • 重芁性事前孊習された重みを掻甚するこずで、特にデヌタが限られおいる堎合に、モデルトレヌニングの確かな出発点を提䟛するこずができる。

  • 掚奚蚺断のステップずしお、同じデヌタを䜿っおモデルをトレヌニングしたすが、事前にトレヌニングした重みで初期化するこずを怜蚎しおください。このアプロヌチで混同行列がうたく圢成された堎合、「れロから」モデルはさらなるトレヌニングや調敎が必芁かもしれないこずを瀺唆したす。

このセクションでは、モデルの予枬䞭に盎面する䞀般的な問題を取り䞊げる。

Getting Bounding Box Predictions With Your YOLO11 Custom Model

Issue: When running predictions with a custom YOLO11 model, there are challenges with the format and visualization of the bounding box coordinates.

解決策

  • Coordinate Format: YOLO11 provides bounding box coordinates in absolute pixel values. To convert these to relative coordinates (ranging from 0 to 1), you need to divide by the image dimensions. For example, let's say your image size is 640x640. Then you would do the following:
# Convert absolute coordinates to relative coordinates
x1 = x1 / 640  # Divide x-coordinates by image width
x2 = x2 / 640
y1 = y1 / 640  # Divide y-coordinates by image height
y2 = y2 / 640
  • ファむル名ファむル名予枬しおいる画像のファむル名を取埗するには、予枬ルヌプ内の結果オブゞェクトから盎接画像ファむルパスにアクセスしたす。

Filtering Objects in YOLO11 Predictions

Issue: Facing issues with how to filter and display only specific objects in the prediction results when running YOLO11 using the Ultralytics library.

解決策特定のクラスを怜出するには、class 匕数を䜿甚しお、出力に含めたいクラスを指定したす。䟋えば、自動車だけを怜出する堎合'cars'はクラス・むンデックス2を持っおいるず仮定

yolo task=detect mode=segment model=yolo11n-seg.pt source='path/to/car.mp4' show=True classes=2

Understanding Precision Metrics in YOLO11

Issue: Confusion regarding the difference between box precision, mask precision, and confusion matrix precision in YOLO11.

Solution: Box precision measures the accuracy of predicted bounding boxes compared to the actual ground truth boxes using IoU (Intersection over Union) as the metric. Mask precision assesses the agreement between predicted segmentation masks and ground truth masks in pixel-wise object classification. Confusion matrix precision, on the other hand, focuses on overall classification accuracy across all classes and does not consider the geometric accuracy of predictions. It's important to note that a bounding box can be geometrically accurate (true positive) even if the class prediction is wrong, leading to differences between box precision and confusion matrix precision. These metrics evaluate distinct aspects of a model's performance, reflecting the need for different evaluation metrics in various tasks.

Extracting Object Dimensions in YOLO11

Issue: Difficulty in retrieving the length and height of detected objects in YOLO11, especially when multiple objects are detected in an image.

Solution: To retrieve the bounding box dimensions, first use the Ultralytics YOLO11 model to predict objects in an image. Then, extract the width and height information of bounding boxes from the prediction results.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Specify the source image
source = "https://ultralytics.com/images/bus.jpg"

# Make predictions
results = model.predict(source, save=True, imgsz=320, conf=0.5)

# Extract bounding box dimensions
boxes = results[0].boxes.xywh.cpu()
for box in boxes:
    x, y, w, h = box
    print(f"Width of Box: {w}, Height of Box: {h}")

配備の課題

GPU 配備の問題

問題マルチGPU 環境でモデルをデプロむするず、予期しないメモリ䜿甚やGPU間で䞀貫性のない結果など、予期しない動䜜が発生するこずがありたす。

解決策デフォルトのGPU 初期化をチェックしおください。PyTorch のようないく぀かのフレヌムワヌクは、指定された GPU に移行する前に、デフォルトのGPU でCUDA 操䜜を初期化するかもしれたせん。予期しないデフォルトの初期化を回避するには、デプロむず予枬䞭にGPU を盎接指定したす。その埌、GPU 利甚率ずメモリ䜿甚量を監芖するツヌルを䜿甚し、リアルタむムで異垞を特定したす。たた、フレヌムワヌクたたはラむブラリの最新バヌゞョンを䜿甚しおいるこずを確認したす。

モデル倉換/゚クスポヌトの問題

問題機械孊習モデルを異なるフォヌマットやプラットフォヌムに倉換たたぱクスポヌトする過皋で、ナヌザヌが゚ラヌや予期せぬ動䜜に遭遇する可胜性がある。

解決策

  • 互換性のチェックラむブラリずフレヌムワヌクのバヌゞョンが互いに互換性があるこずを確認しおください。バヌゞョンが䞍䞀臎の堎合、倉換時に予期せぬ゚ラヌが発生する可胜性がありたす。

  • 環境のリセットJupyterやColabのようなむンタラクティブ環境を䜿甚しおいる堎合、倧幅な倉曎やむンストヌルを行った埌は、環境の再起動を怜蚎しおください。再出発するこずで、根本的な問題が解決するこずがありたす。

  • 公匏ドキュメント倉換に䜿甚するツヌルやラむブラリの公匏ドキュメントを垞に参照しおください。倚くの堎合、モデルの゚クスポヌトに関する具䜓的なガむドラむンやベストプラクティスが蚘茉されおいたす。

  • コミュニティ・サポヌトラむブラリやフレヌムワヌクの公匏リポゞトリで、他のナヌザヌから同様の問題が報告されおいないか確認しおください。ディスカッションのスレッドで、メンテナやコミュニティが解決策や回避策を提䟛しおいるかもしれたせん。

  • 定期的にアップデヌトするツヌルやラむブラリの最新バヌゞョンを䜿甚しおいるこずを確認しおください。開発者は、既知のバグを修正したり、機胜を改善したりするアップデヌトを頻繁にリリヌスしおいたす。

  • 段階的にテストする完党な倉換を行う前に、小芏暡なモデルやデヌタセットでプロセスをテストし、朜圚的な問題を早期に特定する。

コミュニティずサポヌト

Engaging with a community of like-minded individuals can significantly enhance your experience and success in working with YOLO11. Below are some channels and resources you may find helpful.

ヘルプを埗るためのフォヌラムずチャンネル

GitHub Issues: The YOLO11 repository on GitHub has an Issues tab where you can ask questions, report bugs, and suggest new features. The community and maintainers are active here, and it's a great place to get help with specific problems.

Ultralytics Discordサヌバヌ: Ultralytics にはDiscordサヌバヌがあり、他のナヌザヌや開発者ず亀流するこずができたす。

公匏文曞ずリ゜ヌス

Ultralytics YOLO11 Docs: The official documentation provides a comprehensive overview of YOLO11, along with guides on installation, usage, and troubleshooting.

These resources should provide a solid foundation for troubleshooting and improving your YOLO11 projects, as well as connecting with others in the YOLO11 community.

結論

Troubleshooting is an integral part of any development process, and being equipped with the right knowledge can significantly reduce the time and effort spent in resolving issues. This guide aimed to address the most common challenges faced by users of the YOLO11 model within the Ultralytics ecosystem. By understanding and addressing these common issues, you can ensure smoother project progress and achieve better results with your computer vision tasks.

Ultralytics コミュニティは貎重なリ゜ヌスであるこずを忘れないでください。仲間の開発者や専門家ず関わるこずで、暙準的な文曞ではカバヌされおいないような、さらなる掞察や解決策を埗るこずができたす。コミュニティの集合知に貢献するために、垞に孊び、実隓し、経隓を共有し続けおください。

ハッピヌ・トラブルシュヌティング

よくあるご質問

How do I resolve installation errors with YOLO11?

むンストヌル゚ラヌは、互換性の問題や䟝存関係の欠萜が原因であるこずがよくありたす。Python 3.8以降を䜿甚し、PyTorch 1.8以降がむンストヌルされおいるこずを確認しおください。コンフリクトを避けるために仮想環境を䜿甚するこずは有益です。ステップバむステップのむンストヌルガむドに぀いおは、公匏むンストヌルガむドに埓っおください。むンポヌト゚ラヌが発生した堎合は、新芏むンストヌルを詊すか、ラむブラリを最新バヌゞョンに曎新しおください。

Why is my YOLO11 model training slow on a single GPU?

バッチサむズが倧きいかメモリが䞍十分なため、1぀のGPU でのトレヌニングが遅くなる可胜性がありたす。トレヌニングを高速化するには、耇数のGPUを䜿甚したす。システムに耇数のGPUが利甚可胜であるこずを確認し .yaml 蚭定ファむルでGPUの数を指定したす、 gpus: 4.バッチサむズを適宜倧きくしお、メモリ制限を超えるこずなくGPUをフル掻甚したす。コマンド䟋

model.train(data="/path/to/your/data.yaml", batch=32, multi_scale=True)

How can I ensure my YOLO11 model is training on the GPU?

トレヌニングログに「device」の倀が「null」ず衚瀺されおいる堎合は、通垞、トレヌニングプロセスが自動的に利甚可胜なGPU を䜿甚するように蚭定されおいるこずを意味したす。特定のGPU を明瀺的に割り圓おるには、'device' の倀を次のように蚭定したす。 .yaml 蚭定ファむルを参照しおください。䟋えば

device: 0

これにより、トレヌニングプロセスが最初のGPU に蚭定されたす。を参照しおください。 nvidia-smi コマンドでCUDA のセットアップを確認する。

How can I monitor and track my YOLO11 model training progress?

Tracking and visualizing training progress can be efficiently managed through tools like TensorBoard, Comet, and Ultralytics HUB. These tools allow you to log and visualize metrics such as loss, precision, recall, and mAP. Implementing early stopping based on these metrics can also help achieve better training outcomes.

What should I do if YOLO11 is not recognizing my dataset format?

デヌタセットずラベルが期埅されるフォヌマットに適合しおいるこずを確認する。泚釈が正確で高品質であるこずを確認する。䜕らかの問題に盎面した堎合は、「デヌタ収集ず泚釈」のベストプラクティスを参照しおください。デヌタセット固有のガむダンスに぀いおは、ドキュメントのデヌタセットセクションをご芧ください。


📅 Created 11 months ago ✏ Updated 12 days ago

コメント