参考资料 ultralytics/utils/checks.py
备注
该文件可从https://github.com/ultralytics/ultralytics/blob/main/ ultralytics/utils/checks .py。如果您发现问题,请通过提交 Pull Request🛠️ 帮助修复。谢谢🙏!
ultralytics.utils.checks.parse_requirements(file_path=ROOT.parent / 'requirements.txt', package='')
解析 requirements.txt 文件,忽略以 "#"开头的行和 "#"后面的文本。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
file_path |
Path
|
requirements.txt 文件的路径。 |
parent / 'requirements.txt'
|
package |
str
|
Python 包来代替 requirements.txt 文件,即 package='ultralytics'. |
''
|
返回:
类型 | 说明 |
---|---|
List[Dict[str, str]]
|
以字典形式显示的已解析需求列表,包含 |
示例
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.parse_version(version='0.0.0')
将版本字符串转换为整数元组,忽略附加在版本上的任何非数字字符串。此 函数取代已废弃的 "pkg_resources.parse_version(v)"。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
version |
str
|
版本字符串,即 "2.0.1+cpu |
'0.0.0'
|
返回:
类型 | 说明 |
---|---|
tuple
|
代表版本数字部分和额外字符串的整数元组,即 (2,0,1)。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.is_ascii(s)
检查字符串是否仅由 ASCII 字符组成。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
s |
str
|
要检查的字符串。 |
所需 |
返回:
类型 | 说明 |
---|---|
bool
|
如果字符串仅由 ASCII 字符组成,则为 True,否则为 False。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0)
验证图像大小在每个维度上都是给定跨距的倍数。如果图像大小不是步长的倍数,则将其更新为大于或等于给定下限值的最接近步长的倍数。 的倍数,则将其更新为大于或等于给定下限值的最接近的跨距倍数。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
imgsz |
int | cList[int]
|
图像大小 |
所需 |
stride |
int
|
跨步值 |
32
|
min_dim |
int
|
最小尺寸数。 |
1
|
max_dim |
int
|
最大尺寸数。 |
2
|
floor |
int
|
图像尺寸的最小允许值。 |
0
|
返回:
类型 | 说明 |
---|---|
List[int]
|
更新图像大小。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_version(current='0.0.0', required='0.0.0', name='version', hard=False, verbose=False, msg='')
对照所需版本或范围检查当前版本。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
current |
str
|
当前版本或软件包名称。 |
'0.0.0'
|
required |
str
|
所需的版本或范围(pip-style 格式)。 |
'0.0.0'
|
name |
str
|
警告信息中使用的名称。 |
'version'
|
hard |
bool
|
如果为 True,则在未满足要求时引发 AssertionError。 |
False
|
verbose |
bool
|
如果为 True,则在不符合要求时打印警告信息。 |
False
|
msg |
str
|
如果冗长,则显示额外信息。 |
''
|
返回:
类型 | 说明 |
---|---|
bool
|
如果满足要求则为 True,否则为 False。 |
示例
# 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')
源代码 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')
返回 PyPI 软件包的最新版本,无需下载或安装。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
package_name |
str
|
要查找最新版本的软件包名称。 |
'ultralytics'
|
返回:
类型 | 说明 |
---|---|
str
|
软件包的最新版本。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_pip_update_available()
检查 PyPI 上是否有ultralytics 软件包的新版本。
返回:
类型 | 说明 |
---|---|
bool
|
如果有更新,则为 True,否则为 False。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_font(font='Arial.ttf')
查找本地字体或下载到用户的配置目录(如果该目录不存在)。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
font |
str
|
字体的路径或名称。 |
'Arial.ttf'
|
返回:
名称 | 类型 | 说明 |
---|---|---|
file |
Path
|
已解决字体文件路径问题。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_python(minimum='3.8.0')
对照所需的最低版本,检查当前python 版本。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
minimum |
str
|
所需的最低版本为python. |
'3.8.0'
|
返回:
类型 | 说明 |
---|---|
bool
|
安装的Python 版本是否满足最低限制条件。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_requirements(requirements=ROOT.parent / 'requirements.txt', exclude=(), install=True, cmds='')
检查已安装的依赖项是否满足YOLOv8 要求,并在需要时尝试自动更新。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
requirements |
Union[Path, str, List[str]]
|
指向 requirements.txt 文件的路径、以字符串形式表示的单个软件包需求,或以字符串形式表示的软件包需求列表。 字符串的单个软件包需求,或字符串形式的软件包需求列表。 |
parent / 'requirements.txt'
|
exclude |
Tuple[str]
|
要排除检查的软件包名称的元组。 |
()
|
install |
bool
|
如果为 True,则尝试自动更新不符合要求的软件包。 |
True
|
cmds |
str
|
自动更新时传递给 pip install 命令的附加命令。 |
''
|
示例
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_torchvision()
检查PyTorch 和 Torchvision 的安装版本,确保它们兼容。
该函数将检查PyTorch 和 Torchvision 的安装版本,并在它们不兼容时发出警告。 根据所提供的兼容性表发出不兼容警告: https://github.com/pytorch/vision#installation。
兼容性表是一个字典,其中键是PyTorch 版本,值是兼容的 Torchvision 版本的列表。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_suffix(file='yolov8n.pt', suffix='.pt', msg='')
检查文件是否有可接受的后缀。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolov5u_filename(file, verbose=True)
用更新的 YOLOv5u 文件名替换传统的YOLOv5 文件名。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_model_file_from_stem(model='yolov8n')
从有效的模型干返回模型文件名。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_file(file, suffix='', download=True, hard=True)
搜索/下载文件(如有必要)并返回路径。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_yaml(file, suffix=('.yaml', '.yml'), hard=True)
ultralytics.utils.checks.check_is_path_safe(basedir, path)
检查解析的路径是否在目标目录下,以防止路径遍历。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
basedir |
Path | str
|
目标目录。 |
所需 |
path |
Path | str
|
检查路径。 |
所需 |
返回:
类型 | 说明 |
---|---|
bool
|
如果路径安全则为 True,否则为 False。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_imshow(warn=False)
检查环境是否支持图像显示。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolo(verbose=True, device='')
返回人可读的YOLO 软件和硬件摘要。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.collect_system_info()
收集并打印相关系统信息,包括操作系统、Python 、内存、CPU 和 CUDA。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.check_amp(model)
YOLOv8 该功能可检查PyTorch 型号的自动混合精度 (AMP) 功能。如果检查 失败,则表示系统中的 AMP 存在异常,可能导致 NaN 损失或零混合精度结果,因此在训练过程中将禁用 AMP。 在训练过程中将被禁用。
参数
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
model |
Module
|
YOLOv8 模型实例。 |
所需 |
示例
返回:
类型 | 说明 |
---|---|
bool
|
如果 AMP 功能能正确使用YOLOv8 模型,则返回 True,否则返回 False。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.git_describe(path=ROOT)
返回人类可读的 git 描述,即 v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.print_args(args=None, show_file=True, show_func=False)
打印函数参数(可选 args dict)。
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_device_count()
获取环境中可用的英伟达™(NVIDIA®)GPU 数量。
返回:
类型 | 说明 |
---|---|
int
|
可用的 NVIDIA GPU 数量。 |
源代码 ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_is_available()
检查环境中是否有 CUDA。
返回:
类型 | 说明 |
---|---|
bool
|
如果有一个或多个英伟达™(NVIDIA®)GPU 可用,则为 True,否则为 False。 |