2023.2.3 openmmlab ai训练营直播笔记(未美化条理完整)

mmcls理论、答疑、布置作业、超算平台使用

定义数据、数据预处理、

基于dataset,做dataload做采样;

写模型(nn.module),前传计算图

device cuda 传入gpu计算;

optimizer优化模型参数;

写函数train内层循环,遍历数据集,前传预测概率,做损失,再反向传播算梯度,写logs

还有一个外层的t为参计数的循环

并且要把模型训练好的参数存储文件.pth ;

应用于新数据集的部署:

实例化,加载训练好的参数,找一个数据集,

把模型调成eval(module.eval() ),

在no_grad下,同样的数据预处理,丢到模型里产生预测值

配置文件: openmmlab module zoo里可以下载;同样功能命令行下载方式是:mim download mmcls --config mobilenet-v2_8xb32_inlk --dest .

下载下来配置文件与对应的参数文件

pipeline,定义了从加载数据集到输入网络的东西:读入,数据增强,

训练子集,验证子集,测试子集;

优化器们

简单的高级api读入模型并且进行推理:

使用init_modle,inference_modle

init_model(config,对应pth,device)

推理inference_model(model, '图片')

可视化shou_result_pyplot(初始化后模型,'图片',推理结果)

训练:

基于预训练模型进行微调训练:

修改配置文件,model字段修改num_classed,设置load_from为预训练好的pth;

data字段修改type为customdataset,配置路径;ann_file的标注;数据增强部分按需改动。

优化器部分,可选的修改,但是记得gpu个数不同,等比要修改lr。

runner字段定义训练epoch轮数,log_config中interval修改多少iteration后输出一次log

启动训练:

mim train mmcls 配置文件

交叉熵损失的函数应该要弄得比较懂一些。

答疑部分:

拥有全连接层的网络要求输入图像的尺寸的恒定的;用global ag来代替全连接层就可以使用不同的输入大小;

实践部分:

conda安装pytorch缓慢的原因,slove envirnment很久,并且condatool很久;

按照视频走的话到了分割数据集的一步没有完全同步,分割完数据集之后进行配置文件的下载与准备,每个人可以使用不同的。

提交训练任务到gpu服务器: 书写一个run.sh 文件

(#!/bin/bash 设置编译器

module load 三个你使用环境需要的

source activate 环境

export PYTHONUNBUFFERED=1 用以刷新log

python tools/train.py --configs ... 正常些python运行train.py所需要的

将上述.sh命令行文件提交:sbatch --gpus=1 run.sh

parajobs 查看提交的作业,用输出的id来查看log输出,可以用节点id,用ssh 来查看,例如ssh g0099 进入到gpu环境,使用nvidia-smi 来查看

使用grep python 来查看进程;exit来退出

log会存储在提交.sh文件目录下的的slurm,使用tail -f 文件查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值