提交 deb8e987 编写于 作者: Y Yang Nie 提交者: Tingquan Gao

rename v2 to V2

上级 be6a22be
# MobileViTv2
# MobileViTV2
-----
## 目录
......@@ -24,8 +24,7 @@
### 1.1 模型简介
MobileViTv2 是一个结合 CNN 和 ViT 的轻量级模型,用于移动视觉任务。通过 MobileViTv2-block 解决了 MobileViTv1 的扩展问题并简化了学习任务,从而得倒了 MobileViTv2-XXS、XS 和 S 模型,在 ImageNet-1k、ADE20K、COCO 和 PascalVOC2012 数据集上表现优于 MobileViTv1。
通过将提出的融合块添加到 MobileViTv2 中,创建 MobileViTv2-0.5、0.75 和 1.0 模型,在ImageNet-1k、ADE20K、COCO和PascalVOC2012数据集上给出了比 MobileViTv2 更好的准确性数据。[论文地址](https://arxiv.org/abs/2209.15159)
MobileViT 中的主要效率瓶颈是Transformer中的多头自注意力,影响资源受限设备上的延迟。MobileViTV2 提出了一种具有线性复杂度的可分离自我注意力方法,它使用一个简单而有效的逐元素操作来计算自我注意力,使其成为资源受限设备的良好选择,在移动设备上运行时比MobileViT快3.2倍。[论文地址](https://arxiv.org/abs/2206.02680)
<a name='1.2'></a>
......@@ -33,10 +32,10 @@ MobileViTv2 是一个结合 CNN 和 ViT 的轻量级模型,用于移动视觉
| Models | Top1 | Top5 | Reference<br>top1 | Reference<br>top5 | FLOPs<br>(G) | Params<br>(M) |
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
| MobileViTv2_x0_5 | 0.7017 | 0.89884 | 0.7018 | - | 480.46 | 1.37 |
| MobileViTv2_x1_0 | 0.7813 | 0.94172 | 0.7809 | - | 1843.81 | 4.90 |
| MobileViTv2_x1_5 | 0.8034 | 0.95094 | 0.8038 | - | 4090.07 | 10.60 |
| MobileViTv2_x2_0 | 0.8116 | 0.95370 | 0.8117 | - | 7219.23 | 18.45 |
| MobileViTV2_x0_5 | 0.7017 | 0.89884 | 0.7018 | - | 480.46 | 1.37 |
| MobileViTV2_x1_0 | 0.7813 | 0.94172 | 0.7809 | - | 1843.81 | 4.90 |
| MobileViTV2_x1_5 | 0.8034 | 0.95094 | 0.8038 | - | 4090.07 | 10.60 |
| MobileViTV2_x2_0 | 0.8116 | 0.95370 | 0.8117 | - | 7219.23 | 18.45 |
**备注:** PaddleClas 所提供的该系列模型的预训练模型权重,均是基于其官方提供的权重转得。
......@@ -50,7 +49,7 @@ MobileViTv2 是一个结合 CNN 和 ViT 的轻量级模型,用于移动视觉
## 3. 模型训练、评估和预测
此部分内容包括训练环境配置、ImageNet数据的准备、该模型在 ImageNet 上的训练、评估、预测等内容。在 `ppcls/configs/ImageNet/MobileViTv2/` 中提供了该模型的训练配置,启动训练方法可以参考:[ResNet50 模型训练、评估和预测](./ResNet.md#3-模型训练评估和预测)
此部分内容包括训练环境配置、ImageNet数据的准备、该模型在 ImageNet 上的训练、评估、预测等内容。在 `ppcls/configs/ImageNet/MobileViTV2/` 中提供了该模型的训练配置,启动训练方法可以参考:[ResNet50 模型训练、评估和预测](./ResNet.md#3-模型训练评估和预测)
**备注:** 由于 MobileViT 系列模型默认使用的 GPU 数量为 8 个,所以在训练时,需要指定8个GPU,如`python3 -m paddle.distributed.launch --gpus="0,1,2,3,4,5,6,7" tools/train.py -c xxx.yaml`, 如果使用 4 个 GPU 训练,默认学习率需要减小一半,精度可能有损。
......
......@@ -796,19 +796,19 @@ DeiT(Data-efficient Image Transformers)系列模型的精度、速度指标
<a name="MobileViT"></a>
## MobileViT 系列 <sup>[[42](#ref42)][[51](#ref51)]</sup>
## MobileViT 系列 <sup>[[42](#ref42)][[51](#ref51)][[52](#ref52)]</sup>
关于 MobileViT 系列模型的精度、速度指标如下表所示,更多介绍可以参考:[MobileViT 系列模型文档](MobileViT.md)[MobileViTv2 系列模型文档](MobileViTv2.md)[MobileViTv3 系列模型文档](MobileViTv3.md)
关于 MobileViT 系列模型的精度、速度指标如下表所示,更多介绍可以参考:[MobileViT 系列模型文档](MobileViT.md)[MobileViTV2 系列模型文档](MobileViTV2.md)[MobileViTv3 系列模型文档](MobileViTv3.md)
| 模型 | Top-1 Acc | Top-5 Acc | time(ms)<br>bs=1 | time(ms)<br>bs=4 | time(ms)<br/>bs=8 | FLOPs(M) | Params(M) | 预训练模型下载地址 | inference模型下载地址 |
| ---------- | --------- | --------- | ---------------- | ---------------- | -------- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| MobileViT_XXS | 0.6867 | 0.8878 | - | - | - | 337.24 | 1.28 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/MobileViT_XXS_pretrained.pdparams) | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/MobileViT_XXS_infer.tar) |
| MobileViT_XS | 0.7454 | 0.9227 | - | - | - | 930.75 | 2.33 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/MobileViT_XS_pretrained.pdparams) | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/MobileViT_XS_infer.tar) |
| MobileViT_S | 0.7814 | 0.9413 | - | - | - | 1849.35 | 5.59 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/MobileViT_S_pretrained.pdparams) | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/MobileViT_S_infer.tar) |
| MobileViTv2_x0_5 | 0.7017 | 0.8988 | - | - | - | 480.46 | 1.37 | [下载链接]() | [下载链接]() |
| MobileViTv2_x1_0 | 0.7813 | 0.9417 | - | - | - | 1843.81 | 4.90 | [下载链接]() | [下载链接]() |
| MobileViTv2_x1_5 | 0.8034 | 0.9509 | - | - | - | 4090.07 | 10.60 | [下载链接]() | [下载链接]() |
| MobileViTv2_x2_0 | 0.8116 | 0.9537 | - | - | - | 7219.23 | 18.45 | [下载链接]() | [下载链接]() |
| MobileViTV2_x0_5 | 0.7017 | 0.8988 | - | - | - | 480.46 | 1.37 | [下载链接]() | [下载链接]() |
| MobileViTV2_x1_0 | 0.7813 | 0.9417 | - | - | - | 1843.81 | 4.90 | [下载链接]() | [下载链接]() |
| MobileViTV2_x1_5 | 0.8034 | 0.9509 | - | - | - | 4090.07 | 10.60 | [下载链接]() | [下载链接]() |
| MobileViTV2_x2_0 | 0.8116 | 0.9537 | - | - | - | 7219.23 | 18.45 | [下载链接]() | [下载链接]() |
| MobileViTv3_XXS | 0.7087 | 0.8976 | - | - | - | 289.02 | 1.25 | [下载链接]() | [下载链接]() |
| MobileViTv3_XS | 0.7663 | 0.9332 | - | - | - | 926.98 | 2.49 | [下载链接]() | [下载链接]() |
| MobileViTv3_S | 0.7928 | 0.9454 | - | - | - | 1841.39 | 5.76 | [下载链接]() | [下载链接]() |
......@@ -924,8 +924,6 @@ TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE.
<a name="ref50">[50]</a>Ze Liu, Han Hu, Yutong Lin, Zhuliang Yao, Zhenda Xie, Yixuan Wei, Jia Ning, Yue Cao, Zheng Zhang, Li Dong, Furu Wei, Baining Guo. Swin Transformer V2: Scaling Up Capacity and Resolution
<<<<<<< HEAD
<a name="ref50">[51]</a>Wadekar, Shakti N. and Chaurasia, Abhishek. MobileViTv3: Mobile-Friendly Vision Transformer with Simple and Effective Fusion of Local, Global and Input Features
=======
<a name="ref51">[51]</a>Sachin Mehta and Mohammad Rastegari. Separable Self-attention for Mobile Vision Transformers
>>>>>>> add MobileViTv2
<a name="ref52">[52]</a>Wadekar, Shakti N. and Chaurasia, Abhishek. MobileViTv3: Mobile-Friendly Vision Transformer with Simple and Effective Fusion of Local, Global and Input Features
......@@ -78,7 +78,7 @@ from .model_zoo.cae import cae_base_patch16_224, cae_large_patch16_224
from .model_zoo.cvt import CvT_13_224, CvT_13_384, CvT_21_224, CvT_21_384, CvT_W24_384
from .model_zoo.micronet import MicroNet_M0, MicroNet_M1, MicroNet_M2, MicroNet_M3
from .model_zoo.mobilenext import MobileNeXt_x0_35, MobileNeXt_x0_5, MobileNeXt_x0_75, MobileNeXt_x1_0, MobileNeXt_x1_4
from .model_zoo.mobilevit_v2 import MobileViTv2_x0_5, MobileViTv2_x0_75, MobileViTv2_x1_0, MobileViTv2_x1_25, MobileViTv2_x1_5, MobileViTv2_x1_75, MobileViTv2_x2_0
from .model_zoo.mobilevit_v2 import MobileViTV2_x0_5, MobileViTV2_x0_75, MobileViTV2_x1_0, MobileViTV2_x1_25, MobileViTV2_x1_5, MobileViTV2_x1_75, MobileViTV2_x2_0
from .model_zoo.mobilevit_v3 import MobileViTv3_XXS, MobileViTv3_XS, MobileViTv3_S, MobileViTv3_XXS_L2, MobileViTv3_XS_L2, MobileViTv3_S_L2, MobileViTv3_x0_5, MobileViTv3_x0_75, MobileViTv3_x1_0
from .variant_models.resnet_variant import ResNet50_last_stage_stride1
......
......@@ -25,13 +25,13 @@ import paddle.nn.functional as F
from ....utils.save_load import load_dygraph_pretrain, load_dygraph_pretrain_from_url
MODEL_URLS = {
"MobileViTv2_x0_5": "",
"MobileViTv2_x0_75": "",
"MobileViTv2_x1_0": "",
"MobileViTv2_x1_25": "",
"MobileViTv2_x1_5": "",
"MobileViTv2_x1_75": "",
"MobileViTv2_x2_0": "",
"MobileViTV2_x0_5": "",
"MobileViTV2_x0_75": "",
"MobileViTV2_x1_0": "",
"MobileViTV2_x1_25": "",
"MobileViTV2_x1_5": "",
"MobileViTV2_x1_75": "",
"MobileViTV2_x2_0": "",
}
layer_norm_2d = partial(nn.GroupNorm, num_groups=1)
......@@ -179,9 +179,9 @@ class LinearAttnFFN(nn.Layer):
return x
class MobileViTv2Block(nn.Layer):
class MobileViTV2Block(nn.Layer):
"""
This class defines the `MobileViTv2 block`
This class defines the `MobileViTV2 block`
"""
def __init__(self,
......@@ -302,9 +302,9 @@ class MobileViTv2Block(nn.Layer):
return fm
class MobileViTv2(nn.Layer):
class MobileViTV2(nn.Layer):
"""
MobileViTv2
MobileViTV2
"""
def __init__(self,
......@@ -415,7 +415,7 @@ class MobileViTv2(nn.Layer):
input_channel = cfg.get("out_channels")
block.append(
MobileViTv2Block(
MobileViTV2Block(
in_channels=input_channel,
attn_unit_dim=cfg["attn_unit_dim"],
ffn_multiplier=cfg.get("ffn_multiplier"),
......@@ -540,64 +540,64 @@ def get_configuration(width_multiplier) -> Dict:
return config
def MobileViTv2_x2_0(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x2_0(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 2.0
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x2_0"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x2_0"], use_ssld=use_ssld)
return model
def MobileViTv2_x1_75(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x1_75(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 1.75
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x1_75"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x1_75"], use_ssld=use_ssld)
return model
def MobileViTv2_x1_5(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x1_5(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 1.5
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x1_5"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x1_5"], use_ssld=use_ssld)
return model
def MobileViTv2_x1_25(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x1_25(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 1.25
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x1_25"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x1_25"], use_ssld=use_ssld)
return model
def MobileViTv2_x1_0(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x1_0(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 1.0
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x1_0"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x1_0"], use_ssld=use_ssld)
return model
def MobileViTv2_x0_75(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x0_75(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 0.75
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x0_75"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x0_75"], use_ssld=use_ssld)
return model
def MobileViTv2_x0_5(pretrained=False, use_ssld=False, **kwargs):
def MobileViTV2_x0_5(pretrained=False, use_ssld=False, **kwargs):
width_multiplier = 0.5
model = MobileViTv2(get_configuration(width_multiplier), **kwargs)
model = MobileViTV2(get_configuration(width_multiplier), **kwargs)
_load_pretrained(
pretrained, model, MODEL_URLS["MobileViTv2_x0_5"], use_ssld=use_ssld)
pretrained, model, MODEL_URLS["MobileViTV2_x0_5"], use_ssld=use_ssld)
return model
......@@ -28,7 +28,7 @@ EMA:
# model architecture
Arch:
name: MobileViTv2_x0_5
name: MobileViTV2_x0_5
class_num: 1000
# loss function config for traing/eval process
......
......@@ -28,7 +28,7 @@ EMA:
# model architecture
Arch:
name: MobileViTv2_x1_0
name: MobileViTV2_x1_0
class_num: 1000
# loss function config for traing/eval process
......
......@@ -29,7 +29,7 @@ EMA:
# model architecture
Arch:
name: MobileViTv2_x1_5
name: MobileViTV2_x1_5
class_num: 1000
# loss function config for traing/eval process
......
......@@ -28,7 +28,7 @@ EMA:
# model architecture
Arch:
name: MobileViTv2_x2_0
name: MobileViTV2_x2_0
class_num: 1000
# loss function config for traing/eval process
......
......@@ -264,7 +264,7 @@ class RandAugmentV2(RandAugment):
class RandAugmentV3(RandAugment):
"""Customed RandAugment for MobileViTv2"""
"""Customed RandAugment for MobileViTV2"""
def __init__(self,
num_layers=2,
......
===========================train_params===========================
model_name:MobileViTv2_x1_0
model_name:MobileViTV2_x0_5
python:python3.7
gpu_list:0|0,1
-o Global.device:gpu
......@@ -13,7 +13,7 @@ train_infer_img_dir:./dataset/ILSVRC2012/val
null:null
##
trainer:norm_train
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_0.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x0_5.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
pact_train:null
fpgm_train:null
distill_train:null
......@@ -21,13 +21,13 @@ null:null
null:null
##
===========================eval_params===========================
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_0.yaml
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x0_5.yaml
null:null
##
===========================infer_params==========================
-o Global.save_inference_dir:./inference
-o Global.pretrained_model:
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_0.yaml
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x0_5.yaml
quant_export:null
fpgm_export:null
distill_export:null
......
===========================train_params===========================
model_name:MobileViTv2_x1_5
model_name:MobileViTV2_x1_0
python:python3.7
gpu_list:0|0,1
-o Global.device:gpu
......@@ -13,7 +13,7 @@ train_infer_img_dir:./dataset/ILSVRC2012/val
null:null
##
trainer:norm_train
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_5.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_0.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
pact_train:null
fpgm_train:null
distill_train:null
......@@ -21,13 +21,13 @@ null:null
null:null
##
===========================eval_params===========================
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_5.yaml
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_0.yaml
null:null
##
===========================infer_params==========================
-o Global.save_inference_dir:./inference
-o Global.pretrained_model:
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x1_5.yaml
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_0.yaml
quant_export:null
fpgm_export:null
distill_export:null
......
===========================train_params===========================
model_name:MobileViTv2_x2_0
model_name:MobileViTV2_x1_5
python:python3.7
gpu_list:0|0,1
-o Global.device:gpu
......@@ -13,7 +13,7 @@ train_infer_img_dir:./dataset/ILSVRC2012/val
null:null
##
trainer:norm_train
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x2_0.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_5.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
pact_train:null
fpgm_train:null
distill_train:null
......@@ -21,13 +21,13 @@ null:null
null:null
##
===========================eval_params===========================
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x2_0.yaml
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_5.yaml
null:null
##
===========================infer_params==========================
-o Global.save_inference_dir:./inference
-o Global.pretrained_model:
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x2_0.yaml
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x1_5.yaml
quant_export:null
fpgm_export:null
distill_export:null
......
===========================train_params===========================
model_name:MobileViTv2_x0_5
model_name:MobileViTV2_x2_0
python:python3.7
gpu_list:0|0,1
-o Global.device:gpu
......@@ -13,7 +13,7 @@ train_infer_img_dir:./dataset/ILSVRC2012/val
null:null
##
trainer:norm_train
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x0_5.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
norm_train:tools/train.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x2_0.yaml -o Global.seed=1234 -o DataLoader.Train.sampler.shuffle=False -o DataLoader.Train.loader.num_workers=0 -o DataLoader.Train.loader.use_shared_memory=False -o Global.print_batch_step=1 -o Global.eval_during_train=False -o Global.save_interval=2
pact_train:null
fpgm_train:null
distill_train:null
......@@ -21,13 +21,13 @@ null:null
null:null
##
===========================eval_params===========================
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x0_5.yaml
eval:tools/eval.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x2_0.yaml
null:null
##
===========================infer_params==========================
-o Global.save_inference_dir:./inference
-o Global.pretrained_model:
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTv2/MobileViTv2_x0_5.yaml
norm_export:tools/export_model.py -c ppcls/configs/ImageNet/MobileViTV2/MobileViTV2_x2_0.yaml
quant_export:null
fpgm_export:null
distill_export:null
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册