def METHOD_NAME(self):
    from swift import LoRAConfig
    model_id = 'damo/cv_vitb16_classification_vision-efficient-tuning-lora'
    def cfg_modify_fn(cfg):
        cfg.model.head.num_classes = self.num_classes
        cfg.model.finetune = True
        cfg.train.max_epochs = self.max_epochs
        cfg.train.lr_scheduler.T_max = self.max_epochs
        cfg.model.backbone.lora_length = 0
        return cfg
    lora_config = LoRAConfig(
        r=self.tune_length,
        target_modules=['qkv'],
        merge_weights=False,
        use_merged_linear=True,
        enable_lora=[True])
    kwargs = dict(
        model=model_id,
        work_dir=self.tmp_dir,
        train_dataset=self.train_dataset,
        eval_dataset=self.eval_dataset,
        cfg_modify_fn=cfg_modify_fn,
        efficient_tuners=lora_config)
    trainer = build_trainer(
        name=Trainers.vision_efficient_tuning, default_args=kwargs)
    trainer.train()
    result = trainer.evaluate()
    print(f'Vision-efficient-tuning-lora train output: {result}.')
    results_files = os.listdir(self.tmp_dir)
    self.assertIn(f'{trainer.timestamp}.log.json', results_files)
    for i in range(self.max_epochs):
        self.assertIn(f'epoch_{i+1}.pth', results_files)