【OpenMMLab】深度学习预训练与 MMPreTrain

mmpretrain学习笔记 (4)数据集路径 data_root=‘data/imagenet’–》data_root=‘data/Fruits Dataset/images’(7)适当的修改num_workers、epochs、batch_size、lr等。3、训练优化 :梯度下降算法、学习率参数、训练总轮次、学习率变化策略等。my_resnet18_8xb32_in1k.py 完整的配置文件。(6)split=‘train’、split='val’注释掉。2、数据:数据集划分、数据文件路径、批大小、数据增强策略等。 阅读详情

系列文章目录

第一课:【OpenMMLab】OpenMMLab概述
第二课:【OpenMMLab】人体姿态估计、关键点检测与MMPose

一、MMPreTrain 算法库介绍

MMPretrain 是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络,并支持不同的预训练策略。
MMPretrain 源自 MMClassification 和MMSelfSup,并开发了许多新功能。预训练阶段对于视觉识别至关重要,凭借丰富而强大的预训练模型,能够用于改进各种下游视觉任务。 代码库旨在成为一个易于使用和用户友好的代码库,并简化学术研究活动和工程任务。
博客视频:https://www.bilibili.com/video/BV1PN411y7C1
代码仓库:https://github.com/open-mmlab/mmpretrain
文档教程:https://mmpretrain.readthedocs.io/en/latest
在这里插入图片描述

安装步骤

conda create -n your_env_name python=3.8
conda activate your_env_name
pip install -U openmim
# 此处省略配置pytorch环境,具体可参考 《【OpenMMLab】人体姿态估计、关键点检测与MMPose》
git clone https://github.com/openmmlab/mmpretrain.git
cd mmpretrain
mm install -e .

# 多模态依赖
mim install -e ".[multimodal]"

配置文件

配置文件涉及一下几个方面:

  • 模型结构 模型几层,每层的通道数等
  • 数据 数据集划分、数据文件路径、批大小、数据增强策略等
  • 训练优化 优化器的选择、学习率参数、训练总轮次、学习率调整策略等
  • 运行时 GPU、分布式环境配置等
  • 辅助功能 打印日志、保存 checkpoints 等

代码框架

  1. apis: 顶层 api 接口,支持各类推理任务
  2. datasets:支持了各类数据集,数据变换等
  3. engine: 支持各类钩子,优化器等训练相关组件
  4. evaluation:各类评测相关函数和指标计算
  5. models:各类算法模型的定义
  • backbones 图像的特征提取器,各类主千网络的定义
  • necks 承接 backbone 和 head 之间的其它计算 (例如高维特征解码,多尺度特征融合等)
  • heads 主要为相关 loss 计算和推理结果的预测classifier,selfsup,multimodal 则为模型高阶抽象定义
  1. structures: DataSample 数据结构的定义
  2. utils: 相关工具
  3. visualization:可视化的支持

配置文件的运作方式

在这里插入图片描述

二、经典主干网络

AlexNet VGG GoogLeNet

在这里插入图片描述

ResNet

在这里插入图片描述

ViT

  • 将图像切分成若干 16x16 的小块,所有块排列成“词向量”,先经过线性层映射,一张[H,W,C]维度的图片变为[L, C],再经多层 Transformer Encoder 的计算产生相应的特征向量
  • 图块之外加入额外的 token,用于 query 其他 patch 的特征并给出最后分类
  • 注意力模块基于全局感受野,复杂度为尺寸的4次方(像素数量的2次方)
    在这里插入图片描述

三、自监督学习

在这里插入图片描述

SimCLR (ICML 2020)

基本假设:如果模型能很好地提取图片内容的本质,那么无论图片经过什么样的数据增强操作,提取出来的特征都应该极为相似。
对于某种图片 x x x,分别对它进行两次数据增强,得到 x 1 x_1 x1​和 x 2 x_2 x2​

  • x 1 x_1 x1​和 x 2 x_2 x2​互为正样本
  • 其他图片的增强结果都是 x 1 x_1 x1​和 x 2 x_2 x2​的负样本
    InfoNCE Loss
    ℓ i , j = − l o g e x p ( s i m ( z i , z j ) / τ ) ∑ k = 1 2 N 1 [ k ≠ 1 ] e x p ( s i m ( z i , z k ) / τ ) \ell_{i, j}=-log\frac{exp(sim(z_i, z_j)/\tau)}{\sum_{k=1}^{2N}\mathbb{1}_{[k \neq1]}exp(sim(z_i, z_k)/\tau)} ℓi,j​=−log∑k=12N​1[k=1]​exp(sim(zi​,zk​)/τ)exp(sim(zi​,zj​)/τ)​
    在这里插入图片描述

MAE

基本假设: 模型只有理解图片内容、掌握图片的上下文信息,才能恢复出图片中被随机遮挡的内容
在这里插入图片描述

四、多模态算法

CLIP

在这里插入图片描述

BLIP

在这里插入图片描述

