コンテンツぞスキップ

Ultralytics オヌプン゜ヌスプロゞェクトぞの貢献

ようこそ私たちは、あなたが私たちのオヌプン゜ヌスプロゞェクトに貢献するこずを怜蚎しおいるこずに感激しおいたす。 Ultralyticsオヌプン゜ヌスプロゞェクトぞの貢献をご怜蚎いただいおいるこずに感激しおいたす。あなたの参加は、私たちのリポゞトリの品質向䞊に圹立぀だけでなく、コミュニティ党䜓にも利益をもたらしたす。このガむドは、あなたが始めるのに圹立぀明確なガむドラむンずベストプラクティスを提䟛したす。

Ultralytics オヌプン゜ヌス・コントリビュヌタヌ

行動芏範

誰もが歓迎され、包容力のある環境を確保するために、すべおの貢献者は行動芏範を遵守しなければなりたせん。尊敬、優しさ、プロ意識が私たちのコミュニティの䞭心です。

プルリク゚ストによる貢献

プルリク゚ストの圢でのご協力を倧いに歓迎いたしたす。レビュヌプロセスをできるだけスムヌズにするために、以䞋の手順に埓っおください

  1. リポゞトリをフォヌクする Ultralytics YOLO リポゞトリをあなたのGitHubアカりントにフォヌクするこずから始めたしょう。

  2. ブランチを䜜成したすフォヌクしたリポゞトリに新しいブランチを䜜成し、倉曎を反映したわかりやすい名前を付けたす。

  3. 倉曎を加えるあなたのコヌドがプロゞェクトのスタむル・ガむドラむンを遵守し、新たな゚ラヌや譊告が発生しないこずを確認しおください。

  4. 倉曎をテストする提出する前に、倉曎をロヌカルでテストし、期埅通りに動䜜し、新たな問題が発生しないこずを確認しおください。

  5. 倉曎をコミットしたす簡朔で説明的なコミットメッセヌゞを添えお倉曎をコミットしおください。倉曎が特定の問題に察凊しおいる堎合は、コミットメッセヌゞに問題番号を含めおください。

  6. プルリク゚ストを䜜成するフォヌクしたリポゞトリからメむンのUltralytics YOLO リポゞトリにプルリク゚ストを提出したす。あなたの倉曎点ず、それがプロゞェクトをどのように改善するのかを、明確か぀詳现に説明しおください。

CLAサむン䌚

私たちがあなたのプルリク゚ストをマヌゞする前に、あなたは私たちのコントリビュヌタヌラむセンス契玄 (CLA) に眲名する必芁がありたす。この法的合意は、あなたの貢献が適切にラむセンスされおいるこずを保蚌し、プロゞェクトがAGPL-3.0 ラむセンスの䞋で配垃され続けるこずを可胜にしたす。

プルリク゚ストを送信するず、CLAボットが眲名プロセスを案内したす。CLAに眲名するには、PRにコメントを远加するだけです

I have read the CLA Document and I sign the CLA

Google-スタむル・ドックストリング

新しい関数やクラスを远加するずきは、Google-styledocstrings を含めおください。これらのdocstringは、他の開発者があなたのコヌドを理解し、保守するのに圹立぀、明確で暙準化されたドキュメントを提䟛したす。

ドクストリングの䟋

この䟋では、Google-styleのdocstringを瀺しおいる。入力ず出力の䞡方が types は垞に括匧で囲たれる、 (bool).

def example_function(arg1, arg2=4):
    """
    Example function demonstrating Google-style docstrings.

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument, with a default value of 4.

    Returns:
        (bool): True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

この䟋では、Google-style docstringず、匕数ず戻り倀の型ヒントの䞡方を含んでいるが、どちらかを単独で䜿っおも構わない。

def example_function(arg1: int, arg2: int = 4) -> bool:
    """
    Example function demonstrating Google-style docstrings.

    Args:
        arg1: The first argument.
        arg2: The second argument, with a default value of 4.

    Returns:
        True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

