参考资料 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
|
如果 URL 有效,则返回 True。如果 "检查 "为 True,则如果 URL 在线存在,也返回 True。 否则返回 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 "文件由苹果操作系统创建,包含文件夹和文件的元数据。它们 是隐藏的系统文件,在不同操作系统之间传输文件时可能会出现问题。
源代码 ultralytics/utils/downloads.py
ultralytics.utils.downloads.zip_directory(directory, compress=True, exclude=('.DS_Store', '__MACOSX'), progress=True)
对目录内容进行压缩,排除包含排除列表中字符串的文件。生成的压缩文件 命名,并放置在目录旁边。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
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
|
解压压缩文件的路径。默认为 "无"。 |
None
|
exclude |
tuple
|
要排除的文件名字符串的元组。默认为('.DS_Store', '__MACOSX')。 |
('.DS_Store', '__MACOSX')
|
exist_ok |
bool
|
是否覆盖现有内容(如果存在)。默认为 "假"。 |
False
|
progress |
bool
|
是否显示进度条。默认为 True。 |
True
|
加薪:
类型 | 说明 |
---|---|
BadZipFile
|
如果提供的文件不存在或不是有效的 zip 文件。 |
返回:
类型 | 说明 |
---|---|
Path
|
解压缩文件所在目录的路径。 |
源代码 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
|
Google Drive 文件的直接下载 URL。 |
str
|
Google Drive 文件的原始文件名。如果文件名提取失败,则返回 "无"。 |
示例
源代码 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
|
delete |
bool
|
是否在解压缩后删除下载的文件。默认值:假。 |
False
|
curl |
bool
|
是否使用 curl 命令行工具进行下载。默认为假 |
False
|
retry |
int
|
下载失败时重试的次数。默认值:3。 |
3
|
min_bytes |
float
|
下载文件的最小字节数。 下载成功。默认值:1E0。 |
1.0
|
exist_ok |
bool
|
是否在解压缩过程中覆盖现有内容。默认为 "假"。 |
False
|
progress |
bool
|
是否在下载过程中显示进度条。默认值:真。 |
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
|
格式为 "owner/repo "的 GitHub 仓库。默认为 "ultralytics/assets"。 |
'ultralytics/assets'
|
version |
str
|
获取资产的版本。默认为 "最新"。 |
'latest'
|
retry |
bool
|
在请求失败时重试请求的标志。默认为 "假"。 |
False
|
返回:
类型 | 说明 |
---|---|
tuple
|
包含发布标记和资产名称列表的元组。 |
源代码 ultralytics/utils/downloads.py
ultralytics.utils.downloads.attempt_download_asset(file, repo='ultralytics/assets', release='v8.2.0', **kwargs)
如果本地找不到文件,则尝试从 GitHub 发布资产中下载该文件。该函数首先在本地检查文件 然后尝试从指定的 GitHub 版本库中下载。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
file |
str | Path
|
要下载的文件名或文件路径。 |
所需 |
repo |
str
|
格式为 "owner/repo "的 GitHub 仓库。默认为 "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
|
curl |
bool
|
使用 curl 下载的标志。默认为假。 |
False
|
threads |
int
|
用于并发下载的线程数。默认为 1。 |
1
|
retry |
int
|
下载失败时的重试次数。默认为 3。 |
3
|
exist_ok |
bool
|
是否在解压缩过程中覆盖现有内容。默认为 "假"。 |
False
|