コンテンツぞスキップ

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

YOLO よくある問題むメヌゞ

はじめに

このガむドは、Ultralytics のプロゞェクトでYOLO11 を䜿甚しおいるずきに遭遇する䞀般的な問題のトラブルシュヌティングを行うための包括的な支揎ずなりたす。適切なガむダンスがあれば、これらの問題を簡単に解決するこずができ、プロゞェクトが䞍必芁な遅延なしに軌道に乗るこずを保蚌したす。



芋るんだ Ultralytics YOLO11 䞀般的な問題むンストヌル゚ラヌ、モデルトレヌニングの問題

よくある問題

むンストヌル゚ラヌ

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

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

  • 正しいバヌゞョンの PyTorch(1.8以降)がむンストヌルされおいるこずを確認しおください。

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

  • 公匏のむンストヌルガむドに埓っおステップバむステップでむンストヌルしたす。

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

  • むンポヌト゚ラヌたたは䟝存関係の問題 -YOLO11 のむンポヌト䞭に゚ラヌが発生した堎合、たたは䟝存関係に関連する問題が発生した堎合は、以䞋のトラブルシュヌティング手順を怜蚎しおください

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

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

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

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

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

  • GPU 䞊でYOLO11 を実行する -GPU 䞊でYOLO11 の実行に問題がある堎合は、以䞋のトラブルシュヌティング手順を怜蚎しおください

    • 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 ず互換性がないかもしれたせん。垞に曎新しおください。

    • プログラムの構成プログラムたたはコヌドがGPU 。YOLO11 では、これは蚭定や構成にあるかもしれない。

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

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

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

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

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

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

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

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

解決策 バッチサむズを倧きくするこずでトレヌニングを高速化できたすが、GPU メモリ容量を考慮するこずが䞍可欠です。耇数のGPUでトレヌニングを高速化するには、以䞋の手順に埓いたす

  • 耇数の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は、損倱や粟床などのトレヌニングメトリクスを可芖化するための䞀般的な遞択肢です。YOLO11 トレヌニングプロセスず統合するこずができたす。
  • 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」フォルダでログや指暙を確認したしょう。

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

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

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

  • 重芁性機械孊習モデルの基瀎は、孊習させるデヌタの質ず圢匏にある。

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

モデルの収束

  • 重芁性モデルの収束を達成するこずは、モデルが蚓緎デヌタから十分に孊習したこずを保蚌する。

  • 掚奚モデルを「れロから」トレヌニングする堎合、モデルが満足のいくレベルに収束するこずを確認するこずが重芁です。そのためには、既存のモデルを埮調敎する堎合よりも、より倚くの゚ポックで、より長いトレヌニング期間が必芁になるかもしれたせん。

孊習率ずバッチサむズ

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

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

クラス分垃

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

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

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

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

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

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

YOLO11 カスタムモデルでバりンディングボックスの予枬を埗る

問題カスタムYOLO11 モデルで予枬を実行する堎合、バりンディングボックス座暙のフォヌマットず芖芚化に課題がありたす。

解決策

  • 座暙圢匏 YOLO11 では、 倖接枠座暙が絶察 ピ ク セル倀で䞎え ら れたす。こ れ ら を盞察座暙 0 か ら 1 た で に倉換す る には、 画像寞法で割 る 必芁があ り たす。た ず えば、 画像サ ã‚€ ズ を 640x640 ず し た し ょ う 。そうするず、次のようになりたす
# 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
  • ファむル名ファむル名予枬しおいる画像のファむル名を取埗するには、予枬ルヌプ内の結果オブゞェクトから盎接画像ファむルパスにアクセスしたす。

YOLO11 予枬におけるオブゞェクトのフィルタリング

問題 Ultralytics ラむブラリを䜿甚しおYOLO11 を実行する際、予枬結果に特定のオブゞェクトのみをフィルタリングしお衚瀺する方法に関する問題。

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

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

高粟床の指暙を理解するYOLO11

問題 YOLO11 におけるボックス粟床、マスク粟床、混同行列粟床の違いに関する混乱。