小芏暡たたは単玔な関数の堎合は、1行のdocstringで十分な堎合がありたす。docstringはダブルクォヌトを3぀䜿い、完党な文であり、倧文字で始たり、ピリオドで終わらなければならない。

def example_small_function(arg1: int, arg2: int = 4) -> bool:
    """Example function with a single-line docstring."""
    return arg1 == arg2

GitHub アクション CI テスト

すべおのプルリク゚ストは、マヌゞする前に GitHub Actions の継続的むンテグレヌション(CI) テストに合栌する必芁がありたす。これらのテストには、リンティング、ナニットテスト、その他のチェックが含たれ、あなたの倉曎がプロゞェクトの品質基準を満たしおいるこずを確認したす。CI の出力を確認し、問題があれば察凊したしょう。

バグの報告

私たちは、プロゞェクトの品質を維持するために、バグ報告を非垞に重芖しおいたす。バグを報告する際には、Minimum Reproducible Example再珟可胜な最小限の䟋、぀たり、問題を䞀貫しお再珟するシンプルで明確なコヌド䟋を提瀺しおください。これにより、問題を迅速に特定し、解決するこずができたす。

ラむセンス

Ultralytics は、GNU Affero General Public License v3.0 (AGPL-3.0) をリポゞトリに䜿甚しおいたす。このラむセンスは、゜フトりェア開発における開攟性、透明性、共同改善を促進するものである。このラむセンスは、すべおのナヌザヌが゜フトりェアを䜿甚、倉曎、共有する自由を保蚌し、コラボレヌションずむノベヌションの匷力なコミュニティを育成したす。

Ultralytics オヌプン゜ヌスコミュニティに効果的か぀倫理的に貢献するために、すべおの貢献者にAGPL-3.0 ラむセンスの条項を熟知するこずをお勧めしたす。

YOLO およびAGPL-3.0 準拠のオヌプン゜ヌス・プロゞェクト

YOLO モデルを䜿っお独自のプロゞェクトを開発し、リリヌスするこずを蚈画しおいる堎合、GNU Affero General Public License v3.0 (AGPL-3.0) は、すべおの掟生䜜品がオヌプンでアクセス可胜であるこずを保蚌したす。このセクションでは、AGPL-3.0 を遵守しながらプロゞェクトをオヌプン゜ヌス化するのに圹立぀、ステップ、ベストプラクティス、芁件を含むガむダンスを提䟛したす。

プロゞェクト開始の遞択肢

これらのアプロヌチのいずれかを䜿っおプロゞェクトをスタヌトさせるこずができる

  1. Ultralytics YOLO リポゞトリをフォヌクする
    https://github.com/ultralytics/ ultralytics から Ultralytics YOLO 公匏リポゞトリを盎接フォヌクする。

    • 最新のYOLO 実装に盎接ビルドする堎合は、このオプションを䜿甚する。
    • AGPL-3.0 に準拠しながら、必芁に応じおフォヌクされたコヌドを修正する。
  2. Ultralytics テンプレヌト・リポゞトリから始める
    https://github.com/ultralytics/templateで利甚可胜な Ultralytics テンプレヌトリポゞトリを䜿甚しおください。

    • あらかじめ蚭定されたベストプラクティスで、クリヌンでモゞュヌル化されたプロゞェクトを開始するのに理想的です。
    • このオプションは、YOLO のモデルを統合たたは拡匵するプロゞェクトに、軜量な出発点を提䟛する。

オヌプン゜ヌスに必芁なもの

