From c492e1b2a26c711df3c12a9ee6059c2bb57e63d1 Mon Sep 17 00:00:00 2001 From: cuicheng01 Date: Tue, 29 Jun 2021 13:08:40 +0000 Subject: [PATCH 1/3] Update vision_transformer.py --- .../backbone/model_zoo/vision_transformer.py | 38 +++++-------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/ppcls/arch/backbone/model_zoo/vision_transformer.py b/ppcls/arch/backbone/model_zoo/vision_transformer.py index ebe77684e..49929505d 100644 --- a/ppcls/arch/backbone/model_zoo/vision_transformer.py +++ b/ppcls/arch/backbone/model_zoo/vision_transformer.py @@ -243,7 +243,7 @@ class VisionTransformer(nn.Layer): drop_path_rate=0., norm_layer='nn.LayerNorm', epsilon=1e-5, - **args): + **kwargs): super().__init__() self.class_dim = class_dim @@ -331,9 +331,7 @@ def _load_pretrained(pretrained, model, model_url, use_ssld=False): ) -def ViT_small_patch16_224(pretrained, - model, - model_url, +def ViT_small_patch16_224(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -352,9 +350,7 @@ def ViT_small_patch16_224(pretrained, return model -def ViT_base_patch16_224(pretrained, - model, - model_url, +def ViT_base_patch16_224(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -374,9 +370,7 @@ def ViT_base_patch16_224(pretrained, return model -def ViT_base_patch16_384(pretrained, - model, - model_url, +def ViT_base_patch16_384(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -397,9 +391,7 @@ def ViT_base_patch16_384(pretrained, return model -def ViT_base_patch32_384(pretrained, - model, - model_url, +def ViT_base_patch32_384(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -420,9 +412,7 @@ def ViT_base_patch32_384(pretrained, return model -def ViT_large_patch16_224(pretrained, - model, - model_url, +def ViT_large_patch16_224(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -442,9 +432,7 @@ def ViT_large_patch16_224(pretrained, return model -def ViT_large_patch16_384(pretrained, - model, - model_url, +def ViT_large_patch16_384(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -465,9 +453,7 @@ def ViT_large_patch16_384(pretrained, return model -def ViT_large_patch32_384(pretrained, - model, - model_url, +def ViT_large_patch32_384(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -488,9 +474,7 @@ def ViT_large_patch32_384(pretrained, return model -def ViT_huge_patch16_224(pretrained, - model, - model_url, +def ViT_huge_patch16_224(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( @@ -508,9 +492,7 @@ def ViT_huge_patch16_224(pretrained, return model -def ViT_huge_patch32_384(pretrained, - model, - model_url, +def ViT_huge_patch32_384(pretrained=False, use_ssld=False, **kwargs): model = VisionTransformer( From 01f1314fbdd1b36eafe796ccd2018fb0ba32efd2 Mon Sep 17 00:00:00 2001 From: cuicheng01 Date: Tue, 29 Jun 2021 14:35:26 +0000 Subject: [PATCH 2/3] fix googlenet infer --- ppcls/engine/trainer.py | 2 ++ tools/export_model.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ppcls/engine/trainer.py b/ppcls/engine/trainer.py index 80957757c..ed042161e 100644 --- a/ppcls/engine/trainer.py +++ b/ppcls/engine/trainer.py @@ -555,6 +555,8 @@ class Trainer(object): if len(batch_data) >= batch_size or idx == len(image_list) - 1: batch_tensor = paddle.to_tensor(batch_data) out = self.model(batch_tensor) + if isinstance(out, list): + out = out[0] result = postprocess_func(out, image_file_list) print(result) batch_data.clear() diff --git a/tools/export_model.py b/tools/export_model.py index 6ce369011..ad0e45b76 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -38,6 +38,7 @@ class ExportModel(nn.Layer): def __init__(self, config): super().__init__() + print (config) self.base_model = build_model(config) # we should choose a final model to export @@ -63,6 +64,8 @@ class ExportModel(nn.Layer): def forward(self, x): x = self.base_model(x) + if isinstance(x, list): + x = x[0] if self.infer_model_name is not None: x = x[self.infer_model_name] if self.infer_output_key is not None: @@ -76,7 +79,6 @@ if __name__ == "__main__": args = config.parse_args() config = config.get_config( args.config, overrides=args.override, show=False) - log_file = os.path.join(config['Global']['output_dir'], config["Arch"]["name"], "export.log") init_logger(name='root', log_file=log_file) @@ -86,7 +88,6 @@ if __name__ == "__main__": assert config["Global"]["device"] in ["cpu", "gpu", "xpu"] device = paddle.set_device(config["Global"]["device"]) model = ExportModel(config["Arch"]) - if config["Global"]["pretrained_model"] is not None: load_dygraph_pretrain(model.base_model, config["Global"]["pretrained_model"]) From 4b10174a41c855d45a98c3000b796d73e15044a9 Mon Sep 17 00:00:00 2001 From: cuicheng01 <45199522+cuicheng01@users.noreply.github.com> Date: Tue, 29 Jun 2021 22:39:06 +0800 Subject: [PATCH 3/3] Update export_model.py --- tools/export_model.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/export_model.py b/tools/export_model.py index ad0e45b76..e019e2574 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -38,7 +38,6 @@ class ExportModel(nn.Layer): def __init__(self, config): super().__init__() - print (config) self.base_model = build_model(config) # we should choose a final model to export