MMPose保姆级教工程(班长推荐)

MMPretrain保姆级教程_哔哩哔哩_bilibili

水平一般建议直接看原UP主教程

创建环境,安装依赖

conda create -n open-mmlab python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
conda activate open-mmlab
pip install openmim
git clone https://github.com/open-mmlab/mmpretrain.git
cd mmpretrain
mim install -e .

安装完成后,执行下面代码测试

python demo/image_demo.py demo/demo.JPEG resnet18_8xb32_in1k --device gpu:0

使用python执行demo文件夹下image_demo.py脚本,对图片demo/demo.JPEG使用ResNet网络结构,使用的设备是CPU,会直接下载resnet权重

查询支持的权重

import mmpretrain
mmpretrain.list_models()

文件结构

configs配置文件
data数据集存储路径
demo入门案例
docs中英文文档教程
mmpretrain模块化代码
projects工程实例
resources图片、视频等静态资源
tests组件维度测试脚本
tools训练、测试、可视化等工具集
work_dirs运行代码产生的文件存放地

现有数据集+现有模型

#未做测试
python mmpretrain/tools/train.py mmpretrain/configs/resnet/resnet10_8xb16_cifar10.py 

现有数据集+自定义模型

方案1:

  1. 使用pytorch实现完整的前向传播,并测试好维度
  2. 按照MMPretrain的约定将进行代码转换以及配置文件的改写

方案2:

  1. 通过端点调试以及可视化的方式理解官方代码的维度变换
  2. 在理解的基础上直接按照约定改写官方代码

LegoAI:以可视化的方式搭建神经网络

ZS520L/LegoAI-by-AUST: 基于节点编辑器开发的用于可视化构建神经网络的神器。Based on node editor development artifacts for visualization to build neural networks. (github.com)

自定义模型心得:

  1. 虽然模型被拆分成了不同份组件,但是组件之间并不能任意组合
  2. 各个组件的输出并不一定是Tensor,也有可能是Tuple
  3. 并不是每个组件都是必须的,例如可以没有neck
  4. loss是和head绑定的,拆解模型的时候需要注意

 

import torch
import torch.nn as nn
import torch.nn.functional as F
class Net(nn.Module):
    def __init__(self):
        super(Net, self)._init_()
        self.conv1 = nn.Conv2d(3,6,5)
        self.pool = mn.MaxPool2d(2,2)
        self.conv2 = nn.Conv2d(6,16,5)
        self.fcl = mn.Linear(16 * 5 * 5,120)
        self.fc2 = nn.Linear(120,84)
        self.fc3 = mn.Linear(84,10)
    def forward(self, x):
        x = self.pool(F.relu(self.convl(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1,16*5*5)
        x = F.relu(self.fc1(x))
        x = F.relu(solf.fc2(x))
        x = self.fc3(x)
        return x
din = torch.randn(16,3,32,32)
net = Net()
net(din).shape

数据集下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值