add vision_efficient_tuning models

1)新增任务:vision_efficient_tuning;
2)新增该任务下四个模型:
vision_efficient_tuning_adapter、
vision_efficient_tuning_prefix、
vision_efficient_tuning_prompt、
vision_efficient_tuning_lora

Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/11575894
This commit is contained in:
zeyinzi.jzyz
2023-02-09 07:59:33 +00:00
committed by wenmeng.zwm
parent b34e2cad86
commit 9faf588bc6
20 changed files with 1924 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
# Copyright 2022-2023 The Alibaba Fundamental Vision Team Authors. All rights reserved.
import unittest
from modelscope.models import Model
from modelscope.models.cv.vision_efficient_tuning.vision_efficient_tuning import \
VisionEfficientTuningModel
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.utils.demo_utils import DemoCompatibilityCheck
from modelscope.utils.test_utils import test_level
class VisionEfficientTuningAdapterTest(unittest.TestCase,
DemoCompatibilityCheck):
def setUp(self) -> None:
self.task = Tasks.vision_efficient_tuning
self.model_id = 'damo/cv_vitb16_classification_vision-efficient-tuning-adapter'
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
def test_run_pipeline(self):
petl_pipeline = pipeline(self.task, self.model_id)
result = petl_pipeline(
'data/test/images/vision_efficient_tuning_test_1.png')
print(f'Vision-efficient-tuning-adapter output: {result}.')
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_load_model_from_pretrained(self):
model = Model.from_pretrained(
'damo/cv_vitb16_classification_vision-efficient-tuning-adapter')
self.assertTrue(model.__class__ == VisionEfficientTuningModel)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,36 @@
# Copyright 2022-2023 The Alibaba Fundamental Vision Team Authors. All rights reserved.
import unittest
from modelscope.models import Model
from modelscope.models.cv.vision_efficient_tuning.vision_efficient_tuning import \
VisionEfficientTuningModel
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.utils.demo_utils import DemoCompatibilityCheck
from modelscope.utils.test_utils import test_level
class VisionEfficientTuningLoRATest(unittest.TestCase, DemoCompatibilityCheck):
def setUp(self) -> None:
self.task = Tasks.vision_efficient_tuning
self.model_id = 'damo/cv_vitb16_classification_vision-efficient-tuning-lora'
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
def test_run_pipeline(self):
petl_pipeline = pipeline(self.task, self.model_id)
result = petl_pipeline(
'data/test/images/vision_efficient_tuning_test_1.png')
print(f'Vision-efficient-tuning-lora output: {result}.')
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_load_model_from_pretrained(self):
model = Model.from_pretrained(
'damo/cv_vitb16_classification_vision-efficient-tuning-lora')
self.assertTrue(model.__class__ == VisionEfficientTuningModel)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,37 @@
# Copyright 2022-2023 The Alibaba Fundamental Vision Team Authors. All rights reserved.
import unittest
from modelscope.models import Model
from modelscope.models.cv.vision_efficient_tuning.vision_efficient_tuning import \
VisionEfficientTuningModel
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.utils.demo_utils import DemoCompatibilityCheck
from modelscope.utils.test_utils import test_level
class VisionEfficientTuningPrefixTest(unittest.TestCase,
DemoCompatibilityCheck):
def setUp(self) -> None:
self.task = Tasks.vision_efficient_tuning
self.model_id = 'damo/cv_vitb16_classification_vision-efficient-tuning-prefix'
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
def test_run_pipeline(self):
petl_pipeline = pipeline(self.task, self.model_id)
result = petl_pipeline(
'data/test/images/vision_efficient_tuning_test_1.png')
print(f'Vision-efficient-tuning-prefix output: {result}.')
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_load_model_from_pretrained(self):
model = Model.from_pretrained(
'damo/cv_vitb16_classification_vision-efficient-tuning-prefix')
self.assertTrue(model.__class__ == VisionEfficientTuningModel)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,37 @@
# Copyright 2022-2023 The Alibaba Fundamental Vision Team Authors. All rights reserved.
import unittest
from modelscope.models import Model
from modelscope.models.cv.vision_efficient_tuning.vision_efficient_tuning import \
VisionEfficientTuningModel
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.utils.demo_utils import DemoCompatibilityCheck
from modelscope.utils.test_utils import test_level
class VisionEfficientTuningPromptTest(unittest.TestCase,
DemoCompatibilityCheck):
def setUp(self) -> None:
self.task = Tasks.vision_efficient_tuning
self.model_id = 'damo/cv_vitb16_classification_vision-efficient-tuning-prompt'
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
def test_run_pipeline(self):
petl_pipeline = pipeline(self.task, self.model_id)
result = petl_pipeline(
'data/test/images/vision_efficient_tuning_test_1.png')
print(f'Vision-efficient-tuning-prompt output: {result}.')
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_load_model_from_pretrained(self):
model = Model.from_pretrained(
'damo/cv_vitb16_classification_vision-efficient-tuning-prompt')
self.assertTrue(model.__class__ == VisionEfficientTuningModel)
if __name__ == '__main__':
unittest.main()