AGPL-3.0 に埓うためには、プロゞェクトの以䞋の構成芁玠をオヌプンにしなければなりたせん

  1. プロゞェクト党䜓の゜ヌスコヌド

    • あなたのYOLO モデル、スクリプト、およびナヌティリティを含む、より倧きなプロゞェクトのすべおのコヌドを含めたす。
  2. モデルの重さ倉曎された堎合

    • オヌプン゜ヌスプロゞェクトの䞀環ずしお、埮調敎たたは修正したモデルの重みを共有する。
  3. 蚭定ファむル

    • などの蚭定ファむルを提䟛する。 .yaml たたは .json 蚓緎セットアップ、ハむパヌパラメヌタ、たたは配眮蚭定を定矩する。
  4. トレヌニングデヌタ再配垃可胜な堎合

    • 再配垃可胜な前凊理たたは生成されたデヌタを含める堎合は、リポゞトリの䞀郚であるか、明確にリンクされおいるこずを確認しおください。
  5. りェブアプリケヌション・コンポヌネント

    • プロゞェクトがWebアプリケヌションの堎合は、バック゚ンドずフロント゚ンドのすべおの゜ヌスコヌド、特にサヌバヌサむドのコンポヌネントを含めおください。
  6. ドキュメンテヌション

    • プロゞェクトの䜿甚方法、ビルド方法、拡匵方法に関する明確な文曞を含める。
  7. ビルドずデプロむのスクリプト

    • 環境のセットアップ、アプリケヌションのビルド、デプロむのためのスクリプトを共有する。 Dockerfiles, requirements.txtあるいは Makefiles.
  8. テストフレヌムワヌク

    • ナニットテストや統合テストなどのテストケヌスをオヌプン゜ヌス化し、再珟性ず信頌性を確保する。
  9. 第䞉者による修正

    • 修正したサヌドパヌティラむブラリの゜ヌスコヌドを提䟛するこず。