开源预训练框架 MMPRETRAIN官方文档(高级指南) 在新的数据集教程中,我们知道数据集类使用该load_data_list方法来初始化整个数据集,并将每个样本的信息保存到一个字典中。通常,为了节省内存使用,我们只加载load_data_list 中的图像路径和标签,并在使用时加载完整的图像内容。此外,我们可能希望在训练时选取样本时进行一些随机数据增强。几乎所有的数据加载、预处理和格式化操作都可以通过数据管道在 MMPretrain 中配置。数据管道意味着当从数据集中索引样本时如何处理样本字典。它由一系列数据转换组成。 阅读详情

相关推荐

OpenMMLab AI笔记10——深度学习预训练与MMPreTrain

MMPreTrain是一个新的升级框架,它源自于MMSelfSup和我们熟悉的MMClassification,因为这两个算法库在模型功能等一些方面存在重合的部分,核心开发者便把他们合成MMPreTrain,旨在成为一个易于使用和用户友好的代码库,并简化学术研究和工程任务。另外,MMPreTrain也合入了多模态相关的功能,支持多种多模态算法和下游任务。

m0_62777538的博客 482

开源预训练框架 MMPRETRAIN官方文档(概览、环境安装与验证、基础用户指南)

在本节中,我们将演示如何使用 PyTorch 准备环境。MMPretrain 适用于 Linux、Windows 和 macOS。它需要 Python 3.7+、CUDA 10.2+ 和 PyTorch 1.8+。在本教程中,我们提供了一个练习示例以及一些有关如何在您自己的数据集上进行训练的技巧。在 MMPretrain 中,我们支持CustomDataset(类似于ImageFolderin torchvision),可以直接读取指定文件夹内的图像。

qq_41627642的博客 8323

【OpenMMLab】OpenMMLab概述

OpenMMLab 诞生于2018年,是一个由中国开发者主导的人工智能计算机视觉开源算法体系。每个计算机视觉任务都有相应的OpenMMLab在Github上开源。OpenMMLab 已经累计开源了超过30个算法库,大量的预训练模型,涵盖了图像识别分类,目标检测,语义分割,姿态估计等等各种计算机视觉任务。而且这些算法库都在Github上免费开源,可以直接下载所有的源代码和预训练文件。

DplusC的博客 2537

AI实战营:深度学习预训练与MMPreTrain

一、MMPretrain算法库介绍 算法库与任务组成 1 1 1 框架概览 1 1 1 二、经典主干网络 ResNet 1 1 1 Vision Transformer 1 1 1 三、自监督学习 SIMCLR 1 1 1 MAE 1 1 1 四、多模态算法 CLIP 1 1 1 BLIP 1 1 1

guwuyue的博客 1511

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7696

STM32 BLDC无刷电机霍尔信号捕获与换相控制实战解析

本文深入解析了STM32如何实现BLDC无刷电机的霍尔信号捕获与换相控制。详细阐述了硬件接口配置、定时器霍尔传感器模式的使用、抗干扰的滤波器与软件容错设计,以及中断服务与换相逻辑的实战代码。重点解决了信号抖动、换相不准等常见问题,旨在帮助开发者构建稳定可靠的电机驱动基础。

weixin_29193259的博客 365

上手OpenMMLab——深度学习预训练与MMPretrain

MMPretrain 是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络, 并支持了不同的预训练策略。MMPretrain 源自著名的开源项目和MMSelfSup,并开发了许多令人兴奋的新功能。

Yuetian_w的博客 1141

从零开始学习PX4源码9(部署px4源码到gitee)

由于PX4-Autopilot托管在github,在没有翻墙的情况下,下载固件无法下载。为了提高下载速度,这里将PX4在github上的仓库以及其子仓库(依赖仓库)都搬移到gitee上了。本教程讲解如何快速部署px4固件到gitee上,实现不需要翻墙快速本地就可以下载PX4固件。暂时没有找到如何批量直接通过修改.gitmodules后,使用什么命令可以直接把所有的一级二级子模块的指向直接正常映射。!!

陌城烟雨 805

OpenMMLab-4-深度学习预训练与MMPretrain

在深度学习和自然语言处理(NLP)中,"token"一词通常指的是将输入文本分割成的更小的单元。Token可以是单词、子词或者字符,具体的选择取决于所使用的分词(tokenization)策略。比如,如果你使用空格和标点符号来分割英文文本,那么每个单词和标点符号都是一个token。例如,句子 “I love AI.” 会被分割成三个单词tokens “I”、“love” 和 “AI”,以及一个标点符号token “.”。

sinat_29552897的博客 436

CANape a2l文件的编辑教程

编辑a2l文件

wsq119的博客 1万+

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1103

【OpenMMLab AI实战营第二期】深度学习预训练与MMPretrain

MMPretrain 是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络, 并支持了不同的预训练策略。MMPretrain 源自著名的开源项目 MMClassification 和 MMSelfSup,并开发了许多令人兴奋的新功能。目前,预训练阶段对于视觉识别至关重要,凭借丰富而强大的预训练模型,我们能够改进各种下游视觉任务。我们的代码库旨在成为一个易于使用和用户友好的代码库库,并简化学术研究活动和工程任务。我们在以下不同部分中详细介绍了 MMPretrain 的特性和设计。

