MMPretrain

news2024/11/28 7:49:29

title: mmpretrain实战
date: 2023-06-07 16:04:01
tags: [image classification,mmlab]


mmpretrain实战

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccTl9bOl-1686129437336)(null)]
在这里插入图片描述

主要讲解了安装,还有使用教程.安装教程直接参考官网.下面讲解一下mmpretrain使用

实战教程

2.1简单使用

我们可以直接从定义好的模型来进行推理,首先list_model可以列出所有的分类,然后通过关键字可以识别出来resnet所有的模型,然后我们通过get_model,输入关键字就可以得到模型,之后,我们通过使用inference来进行传入模型,还有ckp,还有图形就可以直接来进行推理.

2.2自定义使用

首先整个mmlab都是通过使用cfg来进行配置的,所以我们如果要进行自己的resnet50配置,我们可以从官网的cfg来进行参考.

首先是模型,模型分为backbone骨干网络,head就是输出头,使用neck来进行连接网络.然后最后的loss,实在模型里就定义号了,使用的是topk

# model settings
model = dict(
    type='ImageClassifier',
    backbone=dict(
        type='ResNet',
        depth=50,
        num_stages=4,
        out_indices=(3, ),
        style='pytorch'),
    neck=dict(type='GlobalAveragePooling'),
    head=dict(
        type='LinearClsHead',
        num_classes=33,
        in_channels=2048,
        loss=dict(type='CrossEntropyLoss', loss_weight=1.0),
        topk=(1, 5),
    ),
    init_cfg = dict(type='Pretrained',checkpoint = 'https://download.openmmlab.com/mmclassification/v0/resnet/resnet50_8xb32_in1k_20210831-ea4938fc.pth')
    )

之后就是dataset的配置,我们使用的type是自定义的type,设置输入的train,还有val路径,之后设置val的评估指标,使用top1.

下面就是训练时候的配置,循环次数,还有优化器

最后就是训练时候的配置,自动保存权重最高的,还有值保留最近5个文件

剩下的地方可以设置args参数 例如load_file还有work-dir

work_dir = './exp'
  checkpoint=dict(type='CheckpointHook', interval=1,max_keep_ckpts=5,save_best='auto'),

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

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

相关文章

【mmpose】从openmmlab官方文档看mmpose架构设计,模块组成,快速上手实现关键点检测效果(动物,人体,手部等)

MMPOSE 架构设计 MMPose 1.0 与之前的版本有较大改动,对部分模块进行了重新设计和组织,降低代码冗余度,提升运行效率,降低学习难度。使用 MMPose 1.0 时开发者会关心的内容: 整体代码架构与设计逻辑; 如何…

告别加班!9款Figma汉化插件助你高效工作,提升生产力!

Figma是一款极受设计师欢迎的设计工具,而Figma中文版即时设计则是在Figma基础上改进而来,有着众多的Figma汉化插件,可以加速设计工作,让每位设计师完成更好的创作。 打开即时设计官网首页,点击【设计社区】-【插件广场…

虚函数表详解及其应用场景

目录 概述1. 虚函数表概述2. 虚函数表的实现原理2.1. 虚函数的声明和定义2.2. 虚函数表的创建和初始化2.3. 虚函数调用的过程 3. 虚函数表的应用场景3.1. 多态性3.2. 基类指针和引用的使用3.3. 动态绑定3.4. 接口定义 结论 概述 在面向对象编程中,虚函数表&#xf…

java-JDBC

java-JDBC 1. JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API 全称:( Java DataBase Connectivity ) Java 数据库连接 sun公司就指定了一套标准接口(JDBC),JDBC中定义了所有操作关系型数据库的规则。 我们需要使用接口…

人群聚集监测预警算法 python

人群聚集监测预警系统采用pythonopencv网络模型AI视频智能分析技术,人群聚集监测预警算法对人员聚集情况进行实时监测,当人群聚集过于密集时,系统将自动发出警报。OpenCV基于C实现,同时提供python, Ruby, Matlab等语言的接口。Ope…

R语言 tidyverse系列学习笔记(系列1)

