yolov5源码分析001

news2024/9/28 12:25:43

文章目录

    • 1.研究背景
    • 2.源码位置
    • 3.源码

1.研究背景

最近项目需要将前人做的YOLOv5改造项目继续改造,于是研究其代码,一步步剖析,一步步看一个个代码意义,旨在为后期攻克YOLOv10等系列做好准备.

2.源码位置

在这里插入图片描述

3.源码

# 下载指定文件,并保存在指定目录文件夹中,最后返回文件完整路径
def attempt_download(file, repo='ultralytics/yolov5'):  # from utils.downloads import *; attempt_download()
    # Attempt file download if does not exist
    file = Path(str(file).strip().replace("'", ''))

    if not file.exists():
        # URL specified
        name = Path(urllib.parse.unquote(str(file))).name  # decode '%2F' to '/' etc.
        if str(file).startswith(('http:/', 'https:/')):  # download
            url = str(file).replace(':/', '://')  # Pathlib turns :// -> :/
            file = name.split('?')[0]  # parse authentication https://url.com/file.txt?auth...
            if Path(file).is_file():
                print(f'Found {url} locally at {file}')  # file already exists
            else:
                safe_download(file=file, url=url, min_bytes=1E5)
            return file

        # GitHub assets
        # 为需要下载的文件创建文件夹
        file.parent.mkdir(parents=True, exist_ok=True)  # make parent dir (if required)
        try:
            # 0928 从指定url下载最新的配置文件,并转为json文件
            response = requests.get(f'https://api.github.com/repos/{repo}/releases/latest').json()  # github api
            # 获取json文件中key为assets的列表中每一个key为name的资源
            assets = [x['name'] for x in response['assets']]  # release assets, i.e. ['yolov5s.pt', 'yolov5m.pt', ...]
            # 0928 从json文件中获取key为tag_name的tag
            tag = response['tag_name']  # i.e. 'v1.0'
        # 下载异常则进入异常处理分支
        except Exception:  # fallback plan
            # 资源列表
            assets = [
                'yolov5n.pt', 'yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt', 'yolov5n6.pt', 'yolov5s6.pt',
                'yolov5m6.pt', 'yolov5l6.pt', 'yolov5x6.pt']
            try:
                tag = subprocess.check_output('git tag', shell=True, stderr=subprocess.STDOUT).decode().split()[-1]
            except Exception:
                tag = 'v6.0'  # current release

        if name in assets:
            safe_download(
                file,
                url=f'https://github.com/{repo}/releases/download/{tag}/{name}',
                # google api接口网站作为备份下载网址
                # url2=f'https://storage.googleapis.com/{repo}/ckpt/{name}',  # backup url (optional)
                min_bytes=1E5,
                error_msg=f'{file} missing, try downloading from https://github.com/{repo}/releases/')
    # 返回文件完整路径
    return str(file)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型Agent开发框架对比:LangGraph/LlamaIndex/DIY

LLM代理(智能体)正处于一个发展阶段。随着多个新框架的出现和该领域的新投资,现代人工智能代理正在克服不稳定的起源,迅速取代 RAG 成为实施重点。那么,2024 年最终会成为自主人工智能系统接管我们写电子邮件、预订航班…

大模型辅助需求代码开发:如何提升核心编码任务生成效果

大模型在解释代码、回答代码问题、写单元测试等方面表现不错,但这些还只是辅助任务,真实项目需求开发中的设计及实现任务才是核心任务,而这方面尚未有成熟的方法和好的效果。一些 AI Developer 工具能够演示从零创建小应用的能力,…

三节课发布首张AIGC学习地图,全员学习AI真的必要吗?

上周,企培行业非常热闹,第20届中国企业培训与发展年会于成都正式举行。 据观察,本次企培年会有几个特点: ❶ 降本增效与AI赋能成为参会者最关注主题; ❷ 主办方取消了之前多年的学习平台专场,增加2个AI场…

谷歌收录查询工具,使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤

在数字营销和SEO领域,了解网站在谷歌搜索引擎中的收录情况至关重要。使用谷歌收录查询工具,可以有效地监测网站的索引状态,进而优化内容以提升网站排名和曝光度。以下是如何使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤&#x…

Defining Smart Contract Defects on Ethereum论文解读

