Ultralytics Pythonパッケージのデータ収集#
概要#
Ultralyticsは、ユーザーエクスペリエンスと、開発中の高度なYOLOモデルを含むPythonパッケージの機能を継続的に改善することに取り組んでいます。改善の機会を特定し、ソフトウェアの信頼性を確保するため、匿名化された使用状況の統計情報とクラッシュレポートを収集しています。この透明性に関する文書では、収集するデータ、その目的、およびデータ収集に関する選択肢について説明します。
匿名化されたGoogle Analytics#
Google Analyticsは、Googleが提供するウェブ解析サービスで、ウェブサイトのトラフィックを追跡してレポートします。Pythonパッケージの使用状況に関するデータを収集できるため、設計や機能について十分な情報に基づいて判断するうえで役立ちます。
収集するデータ#
- 使用状況の指標: パッケージの使用頻度や使われ方、よく利用される機能、一般的なコマンドライン引数を把握するのに役立ちます。
- システム情報: さまざまなシステムでパッケージが適切に動作するよう、コンピューティング環境に関する一般的な非識別情報を収集します。
- パフォーマンスデータ: トレーニング、検証、推論時のモデルのパフォーマンスを把握することで、最適化の機会を特定できます。
Google Analyticsとデータプライバシーの詳細については、Google Analyticsのプライバシーをご覧ください。
データの使用方法#
- 機能の改善: 使用状況の指標から得られる知見をもとに、ユーザー満足度とインターフェース設計の向上を図ります。
- 最適化: パフォーマンスデータを活用し、多様なハードウェアおよびソフトウェア構成で効率と速度が向上するよう、モデルを微調整します。
- 傾向分析: 使用状況の傾向を調査することで、コミュニティのニーズの変化を予測し、それに対応できます。
プライバシーに関する考慮事項#
お客様からお預かりしたデータのプライバシーとセキュリティを確保するため、複数の対策を講じています。
- 匿名化: Google Analyticsで収集データを匿名化するよう設定しているため、個人を特定できる情報(PII)は収集されません。個人情報がプライベートに保たれるため、安心して当社のサービスをご利用いただけます。
- 集計: データは集計された形式でのみ分析されます。この方法により、個々のユーザーの行動を明らかにすることなく、傾向を把握できます。
- 画像データの非収集: Ultralyticsは、トレーニング画像や推論画像を収集、処理、閲覧しません。
Sentryによるクラッシュレポート#
Sentryは、リアルタイムで問題を特定、診断、解決し、アプリケーションの堅牢性と信頼性を確保する、開発者向けのエラー追跡ソフトウェアです。当社のパッケージでは、クラッシュレポートを通じて分析情報を提供する重要な役割を果たし、ソフトウェアの安定性と継続的な改善に大きく貢献しています。
Sentryによるクラッシュレポートは、sentry-sdk Pythonパッケージがシステムに事前インストールされている場合にのみ有効になります。このパッケージはultralyticsの前提条件に含まれておらず、Ultralyticsによって自動的にインストールされることもありません。
収集するデータ#
クラッシュレポートは、sentry-sdkパッケージがすでにインストールされており、設定でsync=Trueが指定され、Ultralyticsがpipからインストールされていて(git cloneではなく)、yolo CLIコマンドの実行中にクラッシュが発生した場合にのみ送信されます。クラッシュレポートには、次の情報が含まれる場合があります。
- エラーメッセージとスタックトレース: クラッシュ発生時の例外メッセージとスタックトレース。
- 実行時のコンテキスト: Ultralyticsのバージョン、オペレーティングシステム/環境、インストール方法、匿名化されたインストールID、
yolo実行ファイルのパス、マシンのホスト名、およびインストール済みPythonパッケージのバージョン。
Sentryによるデータの取り扱いについては、Sentryのプライバシーポリシーをご覧ください。
データの使用方法#
- デバッグ: クラッシュログとエラーメッセージを分析することで、ソフトウェアのバグを迅速に特定して修正できます。
- 安定性の指標: クラッシュを継続的に監視し、パッケージの安定性と信頼性の向上を目指します。
プライバシーに関する考慮事項#
- 除外されるデータ: ローカル変数とコマンドラインオプションは含まれません。また、キーボード割り込み、ファイル欠落エラー、メモリ不足エラーは報告されません。ただし、エラーメッセージやスタックトレースにシステム上のファイルパスが含まれる場合があります。
- 収集範囲の制限: クラッシュレポートは上記のクラッシュコンテキストに限定され、
sync=Falseの場合は無効になります。
データ収集の無効化#
当社は、ユーザーがデータを完全に管理できるようにすることを重視しています。デフォルトでは、すべてのユーザーのエクスペリエンス向上に役立てるため、パッケージは分析データとクラッシュレポートを収集するよう設定されています。ただし、このデータ収集をオプトアウトしたいユーザーがいることも尊重しています。
分析データとクラッシュレポートの送信をオプトアウトするには、YOLOの設定でsync=Falseを設定するだけです。これにより、お使いのマシンから当社の分析ツールにデータが送信されなくなります。
設定の確認#
現在の設定内容を確認するには、設定を直接表示できます。
Pythonを使用して設定を表示できます。まず、ultralyticsモジュールからsettingsオブジェクトをインポートします。以下のコマンドで設定を出力して返します。
from ultralytics import settings
# すべての設定を表示
print(settings)
# 分析データとクラッシュレポートの設定を返す
value = settings["sync"]設定の変更#
Ultralyticsでは、ユーザーが設定を簡単に変更できます。変更方法は次のとおりです。
Python環境で、settingsオブジェクトのupdateメソッドを呼び出して設定を変更します。
from ultralytics import settings
# 分析データとクラッシュレポートを無効化
settings.update({"sync": False})
# 設定をデフォルト値にリセット
settings.reset()sync=False設定により、Google AnalyticsやSentryへのデータ送信をすべて防止できます。Ultralyticsパッケージを使用するすべてのセッションで設定が適用され、今後のセッションに備えてディスクに保存されます。
プライバシーへの取り組み#
Ultralyticsはユーザーのプライバシーを重視しています。データ収集の方法は、次の原則に基づいて設計されています。
- 透明性: 収集するデータとその使用方法について、明確に説明します。
- 管理: ユーザーがデータを完全に管理できるようにします。
- セキュリティ: 収集データを保護するため、業界標準のセキュリティ対策を講じています。
ご質問・ご懸念#
データ収集の方法についてご質問やご懸念がある場合は、お問い合わせフォームまたはsupport@ultralytics.comからご連絡ください。当社は、ユーザーがパッケージを利用する際に、プライバシーについて十分な情報を得て安心できるよう努めています。
よくある質問#
Ultralyticsは、複数の重要な対策を通じてユーザーのプライバシーを優先しています。まず、Google AnalyticsとSentryを通じて収集されるすべてのデータは匿名化され、個人を特定できる情報(PII)は収集されません。次に、データは集計された形式で分析されるため、個々のユーザーの行動を特定せずに傾向を把握できます。最後に、ユーザーデータをさらに保護するため、トレーニング画像や推論画像は一切収集しません。これらの対策は、透明性とプライバシーへの取り組みに沿ったものです。詳細については、プライバシーに関する考慮事項のセクションをご覧ください。
Ultralyticsは、Google Analyticsを使用して、主に次の3種類のデータを収集します。
- 使用状況の指標: YOLO Pythonパッケージの使用頻度や使われ方、よく利用される機能、一般的なコマンドライン引数が含まれます。
- システム情報: パッケージが実行されるコンピューティング環境に関する、一般的な非識別情報です。
- パフォーマンスデータ: トレーニング、検証、推論時のモデルのパフォーマンスに関する指標です。
このデータは、ユーザーエクスペリエンスの向上とソフトウェアパフォーマンスの最適化に役立ちます。詳細については、匿名化されたGoogle Analyticsのセクションをご覧ください。
データ収集をオプトアウトするには、YOLOの設定で
sync=Falseを設定するだけです。この操作により、分析データやクラッシュレポートが送信されなくなります。PythonまたはCLIを使用して、データ収集を無効にできます。設定を更新from ultralytics import settings # 分析データとクラッシュレポートを無効化 settings.update({"sync": False}) # 設定をデフォルト値にリセット settings.reset()設定の変更について詳しくは、設定の変更のセクションをご覧ください。
sentry-sdkパッケージが事前インストールされている場合、Sentryはクラッシュ発生時に詳細なクラッシュログとエラーメッセージを収集します。このデータは問題の迅速な診断と解決に役立ち、YOLO Pythonパッケージの堅牢性と信頼性を高めます。収集されたクラッシュログからは、ユーザーのプライバシーを保護するため、個人を特定できる情報が除去されます。詳細については、Sentryによるクラッシュレポートのセクションをご覧ください。はい。現在の設定を簡単に表示して、データ収集に関する設定内容を確認できます。次の方法で設定を確認してください。
設定を表示from ultralytics import settings # すべての設定を表示 print(settings) # 分析データとクラッシュレポートの設定を返す value = settings["sync"]詳細については、設定の確認のセクションを参照してください。