Referência para ultralytics/utils/downloads.py
Nota
Este ficheiro está disponível em https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/downloads .py. Se encontrares um problema, por favor ajuda a corrigi-lo contribuindo com um Pull Request 🛠️. Obrigado 🙏!
ultralytics.utils.downloads.is_url(url, check=False)
Valida se a cadeia de caracteres dada é um URL e, opcionalmente, verifica se o URL existe online.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
url |
str
|
A cadeia a ser validada como URL. |
necessário |
check |
bool
|
Se for True, executa uma verificação adicional para ver se o URL existe online. A predefinição é True. |
False
|
Devolve:
Tipo | Descrição |
---|---|
bool
|
Devolve True para um URL válido. Se 'check' for True, também devolve True se o URL existir online. Devolve False caso contrário. |
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.delete_dsstore(path, files_to_delete=('.DS_Store', '__MACOSX'))
Elimina todos os ficheiros ".DS_store" de um diretório especificado.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
path |
str
|
O caminho do diretório onde os ficheiros ".DS_store" devem ser eliminados. |
necessário |
files_to_delete |
tuple
|
Os ficheiros a eliminar. |
('.DS_Store', '__MACOSX')
|
Nota
Os ficheiros ".DS_store" são criados pelo sistema operativo da Apple e contêm metadados sobre pastas e ficheiros. São ficheiros de sistema ocultos São ficheiros de sistema ocultos e podem causar problemas ao transferir ficheiros entre diferentes sistemas operativos.
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.zip_directory(directory, compress=True, exclude=('.DS_Store', '__MACOSX'), progress=True)
Compacta o conteúdo de um diretório, excluindo arquivos que contenham strings na lista de exclusão. O arquivo zip resultante é nomeado após o diretório e colocado ao lado dele.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
directory |
str | Path
|
O caminho para o diretório a ser compactado. |
necessário |
compress |
bool
|
Se queres comprimir os ficheiros enquanto os comprime. A predefinição é Verdadeiro. |
True
|
exclude |
tuple
|
Uma tupla de cadeias de nomes de ficheiros a excluir. A predefinição é ('.DS_Store', '__MACOSX'). |
('.DS_Store', '__MACOSX')
|
progress |
bool
|
Mostra ou não uma barra de progresso. O valor predefinido é Verdadeiro. |
True
|
Devolve:
Tipo | Descrição |
---|---|
Path
|
O caminho para o ficheiro zip resultante. |
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.unzip_file(file, path=None, exclude=('.DS_Store', '__MACOSX'), exist_ok=False, progress=True)
Descompacta um arquivo *.zip para o caminho especificado, excluindo arquivos que contenham strings na lista de exclusão.
Se o ficheiro zip não contiver um único diretório de nível superior, a função criará um novo diretório com o mesmo nome que o ficheiro zip (sem a extensão) para extrair o seu conteúdo. Se não for fornecido um caminho, a função utilizará o diretório pai do ficheiro zip como caminho predefinido.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
file |
str
|
O caminho para o ficheiro zip a ser extraído. |
necessário |
path |
str
|
O caminho para o qual extrai o ficheiro zip. A predefinição é Nenhum. |
None
|
exclude |
tuple
|
Uma tupla de cadeias de nomes de ficheiros a excluir. A predefinição é ('.DS_Store', '__MACOSX'). |
('.DS_Store', '__MACOSX')
|
exist_ok |
bool
|
Se substitui o conteúdo existente, caso exista. A predefinição é Falso. |
False
|
progress |
bool
|
Mostra ou não uma barra de progresso. O valor predefinido é Verdadeiro. |
True
|
Aumenta:
Tipo | Descrição |
---|---|
BadZipFile
|
Se o ficheiro fornecido não existir ou não for um ficheiro zip válido. |
Devolve:
Tipo | Descrição |
---|---|
Path
|
O caminho para o diretório onde o ficheiro zip foi extraído. |
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.check_disk_space(url='https://ultralytics.com/assets/coco128.zip', path=Path.cwd(), sf=1.5, hard=True)
Verifica se existe espaço suficiente no disco para transferir e armazenar um ficheiro.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
url |
str
|
O URL do ficheiro. A predefinição é 'https://ultralytics.com/assets/coco128.zip'. |
'https://ultralytics.com/assets/coco128.zip'
|
path |
str | Path
|
O caminho ou unidade para verificar o espaço livre disponível. |
cwd()
|
sf |
float
|
Fator de segurança, o multiplicador do espaço livre necessário. Por predefinição, é 2,0. |
1.5
|
hard |
bool
|
Se deves lançar um erro ou não em caso de espaço insuficiente no disco. A predefinição é Verdadeiro. |
True
|
Devolve:
Tipo | Descrição |
---|---|
bool
|
Verdadeiro se houver espaço suficiente no disco, Falso caso contrário. |
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.get_google_drive_file_info(link)
Recupera o link de download direto e o nome do arquivo para um link de arquivo compartilhável do Google Drive.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
link |
str
|
A ligação partilhável do ficheiro do Google Drive. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
str
|
URL de transferência direta para o ficheiro do Google Drive. |
str
|
Nome de ficheiro original do ficheiro do Google Drive. Se a extração do nome de ficheiro falhar, devolve Nenhum. |
Exemplo
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.safe_download(url, file=None, dir=None, unzip=True, delete=False, curl=False, retry=3, min_bytes=1.0, exist_ok=False, progress=True)
Descarrega ficheiros a partir de um URL, com opções para tentar novamente, descomprimir e eliminar o ficheiro descarregado.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
url |
str
|
O URL do ficheiro a ser transferido. |
necessário |
file |
str
|
O nome do ficheiro transferido. Se não for fornecido, o ficheiro será guardado com o mesmo nome que o URL. |
None
|
dir |
str
|
O diretório para guardar o ficheiro descarregado. Se não for fornecido, o ficheiro será guardado no diretório de trabalho atual. |
None
|
unzip |
bool
|
Descompacta ou não o ficheiro descarregado. Predefinição: Verdadeiro. |
True
|
delete |
bool
|
Se queres apagar o ficheiro descarregado após a descompactação. Predefinição: Falso. |
False
|
curl |
bool
|
Utiliza ou não a ferramenta de linha de comandos curl para descarregar. Predefinição: Falso. |
False
|
retry |
int
|
O número de vezes que repete a transferência em caso de falha. Predefinição: 3. |
3
|
min_bytes |
float
|
O número mínimo de bytes que o ficheiro descarregado deve ter, para ser considerado um download bem-sucedido. Predefinição: 1E0. |
1.0
|
exist_ok |
bool
|
Se substitui o conteúdo existente durante a descompactação. A predefinição é Falso. |
False
|
progress |
bool
|
Mostra ou não uma barra de progresso durante a transferência. Predefinição: Verdadeiro. |
True
|
Exemplo
Código fonte em ultralytics/utils/downloads.py
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 |
|
ultralytics.utils.downloads.get_github_assets(repo='ultralytics/assets', version='latest', retry=False)
Recupera a tag e os ativos da versão especificada de um repositório do GitHub. Se a versão não for especificada, a função obtém os ativos da versão mais recente.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
repo |
str
|
O repositório GitHub no formato "owner/repo". A predefinição é 'ultralytics/assets'. |
'ultralytics/assets'
|
version |
str
|
A versão de lançamento a partir da qual obtém os activos. Usa como padrão 'latest'. |
'latest'
|
retry |
bool
|
Sinalizador para tentar novamente o pedido em caso de falha. A predefinição é Falso. |
False
|
Devolve:
Tipo | Descrição |
---|---|
tuple
|
Uma tupla que contém a etiqueta de lançamento e uma lista de nomes de activos. |
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.attempt_download_asset(file, repo='ultralytics/assets', release='v8.2.0', **kwargs)
Tenta descarregar um ficheiro dos activos de lançamento do GitHub se não for encontrado localmente. A função verifica o arquivo localmente primeiro e, em seguida, tenta baixá-lo da versão especificada do repositório GitHub.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
file |
str | Path
|
O nome do ficheiro ou o caminho do ficheiro a descarregar. |
necessário |
repo |
str
|
O repositório GitHub no formato "owner/repo". A predefinição é 'ultralytics/assets'. |
'ultralytics/assets'
|
release |
str
|
A versão de lançamento específica a ser descarregada. Usa como padrão a "v8.2.0". |
'v8.2.0'
|
**kwargs |
any
|
Argumentos adicionais de palavras-chave para o processo de transferência. |
{}
|
Devolve:
Tipo | Descrição |
---|---|
str
|
O caminho para o ficheiro descarregado. |
Exemplo
Código fonte em ultralytics/utils/downloads.py
ultralytics.utils.downloads.download(url, dir=Path.cwd(), unzip=True, delete=False, curl=False, threads=1, retry=3, exist_ok=False)
Descarrega ficheiros de URLs especificados para um determinado diretório. Suporta downloads simultâneos se vários threads forem especificadas.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
url |
str | list
|
O URL ou lista de URLs dos ficheiros a descarregar. |
necessário |
dir |
Path
|
O diretório onde os ficheiros serão guardados. A predefinição é o diretório de trabalho atual. |
cwd()
|
unzip |
bool
|
Sinaliza para descompactar os arquivos após o download. Usa o valor padrão True. |
True
|
delete |
bool
|
Marca para apagar os ficheiros zip após a extração. O valor padrão é Falso. |
False
|
curl |
bool
|
Sinaliza para usar curl para fazer o download. O padrão é False. |
False
|
threads |
int
|
Número de threads a utilizar para transferências simultâneas. A predefinição é 1. |
1
|
retry |
int
|
Número de tentativas em caso de falha na transferência. Por predefinição, é 3. |
3
|
exist_ok |
bool
|
Se substitui o conteúdo existente durante a descompactação. A predefinição é Falso. |
False
|
Código fonte em ultralytics/utils/downloads.py
Criado em 2023-11-12, Atualizado em 2024-05-08
Autores: Burhan-Q (1), glenn-jocher (3), Laughing-q (1)