゜リュヌションボックス粟床は、IoU(Intersection over Union)を指暙ずしお、予枬されたバりンディングボックスの粟床を、実際のグランドトゥルヌスボックスず比范しお枬定したす。マスク粟床は、ピクセル単䜍のオブゞェクト分類においお、予枬されたセグメンテヌションマスクずグランドトゥルヌスマスクの䞀臎床を評䟡したす。䞀方、コンフュヌゞョン・マトリクスの粟床は、すべおのクラスにわたる党䜓的な分類粟床に焊点を圓お、予枬の幟䜕孊的粟床は考慮したせん。クラス予枬が間違っおいおも、バりンディング・ボックスが幟䜕孊的に正確true positiveであるこずがあり、これがボックス粟床ず混同行列粟床の違いに぀ながるこずに泚意するこずが重芁です。これらのメトリクスは、モデルの性胜の異なる偎面を評䟡し、様々なタスクで異なる評䟡メトリクスの必芁性を反映しおいたす。

オブゞェクトの寞法の抜出YOLO11

課題 YOLO11 においお、怜出されたオブゞェクトの長さず高さを取埗するこずが困難。特に、画像内で耇数のオブゞェクトが怜出された堎合。

解決方法バりンディングボックスの寞法を取埗するには、たずUltralytics YOLO11 モデルを䜿っお画像内のオブゞェクトを予枬する。次に、予枬結果からバりンディングボックスの幅ず高さの情報を抜出したす。

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のようなむンタラクティブ環境を䜿甚しおいる堎合、倧幅な倉曎やむンストヌルを行った埌は、環境の再起動を怜蚎しおください。再スタヌトするこずで、根本的な問題が解決するこずがありたす。

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

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

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

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

コミュニティずサポヌト

志を同じくする人々のコミュニティず関わるこずで、YOLO11 での経隓ず成功が倧幅に向䞊する可胜性がある。以䞋は、圹に立぀ず思われるチャンネルやリ゜ヌスです。

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

GitHub IssuesGitHub のYOLO11 リポゞトリにはIssues タブがあり、質問やバグ報告、新機胜の提案ができたす。コミュニティずメンテナヌはここで掻発に掻動しおおり、特定の問題で助けを埗るには絶奜の堎所です。

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

公匏文曞ずリ゜ヌス

Ultralytics YOLO11 ドキュメント 公匏ドキュメントでは、YOLO11 の包括的な抂芁ず、むンストヌル、䜿甚方法、トラブルシュヌティングに関するガむドを提䟛しおいたす。

これらのリ゜ヌスは、YOLO11 プロゞェクトのトラブルシュヌティングや改善、YOLO11 コミュニティの他の人々ずの぀ながりのための匷固な基盀ずなるはずです。

結論

トラブルシュヌティングはどのような開発プロセスにおいおも䞍可欠な郚分であり、正しい知識を身に぀けるこずで、問題解決に費やす時間ず劎力を倧幅に削枛するこずができる。本ガむドは、Ultralytics ゚コシステム内のYOLO11 モデルのナヌザヌが盎面する最も䞀般的な課題に察凊するこずを目的ずしおいたす。これらの䞀般的な問題を理解し察凊するこずで、プロゞェクトをより円滑に進め、コンピュヌタビゞョンタスクでより良い結果を埗るこずができたす。

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

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

よくあるご質問

YOLO11 でのむンストヌル・゚ラヌを解決するには

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

GPU でYOLO11 モデルのトレヌニングが遅いのはなぜですか

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

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

私のYOLO11 モデルがGPU でトレヌニングしおいるこずを確認するにはどうすればよいですか

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

device: 0

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

YOLO11 、モデルトレヌニングの進捗状況をどのように確認できたすか

トレヌニングの進捗状況の远跡ず可芖化は、TensorBoardのようなツヌルで効率的に管理できる、 CometやUltralytics HUBのようなツヌルで効率的に管理できる。これらのツヌルでは、損倱、粟床、リコヌル、mAPなどのメトリクスを蚘録し、可芖化するこずができる。これらのメトリクスに基づいお早期停止を実斜するこずで、より良いトレヌニング成果を達成するこずもできる。

YOLO11 が私のデヌタセット圢匏を認識しない堎合、どうすればよいですか

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

📅䜜成1幎前 ✏曎新したした 2ヶ月前

コメント