MMPretrain


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'),

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pikachu靶场-../../(目录遍历)

目录遍历, 也叫路径遍历, 由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件 (可以是web根目录以外的文件),甚至…

pytorch深度学习框架—torch.nn模块(二)

pytorch深度学习框架—torch.nn模块(二) 激活函数 pytorch中提供了十几种激活函数,常见的激活函数通常为S形激活函数(Sigmoid)双曲正切激活函数(Tanh) 和线性修正单元(ReLu)激活函数等 层对应的…

Linux笔记

版本用的是CentOS7最min版 安装JDK:安装上传工具包:自动安装 yum install lrzsz -y 上传本地文件: rz -be 解压jdk: tar -zxvf jdk-8u371-linux-x64.tar.gz -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案…

关于 vue2 后台管理系统构建 vue2+mock.js 的经典案例

一,初识 Mock.js 1.什么是 mock.js: 主要是模拟数据生成器,可以生成随机数据,拦截器 Ajax 请求 2.为什么要使用 mock.js 由于很多学生在学习过程中,后端还没有做好接口,写好接口文档,有了mock.js 前端就…

如何识别二叉树的“亲戚”?——探秘判断子树的奥妙

本篇博客会讲解力扣“572. 另一棵树的子树”的解题思路,这是题目链接。先来审题: 本题的思路是:使用递归,把大问题化作小问题。 先来思考:如何判断q是不是p的子树呢? q是p的子树有3种情况,分别…

MyBatis操作数据库(查询功能)

目录 一、MyBatis的概念 二、配置MyBits环境 三、 MyBatis连接数据库查询操作(示例) 创建MySQL数据库表 配置MyBatis 配置连接数据库和MyBatis xml文件 ​编辑 四、添加业务代码 实体类entity 数据持久层mapper 创建接口类 创建xml文件 服务层…

Spring Security--会话管理

就像登录qq一样,一个手机登录会将另外一个手机挤下线,这个就叫会话管理。 这个东西非常简单,在默认情况下可以登录n多次,一旦开启,就不允许登录多个。 什么是一个会话。 我们简单理解就是一个浏览器的同一个用户算一…

汉明码(Hamming Code)底层原理

汉明码(Hamming Code)底层原理 3Blue1Brown:Hamming Code【Part1】 3Blue1Brown:Hamming Code【Part2】 Hamming Code如何检查错误和定位错误? 检查错误通过奇校验或偶校验确定是否发生错误 定位错误通过依次对行和列…

将递归函数转成非递归函数的通用方法

看到过一道非常不错的面试题:不支持递归的程序语言如何实现递归程序? 之所以说这道题好,是因为: 首先,它不是纯粹考概念和死记硬背,求职者在回答问题之前需要进行一定的思考; 其次&#xff0c…

Debezium系列之:记录一次生产环境SQLServer数据库删除日志文件造成debezium connector数据不采集的解决方法

Debezium系列之:记录一次生产环境SQLServer数据库删除日志文件造成debezium connector数据不采集的解决方法 一、背景二、快速定位问题三、详细的解决步骤四、确认debezium connector恢复对数据库的数据采集五、经验总结一、背景 SQLServer数据库的日志把磁盘打满了,需要删除…

JAVA 实现 Redis 发布订阅

Redis 发布订阅 发布订阅:消息发布者发布消息 和 消息订阅者接收消息,两者之间通过某种媒介联系起来 例如订杂志,当自己订阅了爱格杂志,每个月会发刊一本。到发布的时候派送员将杂志送到自己手上就能看到杂志内容。只有我们订阅了…

C语言之结构体讲解

目录 结构体类型的声明 结构体初始化 结构体成员访问 结构体传参 对于上期指针初阶(2)我们后期还会讲数组指针是什么?大家可以先思考一下,后期我们会讲 1.结构体的声明 结构是一些值的集合,这些值被称为成员变量&am…

第二类曲线积分

文章目录 第二类曲线积分一、向量场是什么?二、向量场可视化三、计算1. 计算方式一2. 计算方式二 第二类曲线积分 因为之前学习第二类曲线的时候,不是很理解;所以最近看了mit的多元微积分课程,做一些课程笔记。 一、向量场是什么…

字符集和java的编码与解码

一、ASCII和GBK字符集 计算机存储一个英文字符需要一个字节。 ASCII字符集,包括128(0000000B~1111111B)个数据,存储英文字母和字符,对于欧美国家够用。 例如,存储字符’a’,查询ASCII得到为97&a…

C语言中的基本数据类型

C语言中的基本数据类型分别为以下几种 整型、浮点型、字符类型 整型又分为整型int、短整型short、长整型long 浮点型分为单精度浮点型float、双精度浮点型double 1、短整型short 2.整型 3.长整型 短整型、长整型、整形都是表示整形的,并且输出结果也都为10&…

【大数据之Hive】十一、Hive-HQL查询之基本查询

基础语法 select [all | distinct] select_expr,select_expr, ...from table)name --从什么表查[where where_condition] --过滤[group by col_list] --分组查询[having col_list] --分组后过滤[order by col_list] --排序[cluster by col_list | …

leetcode 152.乘积最大子数组

题目描述 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 来源:力扣&a…

C++入门攻略

C补足C语言部分缺陷 1.命名空间:1.1 命名空间namespace关键字1.命名空间中可以定义变量、函数、类型2.命名空间可以嵌套3.相同命名空间共存 1.2 命名空间的使用方式:1.名称加用域作用限定符的方式访问(同上)2.使用using引入某个空…

Java并发之 Lock 锁

一、Lock接口 1 Lock简介&地位&作用 锁是一种工具,用于控制对共享资源的访问Lock和synchronized是最常见的两个锁,他们都能够达到线程安全的目录,但是使用和功能上又有较大的不同Lock接口最常见的实现类就是ReentrantLock通常情况下…

C:\Users\BC>conda -V ‘conda‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

C:\Users\BC>conda -V ‘conda’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 注意!:Anaconda安装路径和Scripts路径,两个都添加进去Path 解释:将 Anaconda 安装路径和 Scripts 路径都添加到系统的 PA…