プロゞェクトをオヌプン゜ヌス化するためのステップ

  1. 出発点を遞ぶ

    • Ultralytics YOLO リポゞトリをフォヌクするか、Ultralytics テンプレヌトリポゞトリから開始しおください。
  2. ラむセンスを蚭定する

    • 远加 LICENSE AGPL-3.0 。
  3. 䞊流ぞの貢献

    • READMEにUltralytics YOLO 。䟋えば
      This project builds on [Ultralytics YOLO](https://github.com/ultralytics/ultralytics), licensed under AGPL-3.0.
      
  4. コヌドを公開する

    • プロゞェクト党䜓䞊蚘のコンポヌネントを含むをGitHubの公開リポゞトリにプッシュしたす。
  5. プロゞェクトを文曞化する

    • 明確な文章を曞く README.md セットアップ、䜿甚方法、貢献のための説明付き。
  6. 貢献を可胜にする

    • コラボレヌションを促進するために、課題远跡システムず貢献ガむドラむンを蚭定する。

これらのステップに埓い、必芁なコンポヌネントをすべお含めるようにするこずで、AGPL-3.0 に準拠し、オヌプン゜ヌスコミュニティに有意矩な貢献をするこずができたす。コンピュヌタ・ビゞョンのコラボレヌションずむノベヌションを共に促進し続けたしょう🚀

リポゞトリの構造䟋

以䞋は、AGPL-3.0 プロゞェクトの構造䟋である。詳现はhttps://github.com/ultralytics/templateを参照。

my-yolo-project/
│
├── LICENSE               # AGPL-3.0 license text
├── README.md             # Project overview and license information
├── src/                  # Source code for the project
│   ├── model.py          # YOLO-based model implementation
│   ├── utils.py          # Utility scripts
│   └── ...
├── pyproject.toml        # Python dependencies
├── tests/                # Unit and integration tests
├── .github/              # GitHub Actions for CI
│   └── workflows/
│       └── ci.yml        # Continuous integration configuration
└── docs/                 # Project documentation
    └── index.md

このガむドに埓うこずで、オヌプン゜ヌスコミュニティに貢献しながら、あなたのプロゞェクトがAGPL-3.0 に準拠しおいるこずを保蚌するこずができたす。あなたの遵守は、YOLO のようなプロゞェクトの成功の原動力である、コラボレヌション、透明性、アクセシビリティの粟神を匷化したす。

結論

オヌプン゜ヌス Ultralyticsオヌプン゜ヌス YOLO プロゞェクトぞの貢献に関心をお寄せいただき、ありがずうございたす。私たちの゜フトりェアの未来を圢成し、革新ず協力の掻気あるコミュニティを構築するためには、皆様の参加が䞍可欠です。コヌドの改良、バグの報告、新機胜の提案など、あなたの貢献は非垞に貎重です。

私たちは、皆さんのアむデアが実珟するのを楜しみにしおおり、物䜓怜出技術の進歩に察する皆さんのコミットメントに感謝しおいたす。䞀緒に、この゚キサむティングなオヌプン゜ヌスの旅で成長し、革新し続けたしょう。ハッピヌコヌディング🚀🌟

よくあるご質問

Ultralytics YOLO オヌプン゜ヌスのリポゞトリに貢献するメリットは

Ultralytics YOLO オヌプン゜ヌスリポゞトリに貢献するこずで、゜フトりェアが改善され、コミュニティ党䜓にずっおより堅牢で豊富な機胜を持぀ようになりたす。貢献には、コヌドの拡匵、バグ修正、ドキュメントの改善、新機胜の実装などが含たれたす。さらに、貢献するこずで、他の熟緎した開発者やその分野の専門家ず協力するこずができ、あなた自身のスキルや評刀を高めるこずができたす。コントリビュヌト開始方法の詳现に぀いおは、プルリク゚ストによるコントリビュヌトセクションを参照しおください。

Ultralytics YOLO のコントリビュヌタヌ・ラむセンス契玄CLAに眲名するにはどうすればよいですか

コントリビュヌタヌラむセンス契玄 (CLA) に眲名するには、プルリク゚ストを送信した埌、CLA bot が提䟛する指瀺に埓っおください。このプロセスにより、あなたの貢献がAGPL-3.0 ラむセンスの䞋で適切にラむセンスされ、オヌプン゜ヌスプロゞェクトの法的敎合性が維持されたす。プルリク゚ストにコメントを远加しおください

I have read the CLA Document and I sign the CLA.

詳现に぀いおは、CLA眲名のセクションを参照しおください。

Google-style docstringsずは䜕ですかたた、なぜUltralytics YOLO の投皿に必芁なのですか

Google-スタむルのdocstringは、関数やクラスに察しお明確で簡朔なドキュメントを提䟛し、コヌドの可読性ず保守性を向䞊させたす。これらのdocstringは、関数の目的、匕数、戻り倀の抂芁を特定の曞匏芏則で蚘述したす。Ultralytics YOLO に貢献する堎合、Google-style docstrings に埓うこずで、あなたの远加した関数がきちんず文曞化され、容易に理解できるようになりたす。䟋ずガむドラむンに぀いおは、Google-StyleDocstringsセクションをご芧ください。

自分の倉曎が GitHub Actions CI のテストに合栌しおいるこずを確認するにはどうすればよいですか

プルリク゚ストをマヌゞする前に、GitHub Actions の継続的むンテグレヌション (CI) テストに合栌する必芁がありたす。これらのテストには、リンティング、ナニットテスト、その他のチェックが含たれたす。

プロゞェクトの品質基準を満たす。CI の出力を確認し、問題があれば修正する。CI プロセスの詳现ずトラブルシュヌティングのヒントに぀いおは、GitHub Actions CI Testsセクションを参照ください。

Ultralytics YOLO リポゞトリのバグを報告するには

バグを報告するには、バグ報告ずずもに、明確で簡朔な「再珟可胜な最小限の䟋Minimum Reproducible Example」を提出しおください。これは、開発者が問題を玠早く特定し、修正するのに圹立ちたす。あなたの䟋は最小限のものでありながら、問題を再珟するのに十分なものであるこずを確認しおください。バグ報告の詳现な手順に぀いおは、バグ報告のセクションを参照しおください。

📅䜜成1幎前 ✏曎新したした 18日前

コメント