Browse Source

[to #42322933] Change image-classification-imagenet/dailylife tasks to image-classification task

Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/9597706
master
zhanning.gzn yingda.chen 3 years ago
parent
commit
3439a55f24
6 changed files with 12 additions and 28 deletions
  1. +1
    -5
      modelscope/models/cv/image_classification/mmcls_model.py
  2. +3
    -6
      modelscope/pipelines/builder.py
  3. +2
    -2
      modelscope/pipelines/cv/image_classification_pipeline.py
  4. +2
    -1
      modelscope/utils/constant.py
  5. +0
    -2
      requirements/cv.txt
  6. +4
    -12
      tests/pipelines/test_general_image_classification.py

+ 1
- 5
modelscope/models/cv/image_classification/mmcls_model.py View File

@@ -7,11 +7,7 @@ from modelscope.utils.constant import Tasks




@MODELS.register_module( @MODELS.register_module(
Tasks.image_classification_imagenet,
module_name=Models.classification_model)
@MODELS.register_module(
Tasks.image_classification_dailylife,
module_name=Models.classification_model)
Tasks.image_classification, module_name=Models.classification_model)
class ClassificationModel(TorchModel): class ClassificationModel(TorchModel):


def __init__(self, model_dir: str): def __init__(self, model_dir: str):


+ 3
- 6
modelscope/pipelines/builder.py View File

@@ -116,15 +116,12 @@ DEFAULT_MODEL_FOR_PIPELINE = {
Tasks.product_retrieval_embedding: Tasks.product_retrieval_embedding:
(Pipelines.product_retrieval_embedding, (Pipelines.product_retrieval_embedding,
'damo/cv_resnet50_product-bag-embedding-models'), 'damo/cv_resnet50_product-bag-embedding-models'),
Tasks.image_classification_imagenet:
(Pipelines.general_image_classification,
'damo/cv_vit-base_image-classification_ImageNet-labels'),
Tasks.image_classification_dailylife:
(Pipelines.daily_image_classification,
'damo/cv_vit-base_image-classification_Dailylife-labels'),
Tasks.image_to_image_generation: Tasks.image_to_image_generation:
(Pipelines.image_to_image_generation, (Pipelines.image_to_image_generation,
'damo/cv_latent_diffusion_image2image_generate'), 'damo/cv_latent_diffusion_image2image_generate'),
Tasks.image_classification:
(Pipelines.daily_image_classification,
'damo/cv_vit-base_image-classification_Dailylife-labels'),
} }






+ 2
- 2
modelscope/pipelines/cv/image_classification_pipeline.py View File

@@ -44,10 +44,10 @@ class ImageClassificationPipeline(Pipeline):




@PIPELINES.register_module( @PIPELINES.register_module(
Tasks.image_classification_imagenet,
Tasks.image_classification,
module_name=Pipelines.general_image_classification) module_name=Pipelines.general_image_classification)
@PIPELINES.register_module( @PIPELINES.register_module(
Tasks.image_classification_dailylife,
Tasks.image_classification,
module_name=Pipelines.daily_image_classification) module_name=Pipelines.daily_image_classification)
class GeneralImageClassificationPipeline(Pipeline): class GeneralImageClassificationPipeline(Pipeline):




+ 2
- 1
modelscope/utils/constant.py View File

@@ -59,7 +59,8 @@ class CVTasks(object):
live_category = 'live-category' live_category = 'live-category'
action_recognition = 'action-recognition' action_recognition = 'action-recognition'
video_category = 'video-category' video_category = 'video-category'

image_portrait_stylization = 'image-portrait-stylization'
image_to_image_generation = 'image-to-image-generation'
video_embedding = 'video-embedding' video_embedding = 'video-embedding'
virtual_try_on = 'virtual-try-on' virtual_try_on = 'virtual-try-on'




+ 0
- 2
requirements/cv.txt View File

@@ -1,6 +1,4 @@
easydict easydict
# tensorflow 1.x compatability requires numpy version to be cap at 1.18
numpy<=1.18
onnxruntime>=1.10 onnxruntime>=1.10
tf_slim tf_slim
timm timm


+ 4
- 12
tests/pipelines/test_general_image_classification.py View File

@@ -10,7 +10,7 @@ class GeneralImageClassificationTest(unittest.TestCase):
@unittest.skipUnless(test_level() >= 1, 'skip test in current test level') @unittest.skipUnless(test_level() >= 1, 'skip test in current test level')
def test_run_ImageNet(self): def test_run_ImageNet(self):
general_image_classification = pipeline( general_image_classification = pipeline(
Tasks.image_classification_imagenet,
Tasks.image_classification,
model='damo/cv_vit-base_image-classification_ImageNet-labels') model='damo/cv_vit-base_image-classification_ImageNet-labels')
result = general_image_classification('data/test/images/bird.JPEG') result = general_image_classification('data/test/images/bird.JPEG')
print(result) print(result)
@@ -18,22 +18,14 @@ class GeneralImageClassificationTest(unittest.TestCase):
@unittest.skipUnless(test_level() >= 1, 'skip test in current test level') @unittest.skipUnless(test_level() >= 1, 'skip test in current test level')
def test_run_Dailylife(self): def test_run_Dailylife(self):
general_image_classification = pipeline( general_image_classification = pipeline(
Tasks.image_classification_dailylife,
Tasks.image_classification,
model='damo/cv_vit-base_image-classification_Dailylife-labels') model='damo/cv_vit-base_image-classification_Dailylife-labels')
result = general_image_classification('data/test/images/bird.JPEG') result = general_image_classification('data/test/images/bird.JPEG')
print(result) print(result)


@unittest.skipUnless(test_level() >= 1, 'skip test in current test level') @unittest.skipUnless(test_level() >= 1, 'skip test in current test level')
def test_run_ImageNet_default_task(self):
general_image_classification = pipeline(
Tasks.image_classification_imagenet)
result = general_image_classification('data/test/images/bird.JPEG')
print(result)

@unittest.skipUnless(test_level() >= 1, 'skip test in current test level')
def test_run_Dailylife_default_task(self):
general_image_classification = pipeline(
Tasks.image_classification_dailylife)
def test_run_Dailylife_default(self):
general_image_classification = pipeline(Tasks.image_classification)
result = general_image_classification('data/test/images/bird.JPEG') result = general_image_classification('data/test/images/bird.JPEG')
print(result) print(result)




Loading…
Cancel
Save