Ссылка для ultralytics/utils/downloads.py
Примечание
Этот файл доступен по адресу https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/downloads .py. Если ты заметил проблему, пожалуйста, помоги исправить ее, создав Pull Request 🛠️. Спасибо 🙏!
ultralytics.utils.downloads.is_url(url, check=False)
Проверяет, является ли заданная строка URL-адресом, и опционально проверяет, существует ли этот URL в сети.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
url |
str
|
Строка, которая должна быть проверена как URL. |
требуется |
check |
bool
|
Если True, то выполняется дополнительная проверка, существует ли URL в интернете. По умолчанию установлено значение True. |
False
|
Возвращается:
Тип | Описание |
---|---|
bool
|
Возвращает True для правильного URL. Если 'check' равно True, то также возвращается True, если URL существует в сети. В противном случае возвращается False. |
Исходный код в ultralytics/utils/downloads.py
ultralytics.utils.downloads.delete_dsstore(path, files_to_delete=('.DS_Store', '__MACOSX'))
Удаляет все файлы ".DS_store" в указанной директории.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
path |
str
|
Путь к директории, где должны быть удалены файлы ".DS_store". |
требуется |
files_to_delete |
tuple
|
Файлы, которые нужно удалить. |
('.DS_Store', '__MACOSX')
|
Примечание
Файлы ".DS_store" создаются операционной системой Apple и содержат метаданные о папках и файлах. Они являются скрытыми системными файлами и могут вызывать проблемы при передаче файлов между разными операционными системами.
Исходный код в ultralytics/utils/downloads.py
ultralytics.utils.downloads.zip_directory(directory, compress=True, exclude=('.DS_Store', '__MACOSX'), progress=True)
Запиши содержимое каталога, исключив из него файлы, содержащие строки из списка исключений. Результирующий zip-файл назван в честь директории и помещен рядом с ней.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
directory |
str | Path
|
Путь к директории, которую нужно застегнуть. |
требуется |
compress |
bool
|
Нужно ли сжимать файлы при застегивании. По умолчанию это True. |
True
|
exclude |
tuple
|
Кортеж строк имен файлов, которые нужно исключить. По умолчанию ('.DS_Store', '__MACOSX'). |
('.DS_Store', '__MACOSX')
|
progress |
bool
|
Отображать ли прогресс-бар. По умолчанию установлено значение True. |
True
|
Возвращается:
Тип | Описание |
---|---|
Path
|
Путь к полученному zip-файлу. |
Исходный код в ultralytics/utils/downloads.py
ultralytics.utils.downloads.unzip_file(file, path=None, exclude=('.DS_Store', '__MACOSX'), exist_ok=False, progress=True)
Распакуй файл *.zip по указанному пути, исключая файлы, содержащие строки в списке исключений.
Если zip-файл не содержит ни одного каталога верхнего уровня, то функция создаст новый каталог с тем же именем, что и у zip-файла (без расширения), чтобы извлечь его содержимое. Если путь не указан, функция будет использовать родительский каталог zip-файла в качестве пути по умолчанию.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
file |
str
|
Путь к zip-файлу, который нужно извлечь. |
требуется |
path |
str
|
Путь, по которому нужно распаковать zip-файл. По умолчанию - None. |
None
|
exclude |
tuple
|
Кортеж строк имен файлов, которые нужно исключить. По умолчанию ('.DS_Store', '__MACOSX'). |
('.DS_Store', '__MACOSX')
|
exist_ok |
bool
|
Нужно ли перезаписывать существующее содержимое, если оно есть. По умолчанию - False. |
False
|
progress |
bool
|
Отображать ли прогресс-бар. По умолчанию установлено значение True. |
True
|
Поднимает:
Тип | Описание |
---|---|
BadZipFile
|
Если предоставленный файл не существует или не является правильным zip-файлом. |
Возвращается:
Тип | Описание |
---|---|
Path
|
Путь к директории, в которую был извлечен zip-файл. |
Исходный код в 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)
Проверь, достаточно ли места на диске для загрузки и хранения файла.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
url |
str
|
URL-адрес файла. По умолчанию 'https://ultralytics.com/assets/coco128.zip'. |
'https://ultralytics.com/assets/coco128.zip'
|
path |
str | Path
|
Путь или диск, на котором нужно проверить наличие свободного места. |
cwd()
|
sf |
float
|
Коэффициент безопасности, множитель для определения необходимого свободного пространства. По умолчанию равен 2,0. |
1.5
|
hard |
bool
|
Выдавать или нет ошибку при недостаточном дисковом пространстве. По умолчанию установлено значение True. |
True
|
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если на диске достаточно места, False - в противном случае. |
Исходный код в ultralytics/utils/downloads.py
ultralytics.utils.downloads.get_google_drive_file_info(link)
Получает прямую ссылку на скачивание и имя файла для ссылки на файл, которым можно поделиться на Google Drive.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
link |
str
|
Ссылка, по которой можно поделиться файлом с Google Drive. |
требуется |
Возвращается:
Тип | Описание |
---|---|
str
|
Прямой URL-адрес загрузки файла с Google Drive. |
str
|
Оригинальное имя файла Google Drive. Если извлечение имени файла не удалось, возвращается None. |
Пример
Исходный код в 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)
Скачивай файлы с URL-адреса, с возможностью повторной попытки, разархивирования и удаления загруженного файла.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
url |
str
|
URL-адрес файла, который нужно загрузить. |
требуется |
file |
str
|
Имя загружаемого файла. Если его не указать, файл будет сохранен с тем же именем, что и URL. |
None
|
dir |
str
|
Директория для сохранения загруженного файла. Если его не указать, файл будет сохранен в текущей рабочей директории. |
None
|
unzip |
bool
|
Нужно ли распаковывать скачанный файл. По умолчанию: True. |
True
|
delete |
bool
|
Удалять ли скачанный файл после разархивирования. По умолчанию: False. |
False
|
curl |
bool
|
Использовать ли для загрузки инструмент командной строки curl. По умолчанию: False. |
False
|
retry |
int
|
Количество раз, которое нужно повторить загрузку в случае неудачи. По умолчанию: 3. |
3
|
min_bytes |
float
|
Минимальное количество байт, которое должен содержать загружаемый файл, чтобы считаться успешной загрузкой. По умолчанию: 1E0. |
1.0
|
exist_ok |
bool
|
Нужно ли перезаписывать существующее содержимое при разархивировании. По умолчанию - False. |
False
|
progress |
bool
|
Отображать ли прогресс-бар во время загрузки. По умолчанию: True. |
True
|
Пример
Исходный код в 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)
Извлеки тег и активы указанной версии из репозитория GitHub. Если версия не указана, то функция получает активы последнего релиза.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
repo |
str
|
Репозиторий GitHub в формате 'owner/repo'. По умолчанию - 'ultralytics/assets'. |
'ultralytics/assets'
|
version |
str
|
Версия релиза, из которой будут браться активы. По умолчанию - 'latest'. |
'latest'
|
retry |
bool
|
Флаг для повторного выполнения запроса в случае неудачи. По умолчанию равен False. |
False
|
Возвращается:
Тип | Описание |
---|---|
tuple
|
Кортеж, содержащий тег релиза и список названий активов. |
Исходный код в ultralytics/utils/downloads.py
ultralytics.utils.downloads.attempt_download_asset(file, repo='ultralytics/assets', release='v8.2.0', **kwargs)
Попытка загрузить файл с GitHub release assets, если он не найден локально. Функция проверяет наличие файла сначала локально, а затем пытается загрузить его из указанного релиза репозитория GitHub.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
file |
str | Path
|
Имя файла или путь к файлу, который нужно загрузить. |
требуется |
repo |
str
|
Репозиторий GitHub в формате 'owner/repo'. По умолчанию - 'ultralytics/assets'. |
'ultralytics/assets'
|
release |
str
|
Конкретная версия релиза, которую нужно загрузить. По умолчанию - "v8.2.0". |
'v8.2.0'
|
**kwargs |
any
|
Дополнительные аргументы в виде ключевых слов для процесса загрузки. |
{}
|
Возвращается:
Тип | Описание |
---|---|
str
|
Путь к загруженному файлу. |
Пример
Исходный код в 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)
Скачивай файлы с указанных URL-адресов в заданную директорию. Поддерживает одновременную загрузку, если указано несколько потоков указаны.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
url |
str | list
|
URL-адрес или список URL-адресов файлов, которые нужно загрузить. |
требуется |
dir |
Path
|
Директория, в которую будут сохраняться файлы. По умолчанию это текущая рабочая директория. |
cwd()
|
unzip |
bool
|
Флаг распаковывать файлы после загрузки. По умолчанию - True. |
True
|
delete |
bool
|
Флаг удаления zip-файлов после извлечения. По умолчанию - False. |
False
|
curl |
bool
|
Флаг использования curl для загрузки. По умолчанию установлено значение False. |
False
|
threads |
int
|
Количество потоков, которые будут использоваться для одновременной загрузки. По умолчанию равно 1. |
1
|
retry |
int
|
Количество повторных попыток в случае неудачной загрузки. По умолчанию равно 3. |
3
|
exist_ok |
bool
|
Нужно ли перезаписывать существующее содержимое при разархивировании. По умолчанию - False. |
False
|