YOLOv5-4.0-google_utils.py 源代码导读

本文介绍了YOLOv5的4.0版本,一个兼顾速度和性能的目标检测算法。重点解读了utils文件夹中的google_utils.py文件,该文件用于从github、googleleaps和google drive等平台下载所需资源。文中详细讲解了gsutil_getsize、attempt_download、gdrive_download和get_token等关键函数的功能和实现。
摘要由CSDN通过智能技术生成

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(
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值