mirror of
https://github.com/modelscope/modelscope.git
synced 2025-12-18 01:07:44 +01:00
88 lines
3.5 KiB
Python
88 lines
3.5 KiB
Python
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
|
|
import unittest
|
|
|
|
from modelscope.pipelines import pipeline
|
|
from modelscope.utils.constant import Tasks
|
|
from modelscope.utils.regress_test_utils import MsRegressTool
|
|
from modelscope.utils.test_utils import test_level
|
|
|
|
|
|
class GeneralImageClassificationTest(unittest.TestCase):
|
|
|
|
def setUp(self) -> None:
|
|
self.task = Tasks.image_classification
|
|
self.model_id = 'damo/cv_vit-base_image-classification_Dailylife-labels'
|
|
self.regress_tool = MsRegressTool(baseline=False)
|
|
|
|
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
|
|
def test_run_ImageNet(self):
|
|
general_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model='damo/cv_vit-base_image-classification_ImageNet-labels')
|
|
result = general_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
|
|
def test_run_Dailylife(self):
|
|
general_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model='damo/cv_vit-base_image-classification_Dailylife-labels')
|
|
with self.regress_tool.monitor_module_single_forward(
|
|
general_image_classification.model,
|
|
'vit_base_image_classification'):
|
|
result = general_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
|
|
def test_run_nextvit(self):
|
|
nexit_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model='damo/cv_nextvit-small_image-classification_Dailylife-labels'
|
|
)
|
|
result = nexit_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
|
|
def test_run_convnext(self):
|
|
convnext_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model='damo/cv_convnext-base_image-classification_garbage')
|
|
result = convnext_image_classification('data/test/images/banana.jpg')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
|
|
def test_run_beitv2(self):
|
|
beitv2_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model=
|
|
'damo/cv_beitv2-base_image-classification_patch16_224_pt1k_ft22k_in1k'
|
|
)
|
|
result = beitv2_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 2,
|
|
'skip test for timm compatible need 0.5.4')
|
|
def test_run_easyrobust(self):
|
|
robust_image_classification = pipeline(
|
|
Tasks.image_classification, model='aaig/easyrobust-models')
|
|
result = robust_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
def test_run_bnext(self):
|
|
nexit_image_classification = pipeline(
|
|
Tasks.image_classification,
|
|
model='damo/cv_bnext-small_image-classification_ImageNet-labels')
|
|
result = nexit_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
|
|
def test_run_Dailylife_default(self):
|
|
general_image_classification = pipeline(Tasks.image_classification)
|
|
result = general_image_classification('data/test/images/bird.JPEG')
|
|
print(result)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|