背景 这一部分介绍了智能合约的概念和基础知识,以及 Solidity 编程语言。 智能合约:定义了智能合约作为一种运行在区块链上的程序,它能够在无需第三方干预的情况下自动执行合同条款。智能合约的不可变性:强调了智能合约一旦部署…

element-plus中日历组件设置起始为周一

问题描述 element-plus中的日历组件默认是周日到周六,因业务需求,需要实现从周一到周日的顺序。 解决方式 引入dayjs及本地语言包,使用本地时区即可。 import dayjs from dayjs import dayjs/locale/zh-cn ... // 这一句是为了让日历使用本地…

Invalid Teleport target on mount: null (object)

Failed to locate Teleport target with selector “.demon”. Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree main.…

银河麒麟V10下如何将TXT文件转为PDF?

银河麒麟V10下如何将TXT文件转为PDF? 1. 安装软件2. TXT转PS3. PS转PDF 💖The Begin💖点点关注,收藏不迷路💖 在银河麒麟高级服务器操作系统V10中,将TXT文件转换为PDF文件可以通过简单的几步完成。 1. 安装…

Linux oracle数据库静默安装

系统:Centos7 一、安装准备 1.1 更换依赖源 yum源进行切换(这里采用的阿里云的yum源)(切换之前建议先备份 /etc/yum.repos.d 中的文件) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep…

网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了

本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…

收银系统源码-ERP进销存解决方案

收银系统目前已经成为门店日常经营的必备软件工具,功能一般需涵盖线下门店收银,ERP进销存、线上商城等。一套好的ERP进销存模块也能很大程度帮助门店经营管理门店。 ERP进销存功能涵盖了商品的采购、销售、调拨、盘点、库存管理、资金管理等全链路管理&…

【周末推荐】替换SwitchyOmega的Chrome浏览器插件

SwitchyOmega插件在我们这个圈子里应该无人不知无人不晓了吧,最近有很多朋友反馈自己的SwitchyOmega不工作了,今天我们将聊聊为什么SwitchyOmega不工作了,并推荐2款实用的Chrome浏览器插件解决这个问题。 为什么要替换SwitchyOmega&#xff…

这种膜为啥能随温度变透明?怎么制备的?有啥特点?

大家好,今天我们来了解一项关于纳米纤维膜的研究——《Diphylleia Grayi-Inspired Intelligent Temperature-Responsive Transparent Nanofiber Membranes》《Nano-Micro Letters》。在现代科技的发展中,透明材料的需求日益增长,传统材料已无…

VBA技术资料MF206:右键录入指定的数据及图标

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

卡通角色检测系统源码分享

卡通角色检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

旭升集团携手纷享销客,构建全方位客户关系管理平台

宁波旭升集团股份有限公司(以下简称“旭升集团”)自2003年成立,总部位于中国宁波,集团设有压铸、锻造、挤压、集成四大事业部,在亚洲、欧洲、美洲等地均设立研发中心及制造基地,产品主要覆盖新能源汽车的电…

Cisco ASA 9.22.1 发布下载,新增功能概览

Cisco ASA 9.22.1 - 思科自适应安全设备 (ASA) 软件 Cisco Adaptive Security Appliance (ASA) 请访问原文链接:https://sysin.org/blog/cisco-asa/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 新增功能 重要…

Git(5):分支合并merge和rebase

git merge 假设有两个分支:master 分支和 feature 分支,现在需要将 feature 分支合并到 master 分支。 git checkout mastergit merge feature在合并分支时,git 提供了不同的合并策略,用于处理不同的合并场景。 Fast-forward 如…

Spring Boot 进阶- Spring Boot 自定义拦截器详解

上篇文章中我们创建了一个RestFul风格的接口,并且介绍了如何对其结果进行格式化的方式。这篇文章我们来讲在SpringMVC中常用到的另一个概念拦截器。 什么是拦截器? 在Spring MVC中拦截器有点类似于在Servlet中的过滤器的概念,主要是用来拦截用户求,并且对用户请求进行相应…

2024双十一买啥最划算?2024双十一五款值得入手的好物入手

2024双十一购物狂欢节将至,还在为买什么而纠结吗?这里为你入手五款值得入手的好物。从生活必备到时尚单品,涵盖多个领域,让你在双十一以划算的价格买到心仪之物,开启品质生活新旅程。 一、西圣find可视挖耳勺 入手理…