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…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
