Referência para ultralytics/utils/checks.py
Nota
Este ficheiro está disponível em https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/checks .py. Se detectares um problema, por favor ajuda a corrigi-lo contribuindo com um Pull Request 🛠️. Obrigado 🙏!
ultralytics.utils.checks.parse_requirements(file_path=ROOT.parent / 'requirements.txt', package='')
Analisa um arquivo requirements.txt, ignorando as linhas que começam com '#' e qualquer texto após '#'.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
file_path |
Path
|
Caminho para o ficheiro requirements.txt. |
parent / 'requirements.txt'
|
package |
str
|
Python pacote a utilizar em vez do ficheiro requirements.txt, ou seja, package='ultralytics'. |
''
|
Devolve:
Tipo | Descrição |
---|---|
List[Dict[str, str]]
|
Lista de requisitos analisados como dicionários com |
Exemplo
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.parse_version(version='0.0.0')
Converte uma string de versão para uma tupla de inteiros, ignorando qualquer string extra não numérica anexada à versão. Esta função função substitui a depreciada 'pkg_resources.parse_version(v)'.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
version |
str
|
Cadeia de caracteres da versão, ou seja, '2.0.1+cpu' |
'0.0.0'
|
Devolve:
Tipo | Descrição |
---|---|
tuple
|
Terço de números inteiros que representam a parte numérica da versão e a cadeia extra, ou seja, (2, 0, 1) |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.is_ascii(s)
Verifica se uma cadeia de caracteres é composta apenas por caracteres ASCII.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
s |
str
|
Cadeia de caracteres a verificar. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verdadeiro se a cadeia for composta apenas por caracteres ASCII, Falso caso contrário. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0)
Verifica se o tamanho da imagem é um múltiplo da cadeia dada em cada dimensão. Se o tamanho da imagem não for um múltiplo da stride, actualiza-o para o múltiplo mais próximo da stride que seja maior ou igual ao valor do piso fornecido.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
imgsz |
int | cList[int]
|
Tamanho da imagem. |
necessário |
stride |
int
|
Valor da passada. |
32
|
min_dim |
int
|
Número mínimo de dimensões. |
1
|
max_dim |
int
|
Número máximo de dimensões. |
2
|
floor |
int
|
Valor mínimo permitido para o tamanho da imagem. |
0
|
Devolve:
Tipo | Descrição |
---|---|
List[int]
|
Actualiza o tamanho da imagem. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_version(current='0.0.0', required='0.0.0', name='version', hard=False, verbose=False, msg='')
Verifica a versão atual em relação à versão ou intervalo pretendido.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
current |
str
|
Versão atual ou nome do pacote a partir do qual obtém a versão. |
'0.0.0'
|
required |
str
|
Versão ou intervalo necessário (em formato estilo pip). |
'0.0.0'
|
name |
str
|
Nome a ser utilizado na mensagem de aviso. |
'version'
|
hard |
bool
|
Se for True, gera um AssertionError se o requisito não for cumprido. |
False
|
verbose |
bool
|
Se for Verdadeiro, imprime uma mensagem de aviso se o requisito não for cumprido. |
False
|
msg |
str
|
Mensagem extra a apresentar se for verboso. |
''
|
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verdadeiro se o requisito for cumprido, Falso caso contrário. |
Exemplo
# Check if current version is exactly 22.04
check_version(current='22.04', required='==22.04')
# Check if current version is greater than or equal to 22.04
check_version(current='22.10', required='22.04') # assumes '>=' inequality if none passed
# Check if current version is less than or equal to 22.04
check_version(current='22.04', required='<=22.04')
# Check if current version is between 20.04 (inclusive) and 22.04 (exclusive)
check_version(current='21.10', required='>20.04,<22.04')
Código fonte em ultralytics/utils/checks.py
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 |
|
ultralytics.utils.checks.check_latest_pypi_version(package_name='ultralytics')
Retorna a última versão de um pacote PyPI sem baixá-lo ou instalá-lo.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
package_name |
str
|
O nome do pacote para o qual procura a versão mais recente. |
'ultralytics'
|
Devolve:
Tipo | Descrição |
---|---|
str
|
A versão mais recente do pacote. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_pip_update_available()
Verifica se uma nova versão do pacote ultralytics está disponível no PyPI.
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verdadeiro se estiver disponível uma atualização, Falso caso contrário. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_font(font='Arial.ttf')
Procura a fonte localmente ou transfere-a para o diretório de configuração do utilizador, se ainda não existir.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
font |
str
|
Caminho ou nome do tipo de letra. |
'Arial.ttf'
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
file |
Path
|
Caminho do ficheiro do tipo de letra resolvido. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_python(minimum='3.8.0')
Verifica a versão atual de python em relação à versão mínima exigida.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
minimum |
str
|
Versão mínima necessária de python. |
'3.8.0'
|
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verifica se a versão instalada do Python cumpre as restrições mínimas. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_requirements(requirements=ROOT.parent / 'requirements.txt', exclude=(), install=True, cmds='')
Verifica se as dependências instaladas cumprem os requisitos de YOLOv8 e tenta atualizar automaticamente, se necessário.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
requirements |
Union[Path, str, List[str]]
|
Caminho para um ficheiro requirements.txt, um único requisito de pacote como uma ou uma lista de requisitos de pacotes como strings. |
parent / 'requirements.txt'
|
exclude |
Tuple[str]
|
Tuple de nomes de pacotes a excluir da verificação. |
()
|
install |
bool
|
Se Verdadeiro, tenta atualizar automaticamente os pacotes que não cumprem os requisitos. |
True
|
cmds |
str
|
Comandos adicionais para passar para o comando pip install quando fizeres a atualização automática. |
''
|
Exemplo
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_torchvision()
Verifica as versões instaladas do PyTorch e do Torchvision para garantir que são compatíveis.
Esta função verifica as versões instaladas de PyTorch e Torchvision, e avisa se elas são incompatíveis de acordo com a de acordo com a tabela de compatibilidade fornecida, baseada em: https://github.com/pytorch/vision#installation.
A tabela de compatibilidade é um dicionário em que as chaves são versões do PyTorch e os valores são listas de versões compatíveis do Torchvision compatíveis.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_suffix(file='yolov8n.pt', suffix='.pt', msg='')
Verifica se o(s) ficheiro(s) tem(têm) um sufixo aceitável.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolov5u_filename(file, verbose=True)
Substitui os nomes de ficheiros antigos YOLOv5 por nomes de ficheiros YOLOv5u actualizados.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_model_file_from_stem(model='yolov8n')
Devolve um nome de ficheiro de modelo a partir de uma haste de modelo válida.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_file(file, suffix='', download=True, hard=True)
Procura/descarrega o ficheiro (se necessário) e devolve o caminho.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_yaml(file, suffix=('.yaml', '.yml'), hard=True)
Procura/transfere o ficheiro YAML (se necessário) e devolve o caminho, verificando o sufixo.
ultralytics.utils.checks.check_is_path_safe(basedir, path)
Verifica se o caminho resolvido está sob o diretório pretendido para evitar a passagem do caminho.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
basedir |
Path | str
|
O diretório pretendido. |
necessário |
path |
Path | str
|
O caminho para verificar. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verdadeiro se o caminho for seguro, Falso caso contrário. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_imshow(warn=False)
Verifica se o ambiente suporta apresentações de imagens.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolo(verbose=True, device='')
Devolve um resumo de software e hardware YOLO legível por humanos.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.collect_system_info()
Recolhe e imprime informações relevantes do sistema, incluindo SO, Python, RAM, CPU e CUDA.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.check_amp(model)
Esta função verifica a funcionalidade PyTorch Automatic Mixed Precision (AMP) de um modelo YOLOv8 . Se as verificações falhar, significa que existem anomalias com o AMP no sistema que podem causar perdas de NaN ou resultados de zero-mAP, pelo que o AMP será por isso, a AMP será desactivada durante o treino.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
model |
Module
|
Uma instância do modelo YOLOv8 . |
necessário |
Exemplo
Devolve:
Tipo | Descrição |
---|---|
bool
|
Devolve True se a funcionalidade AMP funcionar corretamente com o modelo YOLOv8 ; caso contrário, devolve False. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.git_describe(path=ROOT)
Devolve uma descrição git legível por humanos, ou seja, v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe.
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.print_args(args=None, show_file=True, show_func=False)
Imprime os argumentos da função (dict opcional de args).
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_device_count()
Obtém o número de GPUs NVIDIA disponíveis no ambiente.
Devolve:
Tipo | Descrição |
---|---|
int
|
O número de GPUs NVIDIA disponíveis. |
Código fonte em ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_is_available()
Verifica se o CUDA está disponível no ambiente.
Devolve:
Tipo | Descrição |
---|---|
bool
|
True se uma ou mais GPUs NVIDIA estiverem disponíveis, False caso contrário. |
Criado em 2023-11-12, Atualizado em 2024-05-08
Autores: Burhan-Q (1), glenn-jocher (3), Laughing-q (1)