tidyverse 译 “洁净的宇宙” > “极乐净土” 以 iris 鸢尾花数据集为例 ** 查看数据集** ** 查看维度dimention** dim(iris)iris 数据集有150个对象(observation),5列 ( Sepal.Length , Sepal.Width , Petal.Length , Petal.Width , S…

阿里服务器配置服务器自启动

一开始 是在 /etc/rc.local 文件中添加的如下脚本 bash /mnt/cangjie-server/action.sh start bash /usr/local/nginx/sbin/nginx pm2 start npm--name"cangjieWeb"run start 启动服务器,服务并没有执行。 后面把执行脚本的 bash 指令去掉 如下&#xf…

Linux内核中断和Linux内核定时器

目录 Linux内核中断 Linux内核定时器 Linux内核中断 int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,const char *name, void *dev) 功能:注册中断 参数: irq : 软中断号 gpio的软中断号 软中断号 gpio_to_i…

期末复习样卷

期末复习样卷 目录 期末复习样卷选择题简答题1. 画E-R图并将其转换为适当的关系模型2. 规范化模式分解——教学关系(学号,姓名,年龄,性别,系别,系主任,课程名,成绩)3.关系…

重装Windows系统

1.前言 有的时候,面对杂乱的文件系统,整理是十分困难的…… 有的时候,下载软件的时候会附带上某一些病毒、木马…… 有的时候,不满于更新后的系统…… 这些种种都可以使用重装系统解决,接下来我来带您学习重装windows…

煤炭价格学习

大佬发表时间在2022.11.17 神华月线,因为没有送配股,所以肯定是除权看的(前复权看的不要跟我谈技术,因为你不配) 除权,前复权,后复权 理解这三者区别之前,首先我们要简单了解 除权和…

【String字符串之后续】

我们继续上一篇文章为大家讲解,String字符串的相关知识,希望大家有所收获💞💞💞 字符串前篇的链接: link 目录 1.字符串的替换2.字符串的拆分3.字符串截取4.去掉空格5.String的不可变性6. 字符串的修改7.StringBuilde…

STL:string类使用

编码: ASCII unicode–utf-8 utf-16----一个字符2个字符 utf-32----一个字符4个字节 gbk–中文编码表 string: 是一个特殊的容器,对数据(字符数组)和库函数(strlen等)进行封装 STL提供的内容…

OpenStack部署(三)

OpenStack部署 6. Neutron6.1 创建Neutron数据库并授权6.2 获得admin凭证6.3 创建 neutron 用户并设置密码6.4 添加admin角色到neutron 用户6.5 创建neutron服务实体6.6 创建网络服务API端点6.7 安装并配置neutron服务6.8 链接plugin.ini文件6.9 初始化neutron数据库6.10 重启计…

连续两年!PingCAP 入选 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分

近日,全球权威信息技术研究与咨询机构 Gartner 发布了云数据库市场领域 2023 Gartner Peer Insights™“Voice of the Customer” 报告,PingCAP 在报告中获得的客户总体评分达到 4.9 分(满分 5 分),在所有入选企业中位…

CBCGPCaptionBar 使用实例说明

CBCGPCaptionBar的位置如下: 如图区域就是 MainFrame.h中声明: CBCGPCaptionBar m_wndCaptionBar; MainFrame.cpp中创建显示控件: BOOL CMainFrame::CreateCaptionBar () { if (!m_wndCaptionBar.Create (WS_CHILD | WS_V…

力扣第三天 242.有效字母异位词 349 两个数组的交集

目录 1.242. 有效的字母异位词 2.349. 两个数组的交集 - 力扣(LeetCode)​​​​​​ 使用算法笔记: 总结: 1.242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意…

15. 算法之排序算法

前言 排序是在软件开发中经常遇到的需求。比如基于订单的创建时间倒排,基于金额大小排序等等,那么这些排序底层是怎么写的呢,本节,我们就常用排序算法展开介绍。 1. 冒泡排序 1.1 算法思想 冒泡排序是最基础的排序算法。冒泡排…

HashMap 的底层原理和源码分析

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 推荐:体系化学习Java(Java面试专题) 文章目录 一、HashMap…

【迷宫】地下迷宫游戏-微信小程序开发流程详解

可曾记得,小时候上学路边买的透明铅笔盒,里面内嵌了一个小球,它用重力可从起点滚动到终点,对小朋友来说是感觉有趣的,在这个游戏的基础上,弄一款微信小程序的迷宫探索游戏试试,在不同关卡的迷宫…