YOLOv5介绍
YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。
YOLOv5开源项目github网址
本博客导读的代码为utils文件夹下的google_utils.py文件,更新日期为2021.1.14.
google_utils.py
该文件负责从github/googleleaps/google drive等网站下下载所需要的的一些文件。
相关导入模块及说明如下所示。
#谷歌云对应的链接
# Google utils: https://cloud.google.com/storage/docs/reference/libraries
import os #与操作系统交互的模块
import platform #提供获取操作系统相关信息的模块
import subprocess #子进程定义及操作的模块
import time #获取系统时间的模块
from pathlib import Path #使字符串路径易于操作的模块
import requests #通过urllib3实现自动发送HTTP/1.1请求的第三方模块
import torch #pytorch模块
gsutil_getsize 函数用于返回网站链接对应文件的大小
def gsutil_getsize(url=''):
# gs://bucket/file size https://cloud.google.com/storage/docs/gsutil/commands/du
#创建一个子进程在命令行执行 gsutil du url命令
s = subprocess.check_output(f'gsutil du {url}', shell=True).decode('utf-8')
return eval(s.split(' ')[0]) if len(s) else 0 # 返回文件的byte大小
attempt_download 函数实现 从几个云平台下载预训练模型
def attempt_download(file, repo='ultralytics/yolov5'):
#如果对应的文件不存在 则尝试下载
# .strip()删除字符串前后的空格 /n /t等 .replace()将'替换为空格 .lower()将字符串全部转换为小写 Path()将str转换为Path对象
file = Path(str(file).strip(