JeffDing 869

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 229

【OpenMMLab AI实战营二期笔记】第四天 深度学习预训练与MMPretrain

MMPretrain是一个全新升级(MMPretrain originates from MMClassification and MMSelfSup )的预训练开源算法框架,旨在提供各种强大的预训练主干网络,并支持了不同的预训练策略。主要功能:(1):包括主干模型、自监督学习算法、多模态学习算法(2):COCO、ImageNet等常见数据集(3):优化器与学习率策略、数据增强策略(4)

qq_41776136的博客 609

【同等学力】01-逻辑符号表达

F(x): x是确诊者,G(x):x有症状F(x): x是老人,G(x):x是宠物,L(x,y): x喜欢y。

super_mochi1 1870

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

努力让自己发光,对的人才能迎着光而来 13万+

OpenMMLab AI实战训练营day4-深度学习预训练和MMPreTrain

MMPretrain是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络,并支持了不同的预训练策略。MMPretrain源自MMClassification和 MMSelfSup,并开发了许多令人兴奋的新功能。目前,预训练阶段对于视觉识别至关重要,凭借丰富而强大的预训练模型,我们能够改进各种下游视觉任务。我们的代码库旨在成为一个易于使用和用户友好的代码库,并简化学术研究活动和工程任务。MMPretrain含有丰富的模型,大量数据集支持,超多训练技巧与策略,以及其易用性。

lgwwslgw的博客 189

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OpenMMLab学习笔记四(深度学习预训练与MMPreTrain)

今天继续学习MMPreTrain的内容,之前在Huggingface上稍稍调用过一些预训练模型解决课题任务,最近也了解了SAM模型,感觉“pre-train is all you need!而今天的学习中也了解到了MMPreTrain可以提供跟多CV预训练模型和框架,以及很多现成的功能,感觉非常有用,在未来的自我提升学习中会大有帮助,继续加油!昨天成功实现了作业一,感觉小有成就,也深感CV领域真是有趣,希望今后可以将NLP和CV都提升到一定的水准。

weixin_44732298的博客 235

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

OpenMMLab-AI实战营第二期——3-1.深度学习预训练与MMPretrain

视频链接:b站-深度学习预训练与MMPretrain官网: self-attention对比学习 掩码学习 对比学习+掩码学习双流网络,zero-shot分类器

啷个哩个啷 931

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【OpenMMLab】AI实战营第二期Day4:深度学习预训练与MMPretrain

这是一节介绍深度学习预训练和mptrain的相关课程,其中包括任务组成和框架概览、经典主干网络的介绍、自监督学习、多模态算法中的clip以及blip两个算法等。

墨门 158

2023 OpenMMlab AI实战训练营 第三讲笔记 深度学习预训练与MMPretrain

Blue_N_WhiteBowl的博客 295

【OpenMMLab】MMSegmentation 代码

第一课:【OpenMMLab】OpenMMLab概述 第二课:【OpenMMLab】人体姿态估计、关键点检测与MMPose 第三课:【openMMLab】MMPose 代码教程 第四课:【OpenMMLab】深度学习预训练与 MMPreTrain 第五课: 【OpenMMLab】MMPretrain 代码教程 第六课:【OpenMMLab】目标检测与MMDetection 第七课:【OpenMMLab】MMDetection 代码 第八课:【OpenMMLab】语义分割与MMSegmentationMMSe

DplusC的博客 410

MMPreTrain:破解深度学习预训练难题的智能工具箱

在深度学习研究与应用中,预训练模型已成为提升性能的关键路径。然而,面对海量的模型架构、复杂的训练策略以及繁琐的实验流程,研究人员和工程师常常陷入"选择困难症"和"实现瓶颈"。如何快速验证新想法?如何高效复现前沿工作?如何将预训练技术无缝集成到实际项目中?这些挑战正是MMPreTrain致力于解决的核心问题。 ## 从实验困境到效率革命:MMPreTrain的诞生背景 传统深度学习预训练面临三大

gitblog_00113的博客 803

MMPRETRAIN安装环境配置指南

mmpretrain安装与环境配置

2402_83398439的博客 1203

革命性AI预训练工具mmpretrain:一站式解决200+深度学习模型难题

mmpretrain是OpenMMLab推出的预训练工具箱与基准测试平台,为AI开发者提供了一站式解决方案,轻松应对200多种深度学习模型的训练与部署难题。无论是计算机视觉领域的图像分类、目标检测,还是迁移学习任务,mmpretrain都能提供高效、灵活的支持,帮助开发者快速构建和优化AI模型。 ## 🌟 为什么选择mmpretrain?三大核心优势解析 ### 1️⃣ 超丰富模型库:200

gitblog_00367的博客 520
上一篇: 【openMMLab】MMPose 代码教程
下一篇: 【OpenMMLab】MMPretrain 代码教程
Donny0v0
博客等级 码龄8年 78粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值