参考 ultralytics/utils/__init__.py
注
このファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ ultralytics/utils/init.py にあります。もし問題を発見したら、Pull Request🛠️ を投稿して修正にご協力ください。ありがとうございました!
ultralytics.utils.TQDM
ベース: tqdm
Ultralytics tqdm のカスタムクラスで、デフォルトの引数が異なります。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
*args |
list
|
オリジナルのtqdmに渡される位置引数。 |
()
|
**kwargs |
any
|
キーワード引数。カスタムのデフォルトが適用される。 |
{}
|
ソースコード ultralytics/utils/__init__.py
__init__(*args, **kwargs)
カスタムのUltralytics tqdm クラスを異なるデフォルト引数で初期化する。
これらはTQDMを呼び出すときにオーバーライドできる。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.SimpleClass
Ultralytics SimpleClass は、デバッグに役立つ文字列表現、エラー報告、属性アクセスメソッドを提供する基本クラスです。 アクセスメソッドを提供する基底クラスです。
ソースコード ultralytics/utils/__init__.py
__getattr__(attr)
カスタム属性アクセスエラーメッセージ
__repr__()
__str__()
オブジェクトを人間が読める文字列表現で返します。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.IterableSimpleNamespace
ベース: SimpleNamespace
Ultralytics IterableSimpleNamespaceはSimpleNamespaceの拡張クラスで、反復可能な機能を追加し、dict()やforループでの使用を可能にします。 dict() や for ループで使用できるようになります。
ソースコード ultralytics/utils/__init__.py
__getattr__(attr)
カスタム属性アクセスエラーメッセージ
ソースコード ultralytics/utils/__init__.py
__iter__()
__str__()
ultralytics.utils.ThreadingLocked
関数やメソッドのスレッドセーフな実行を保証するデコレーター・クラス。このクラスは として使用することができます。デコレートされた関数が複数のスレッドからコールされた場合、 一度にひとつのスレッドだけがその関数を実行できるようにします。 が関数を実行できるようにします。
属性:
名称 | タイプ | 説明 |
---|---|---|
lock |
Lock
|
装飾された関数へのアクセスを管理するためのロックオブジェクト。 |
例
ソースコード ultralytics/utils/__init__.py
__call__(f)
関数やメソッドをスレッドセーフに実行する。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.TryExcept
ベース: ContextDecorator
Ultralytics TryExcept クラス。TryExcept() デコレーターまたは 'with TryExcept():' コンテキストマネージャーとして使用します。
例を挙げよう:
装飾家として:
>>> @TryExcept(msg="Error occurred in func", verbose=True)
>>> def func():
>>> # Function logic here
>>> pass
コンテキスト・マネージャーとして:
ソースコード ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, value, traceback)
with'ブロックを抜けるときの動作を定義し、必要に応じてエラーメッセージを表示する。
ultralytics.utils.Retry
ベース: ContextDecorator
指数バックオフによる関数実行のための再試行クラス。
デコレーターやコンテキスト・マネージャーとして使用し、例外発生時に関数やコード・ブロックを再試行することができる。 再試行間の遅延は指数関数的に増加します。
例を挙げよう:
デコレーターとしての使用例:
>>> @Retry(times=3, delay=2)
>>> def test_func():
>>> # Replace with function logic that may raise exceptions
>>> return True
コンテキスト・マネージャーとしての使用例:
ソースコード ultralytics/utils/__init__.py
__call__(func)
指数関数的バックオフによる再試行のためのデコレータ実装。
ソースコード ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, exc_value, traceback)
このオブジェクトに関連するランタイムコンテキストを指数関数バックオフで終了する。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.SettingsManager
ベース: dict
YAML ファイルに保存されたUltralytics 設定を管理する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
file |
str | Path
|
Ultralytics 設定 YAML ファイルへのパス。デフォルトはUSER_CONFIG_DIR / 'settings.yaml'です。 |
SETTINGS_YAML
|
version |
str
|
設定バージョン。ローカルのバージョンが不一致の場合、新しいデフォルト設定が保存されます。 |
'0.0.4'
|
ソースコード ultralytics/utils/__init__.py
955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 |
|
__init__(file=SETTINGS_YAML, version='0.0.4')
デフォルトの設定でSettingsManagerを初期化し、現在の設定をYAML ファイルから現在の設定をロードして検証します。
ソースコード ultralytics/utils/__init__.py
load()
reset()
save()
ultralytics.utils.plt_settings(rcparams=None, backend='Agg')
rcパラメータとプロット関数のバックエンドを一時的に設定するためのデコレータ。
例
decorator: @plt_settings({"font.size": 12}) context manager: with plt_settings({"font.size": 12}):
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
rcparams |
dict
|
設定するrcパラメータの辞書。 |
None
|
backend |
str
|
使用するバックエンドの名前。デフォルトは 'Agg' です。 |
'Agg'
|
リターンズ
タイプ | 説明 |
---|---|
Callable
|
一時的に設定された rc パラメータとバックエンドを持つ装飾関数。このデコレータは このデコレータは、実行時に特定の matplotlib rc パラメータとバックエンドを必要とする関数に適用できます。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.set_logging(name='LOGGING_NAME', verbose=True)
与えられた名前のログをUTF-8エンコーディングのサポートで設定します。 を設定します。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.emojis(string='')
ultralytics.utils.yaml_save(file='data.yaml', data=None, header='')
YAMLデータをファイルに保存する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
file |
str
|
ファイル名。デフォルトは'data.yaml'です。 |
'data.yaml'
|
data |
dict
|
YAML形式で保存するデータ。 |
None
|
header |
str
|
追加するYAMLヘッダー。 |
''
|
リターンズ
タイプ | 説明 |
---|---|
None
|
データは指定されたファイルに保存される。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.yaml_load(file='data.yaml', append_filename=False)
ファイルからYAMLデータをロードする。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
file |
str
|
ファイル名。デフォルトは'data.yaml'です。 |
'data.yaml'
|
append_filename |
bool
|
YAML ファイル名を YAML 辞書に追加します。デフォルトは False です。 |
False
|
リターンズ
タイプ | 説明 |
---|---|
dict
|
YAMLデータとファイル名。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.yaml_print(yaml_file)
YAMLファイルもしくはYAMLフォーマットの辞書を表示します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
yaml_file |
Union[str, Path, dict]
|
YAMLファイルまたはYAMLフォーマットの辞書のファイルパス。 |
必須 |
リターンズ
タイプ | 説明 |
---|---|
None
|
なし |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.read_device_model()
システムからデバイス・モデル情報を読み込み、素早くアクセスできるようにキャッシュする。is_jetson() および is_raspberrypi() で使用される。
リターンズ
タイプ | 説明 |
---|---|
str
|
読み込みに成功した場合はモデルファイルの内容、そうでない場合は空文字列。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_ubuntu()
OSがUbuntuかどうかを確認する。
リターンズ
タイプ | 説明 |
---|---|
bool
|
OSがUbuntuの場合は真、そうでない場合は偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_colab()
現在のスクリプトがGoogle Colabノートブック内で実行されているかどうかを確認します。
リターンズ
タイプ | 説明 |
---|---|
bool
|
Colabノートブック内で実行されている場合は真、そうでない場合は偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_kaggle()
現在のスクリプトがKaggleカーネル内で実行されているかどうかを確認します。
リターンズ
タイプ | 説明 |
---|---|
bool
|
Kaggleカーネル内で実行されている場合は真、そうでない場合は偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_jupyter()
現在のスクリプトがJupyter Notebook内で実行されているかどうかをチェックする。Colab, Jupyterlab, Kaggle,Paperspace で検証済み。
リターンズ
タイプ | 説明 |
---|---|
bool
|
Jupyterノートブック内で実行されている場合はTrue、そうでない場合はFalse。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_docker()
スクリプトがDockerコンテナ内で実行されているかどうかを判断する。
リターンズ
タイプ | 説明 |
---|---|
bool
|
スクリプトがDockerコンテナ内で実行されている場合はTrue、そうでない場合はFalse。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_raspberrypi()
デバイスのモデル情報をチェックすることで、Python 環境が Raspberry Pi 上で動作しているかどうかを判断します。
リターンズ
タイプ | 説明 |
---|---|
bool
|
Raspberry Pi上で動作していればTrue、そうでなければFalse。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_jetson()
Python 環境が Jetson Nano または Jetson Orin デバイス上で動作しているかどうかを、デバイスのモデル情報 情報をチェックします。
リターンズ
タイプ | 説明 |
---|---|
bool
|
Jetson NanoまたはJetson Orinで動作している場合は真、そうでない場合は偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_online()
既知のオンラインホストに接続して、インターネット接続を確認する。
リターンズ
タイプ | 説明 |
---|---|
bool
|
接続に成功すれば真、そうでなければ偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_pip_package(filepath=__name__)
指定された filepath にあるファイルが pip パッケージの一部であるかどうかを判定します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
filepath |
str
|
チェックするファイルパス。 |
__name__
|
リターンズ
タイプ | 説明 |
---|---|
bool
|
ファイルがpipパッケージの一部であればTrue、そうでなければFalse。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_dir_writeable(dir_path)
ディレクトリが書き込み可能かどうかをチェックする。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
dir_path |
str | Path
|
ディレクトリへのパス。 |
必須 |
リターンズ
タイプ | 説明 |
---|---|
bool
|
ディレクトリが書き込み可能であれば真、そうでなければ偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_pytest_running()
pytest が現在実行中かどうかを判定します。
リターンズ
タイプ | 説明 |
---|---|
bool
|
pytest が実行されていれば真、そうでなければ偽。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_github_action_running()
現在の環境がGitHub Actions runnerかどうかを判断する。
リターンズ
タイプ | 説明 |
---|---|
bool
|
現在の環境が GitHub Actions runner の場合は True、そうでない場合は False。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_git_dir()
現在のファイルが git リポジトリの一部であるかどうかを判断し、もしそうならリポジトリのルートディレクトリを返します。もし 現在のファイルが git リポジトリの一部でない場合は None を返します。
リターンズ
タイプ | 説明 |
---|---|
Path | None
|
見つかればGitルート・ディレクトリ、見つからなければNone。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.is_git_dir()
現在のファイルが git リポジトリの一部であるかどうかを判断します。現在のファイルが git リポジトリの一部でない場合は None を返します。
リターンズ
タイプ | 説明 |
---|---|
bool
|
現在のファイルが git リポジトリの一部であれば真。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_git_origin_url()
git リポジトリのオリジン URL を取得します。
リターンズ
タイプ | 説明 |
---|---|
str | None
|
gitリポジトリのオリジンURL、またはgitディレクトリでない場合はNone。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_git_branch()
現在の git ブランチ名を返します。git リポジトリにない場合は None を返します。
リターンズ
タイプ | 説明 |
---|---|
str | None
|
現在の git ブランチ名。git ディレクトリでない場合は None。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_default_args(func)
関数のデフォルト引数の辞書を返します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
func |
callable
|
検査する関数。 |
必須 |
リターンズ
タイプ | 説明 |
---|---|
dict
|
各キーがパラメータ名で、各値がそのパラメータのデフォルト値である辞書。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_ubuntu_version()
OSがUbuntuの場合、Ubuntuのバージョンを取得する。
リターンズ
タイプ | 説明 |
---|---|
str
|
Ubuntuバージョン、またはUbuntu OSでない場合はなし。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.get_user_config_dir(sub_dir='Ultralytics')
環境のオペレーティング・システムに応じて、適切な設定ディレクトリを返します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
sub_dir |
str
|
作成するサブディレクトリの名前。 |
'Ultralytics'
|
リターンズ
タイプ | 説明 |
---|---|
Path
|
ユーザー設定ディレクトリへのパス。 |
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.colorstr(*input)
指定された色とスタイルの引数に基づいて文字列を着色する。ANSIエスケープコードを使用します。 詳細は https://en.wikipedia.org/wiki/ANSI_escape_code を参照。
この関数は2つの方法で呼び出すことができる。
- colorstr('色', 'スタイル', 'あなたの文字列')
- colorstr('あなたの文字列')
つ目のフォームでは、デフォルトで「青」と「太字」が適用される。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
*input |
str
|
文字列のシーケンスで、最初のn-1文字列は色とスタイルの引数です、 最後の文字列が色付けされる文字列。 |
()
|
対応カラーとスタイル
基本色:「黒」、「赤」、「緑」、「黄」、「青」、「マゼンタ」、「シアン」、「白 明るい色: 'bright_black', 'bright_red', 'bright_green', 'bright_yellow'、 'bright_blue', 'bright_magenta', 'bright_cyan', 'bright_white'. その他:'end'、'bold'、'underline'
リターンズ
タイプ | 説明 |
---|---|
str
|
指定された色とスタイルのANSIエスケープコードでラップされた入力文字列。 |
例を挙げよう:
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.remove_colorstr(input_string)
文字列からANSIエスケープコードを削除し、事実上色付けを解除する。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
input_string |
str
|
色とスタイルを削除する文字列。 |
必須 |
リターンズ
タイプ | 説明 |
---|---|
str
|
ANSIエスケープコードをすべて取り除いた新しい文字列。 |
例を挙げよう:
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.threaded(func)
デフォルトでターゲット関数をマルチスレッド化し、スレッドまたは関数の結果を返します。
threadedデコレーターとして使用する。threaded=False' が渡されない限り、関数は別のスレッドで実行されます。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.set_sentry()
エラー追跡と報告用にSentry SDKを初期化する。sentry_sdkパッケージがインストールされ、設定に settingsにsync=Trueが設定されている場合のみ使用されます。yolo settings'を実行して、設定のYAMLファイルを確認し、更新します。
エラー送信に必要な条件(すべての条件を満たす必要があります:) - sentry_sdkパッケージがインストールされている -YOLO 。 - pytestが実行されていない - pipパッケージがインストールされている - 非gitディレクトリで実行されている - ランク -1 または 0 で動作している - オンライン環境 -CLI がパッケージの実行に使用されている(メインのCLI コマンド名として 'yolo' でチェックされます)。
この関数はまた、Sentry SDKがKeyboardInterruptとFileNotFoundErrorを無視するように設定します。 例外を無視し、例外メッセージに 'out of memory' を含むイベントを除外するように設定します。
さらに、この機能は、Sentryイベントのカスタムタグとユーザー情報を設定します。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.deprecation_warn(arg, new_arg, version=None)
非推奨の引数が使用されている場合、非推奨の警告を発行し、引数の更新を提案する。
ソースコード ultralytics/utils/__init__.py
ultralytics.utils.clean_url(url)
つまり、https://url.com/file.txt?auth -> https://url.com/file.txt。