mmclassification的配置文件样本
# 需要修改的参数
img_size = 480
class_name = ['fuqi','ok']
num_classes = len(class_name)
data_root = '/home/apulis-test/teamdata/yz_dataset/fuqi'
max_epochs=300
val_interval=1
train_batch_size = 16
val_batch_size = 1
load_from = "swin_tiny_224_b16x64_300e_imagenet_20210616_090925-66df6be6.pth"
dataset_type = 'CustomDataset'
#############################auto_scale_lr = dict(base_batch_size=1024)
bgr_mean = [103.53,116.28,123.675,
]
bgr_std = [57.375,57.12,58.395,
]
data_preprocessor = dict(mean=[123.675,116.28,103.53,],num_classes=num_classes,std=[58.395,57.12,57.375,],to_rgb=True)
default_hooks = dict(checkpoint=dict(interval=1, type='CheckpointHook'),logger=dict(interval=1, type='LoggerHook'),param_scheduler=dict(type='ParamSchedulerHook'),sampler_seed=dict(type='DistSamplerSeedHook'),timer=dict(type='IterTimerHook'),visualization=dict(enable=False, type='VisualizationHook'))
default_scope = 'mmpretrain'
env_cfg = dict(cudnn_benchmark=False,dist_cfg=dict(backend='nccl'),mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
launcher = 'none'
log_level = 'INFO'model = dict(backbone=dict(arch='tiny', drop_path_rate=0.2, img_size=img_size, type='SwinTransformer'),head=dict(cal_acc=False,in_channels=768,init_cfg=None,loss=dict(label_smooth_val=0.1, mode='original', type='LabelSmoothLoss'),num_classes=num_classes,type='LinearClsHead'),init_cfg=[dict(bias=0.0, layer='Linear', std=0.02, type='TruncNormal'),dict(bias=0.0, layer='LayerNorm', type='Constant', val=1.0),],neck=dict(type='GlobalAveragePooling'),train_cfg=dict(augments=[dict(alpha=0.8, type='Mixup'),dict(alpha=1.0, type='CutMix'),]),type='ImageClassifier')
optim_wrapper = dict(clip_grad=dict(max_norm=5.0),optimizer=dict(betas=(0.9,0.999,),eps=1e-08,lr=0.001,type='AdamW',weight_decay=0.05),paramwise_cfg=dict(bias_decay_mult=0.0,custom_keys=dict({'.absolute_pos_embed': dict(decay_mult=0.0),'.relative_position_bias_table': dict(decay_mult=0.0)}),flat_decay_mult=0.0,norm_decay_mult=0.0))
param_scheduler = [dict(by_epoch=True,convert_to_iter_based=True,end=20,start_factor=0.001,type='LinearLR'),dict(begin=20, by_epoch=True, eta_min=1e-05, type='CosineAnnealingLR'),
]
randomness = dict(deterministic=False, seed=None)
resume = False
test_cfg = dict()
test_dataloader = dict(batch_size=val_batch_size,collate_fn=dict(type='default_collate'),dataset=dict(data_root=data_root,data_prefix = 'val',with_label = True,classes = class_name,pipeline=[dict(type='LoadImageFromFile'),dict(backend='pillow',edge='short',interpolation='bicubic',scale=256,type='ResizeEdge'),dict(crop_size=img_size, type='CenterCrop'),dict(type='PackInputs'),],type=dataset_type),num_workers=5,persistent_workers=True,pin_memory=True,sampler=dict(shuffle=False, type='DefaultSampler'))
test_evaluator = dict(topk=(1,num_classes,), type='Accuracy')
test_pipeline = [dict(type='LoadImageFromFile'),dict(backend='pillow',edge='short',interpolation='bicubic',scale=256,type='ResizeEdge'),dict(crop_size=img_size, type='CenterCrop'),dict(type='PackInputs'),
]
train_cfg = dict(by_epoch=True, max_epochs=max_epochs, val_interval=val_interval)
train_dataloader = dict(batch_size=train_batch_size,collate_fn=dict(type='default_collate'),dataset=dict(data_root=data_root,data_prefix = 'train',with_label = True,classes = class_name,pipeline=[dict(type='LoadImageFromFile'),dict(backend='pillow',interpolation='bicubic',scale=img_size,type='RandomResizedCrop'),dict(direction='horizontal', prob=0.5, type='RandomFlip'),dict(hparams=dict(interpolation='bicubic', pad_val=[104,116,124,]),magnitude_level=9,magnitude_std=0.5,num_policies=2,policies='timm_increasing',total_level=10,type='RandAugment'),dict(erase_prob=0.25,fill_color=[103.53,116.28,123.675,],fill_std=[57.375,57.12,58.395,],max_area_ratio=0.3333333333333333,min_area_ratio=0.02,mode='rand',type='RandomErasing'),dict(type='PackInputs'),],type=dataset_type),num_workers=5,persistent_workers=True,pin_memory=True,sampler=dict(shuffle=True, type='DefaultSampler'))
train_pipeline = [dict(type='LoadImageFromFile'),dict(backend='pillow',interpolation='bicubic',scale=img_size,type='RandomResizedCrop'),dict(direction='horizontal', prob=0.5, type='RandomFlip'),dict(hparams=dict(interpolation='bicubic', pad_val=[104,116,124,]),magnitude_level=9,magnitude_std=0.5,num_policies=2,policies='timm_increasing',total_level=10,type='RandAugment'),dict(erase_prob=0.25,fill_color=[103.53,116.28,123.675,],fill_std=[57.375,57.12,58.395,],max_area_ratio=0.3333333333333333,min_area_ratio=0.02,mode='rand',type='RandomErasing'),dict(type='PackInputs'),
]
val_cfg = dict()
val_dataloader = dict(batch_size=val_batch_size,collate_fn=dict(type='default_collate'),dataset=dict(data_root=data_root,data_prefix = 'val',with_label = True,classes = class_name,pipeline=[dict(type='LoadImageFromFile'),dict(backend='pillow',edge='short',interpolation='bicubic',scale=256,type='ResizeEdge'),dict(crop_size=img_size, type='CenterCrop'),dict(type='PackInputs'),],type=dataset_type),num_workers=5,persistent_workers=True,pin_memory=True,sampler=dict(shuffle=False, type='DefaultSampler'))
val_evaluator = dict(topk=(1,num_classes,), type='Accuracy')
vis_backends = [dict(type='LocalVisBackend'),
]
visualizer = dict(type='UniversalVisualizer', vis_backends=[dict(type='LocalVisBackend'),])
需要注意的问题如下:
# 安装:
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
conda install pytorch torchvision -c pytorch
git clone https://github.com/open-mmlab/mmpretrain.git
cd mmpretrain
pip install -U openmim && mim install -e .Package Version Location
---------------------- --------------- ------------------------------------------------------------
addict 2.4.0
albumentations 1.1.0
aliyun-python-sdk-core 2.16.0
aliyun-python-sdk-kms 2.16.5
certifi 2021.5.30
cffi 1.17.1
charset-normalizer 3.4.0
click 8.1.7
colorama 0.4.6
crcmod 1.7
cryptography 43.0.3
cycler 0.10.0
Cython 0.29.24
efficientnet-pytorch 0.7.1
einops 0.8.0
filelock 3.14.0
flatbuffers 2.0
idna 3.10
imageio 2.13.1
importlib-metadata 8.5.0
instaboostfast 0.1.2
jmespath 0.10.0
joblib 1.1.0
kiwisolver 1.3.2
Markdown 3.7
markdown-it-py 3.0.0
mat4py 0.6.0
matplotlib 3.4.3
mdurl 0.1.2
mkl-fft 1.3.0
mkl-random 1.2.2
mkl-service 2.4.0
mmcv 2.1.0
mmcv-full 1.4.0
mmengine 0.10.5
mmpretrain 1.2.0 /home/apulis-test/userdata/code/mycode/mmclassification-main
model-index 0.1.11
modelindex 0.0.2
networkx 2.6.3
numpy 1.22.3
olefile 0.46
onnx 1.11.0
onnxruntime-gpu 1.11.1
opencv-python 4.5.3.56
opencv-python-headless 4.5.4.60
opendatalab 0.0.10
openmim 0.3.9
openxlab 0.1.2
ordered-set 4.1.0
oss2 2.17.0
packaging 24.2
pandas 2.0.3
Pillow 8.4.0
pip 21.0.1
protobuf 3.20.1
pycocotools 2.0.3
pycparser 2.22
pycryptodome 3.21.0
pygments 2.18.0
pyparsing 2.4.7
python-dateutil 2.8.2
pytz 2023.4
PyWavelets 1.2.0
PyYAML 6.0
qudida 0.0.4
requests 2.28.2
rich 13.4.2
scikit-image 0.18.3
scikit-learn 1.0.1
scipy 1.7.3
setuptools 60.2.0
six 1.16.0
some-package 0.1
tabulate 0.9.0
termcolor 2.4.0
terminaltables 3.1.0
threadpoolctl 3.0.0
tifffile 2021.11.2
timm 0.4.12
torch 1.8.0
torchaudio 0.8.0a0+a751e1d
torchvision 0.9.0
tqdm 4.65.2
typing-extensions 4.12.2
tzdata 2024.2
urllib3 1.26.20
wheel 0.37.0
yacs 0.1.8
yapf 0.31.0
zipp 3.20.2# 验证是否安装成功
python demo/image_demo.py demo/demo.JPEG resnet18_8xb32_in1k --device cpu# 训练:
python tools/train.py configs/swin_transformer/yz.py
# 多卡训练
bash ./tools/dist_train.sh configs/swin_transformer/yz.py# 评估
python tools/test.py configs/swin_transformer/yz.py work_dirs/yz/epoch_300.pth# 推理:
python demo/image_demo.py configs/swin_transformer/yz.py work_dirs/yz/epoch_300.pth
相关文章:
mmclassification的配置文件样本
# 需要修改的参数 img_size 480 class_name [fuqi,ok] num_classes len(class_name) data_root /home/apulis-test/teamdata/yz_dataset/fuqi max_epochs300 val_interval1 train_batch_size 16 val_batch_size 1 load_from "swin_tiny_224_b16x64_300e_imagenet_…...

Java基础——类和对象的定义链表的创建,输出
目录 什么是类? 什么是对象? 如何创建链表? 尾插法: 头插法: 输出链表的长度 输出链表的值 什么是类? 创建Java程序必须创建一个类class. .java程序需要经过javac指令将文件翻译为.class字节码文件,…...

Linux应用项目之量产工具(一)——显示系统
目录 前言 项目特点及介绍 ① 简单易用 ② 软件可配置、易扩展 ③ 纯 C 语言编程 软件总框架 显示系统 1.数据结构抽象 disp_manager.h 2.Framebuffer编程 framebuffer.c 3.显示管理 disp_manager.c 4.单元测试 disp_test.c 顶层目录Makefile 顶层目录Makefil…...

Python小白学习教程从入门到入坑------第二十九课 访问模式(语法进阶)
目录 一、访问模式 1.1 r 1.2 w 1.3 1.3.1 r 1.3.2 w 1.3.3 a 1.4 a 一、访问模式 模式可做操作若文件不存在是否覆盖r只能读报错-r可读可写报错是w只能写创建是w可读可写创建是a只能写创建否,追加写a可读可写创建否,追加写 1.1 r r&…...

使用 PageHelper 在 Spring Boot 项目中实现分页查询
目录 前言1. 项目环境配置1.1 添加 PageHelper 依赖1.2 数据库和 MyBatis 配置 2. 统一的分页响应类3. 使用 PageHelper 实现分页查询3.1 Service 层分页查询实现3.2 PageHelper 分页注意事项 4. 控制层调用示例5. 常见问题与解决方案5.1 java.util.ArrayList cannot be cast t…...

深度学习-张量相关
一. 张量的创建 张量简介 张量是pytorch的基本数据结构 张量,英文为Tensor,是机器学习的基本构建模块,是以数字方式表示数据的形式。 例如,图像可以表示为形状为 [3, 224, 224] 的张量,这意味着 [colour_channels, h…...

电脑提示xinput1_3.dll丢失怎么解决,分享6种有效的解决方法
xinput1_3.dll 是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色,特别是在处理游戏控制器和其他输入设备的交互方面。这个文件是Microsoft DirectX软件包的一部分,DirectX是微软公司开发的一个多媒体…...

【计网】数据链路层笔记
【计网】数据链路层 数据链路层概述 数据链路层在网络体系结构中所处的地位 链路、数据链路和帧 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时&a…...
蓝牙FTP 协议详解及 Android 实现
文章目录 前言一、什么是蓝牙 FTP 协议?二、FTP 的工作流程1.蓝牙设备初始化2. 设备发现与配对3. 建立OBEX FTP 连接4. 文件传输文件上传(通过OBEX PUT命令)文件下载(通过OBEX GET命令) 5. 关闭OBEX会话 三、进阶应用与…...
【前端】Svelte:动画效果
在现代前端开发中,动画效果可以大大提升用户体验,使应用更生动、易用。Svelte 提供了灵活的动画 API,让开发者能够快速实现从简单过渡到复杂动画的各种效果。本文将系统性地介绍 Svelte 的动画功能,并通过多个示例演示如何创建动感…...
2024系统架构师--论基于架构的软件设计方法(ABSD)及应用(论文范文)
题目: 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架…...

ORU 的 Open RAN 管理平面 (M 平面)
[TOC](ORU 的 Open RAN 管理平面 (M 平面)) ORU 的 Open RAN 管理平面 (M 平面) https://www.techplayon.com/open-ran-management-plane-m-plane-for-open-radio-unit/ ORU M 平面 在 ORAN 中,设置参数的 O-RU 管理功能是通过 M-Plane 完成的。管理功能包括 O-…...

软件缺陷等级评定综述
1. 前言 正确评估软件缺陷等级,在项目的生命周期中有着重要的作用: 指导缺陷修复的优先级和资源分配 在软件开发和维护过程中,资源(包括人力、时间和资金)是有限的。通过明确缺陷的危险等级,可以帮助团队合…...

Nuxt.js 应用中的 schema:extend事件钩子详解
title: Nuxt.js 应用中的 schema:extend事件钩子详解 date: 2024/11/10 updated: 2024/11/10 author: cmdragon excerpt: schema:extend 钩子使开发者能够扩展默认数据模式,为特定业务需求添加自定义字段和验证。 categories: 前端开发tags: Nuxt钩子数据扩展自定义验证应…...

自然语言处理在客户服务中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 引言 自然语言处理概述 定义…...

OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!| LLM×MapReduce,无需训练就超越GPT-4!
大模型领域的发展日新月异,每天都有许多有趣的论文值得深入品读。下面是本期觉得比较有意思的论文: 1、OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!2、超长文本处理新突破!LLMMapReduce&…...

springboot静态资源映射不生效问题
最近有个同事问我,静态资源映射不生效的问题,很正常我想不就是配置下资源路径就可以了吗?类似配置如下代码 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerR…...

通过 SSH 隧道将本地端口转发到远程主机
由于服务器防火墙,只开放了22端口,想要通过5901访问服务器上的远程桌面,可以通过下面的方式进行隧道转发。 一、示例命令 这条代码的作用是通过 SSH 创建一个 本地端口转发,将你本地的端口(5901)通过加密的 SSH 隧道连接到远程服务器上的端口(5901)。这种方式通常用于在…...

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案
本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。 2.1 Android12 前摄后摄 网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码…...

初见Linux:基础开发工具
前言: 这篇文章我们将讲述Linux的基本开发工具,以及讨论Linux的生态圈,最后再了解vim开发工具。 Yum: YUM(Yellowdog Updater Modified)是一个在Linux系统中用于管理软件包的工具,特别是在基于…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...