2023-02-09 09:45:36 +00:00
|
|
|
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
|
|
from modelscope.pipelines.multi_modal.gridvlp_pipeline import (
|
|
|
|
|
GridVlpClassificationPipeline, GridVlpEmbeddingPipeline)
|
|
|
|
|
from modelscope.utils.test_utils import test_level
|
|
|
|
|
|
|
|
|
|
|
2023-05-22 10:53:18 +08:00
|
|
|
class GridVlpClassificationTest(unittest.TestCase):
|
2023-02-09 09:45:36 +00:00
|
|
|
|
|
|
|
|
def setUp(self) -> None:
|
|
|
|
|
self.model_id = 'rgtjf1/multi-modal_gridvlp_classification_chinese-base-ecom-cate'
|
|
|
|
|
|
|
|
|
|
text = '女装快干弹力轻型短裤448575'
|
|
|
|
|
image = 'https://yejiabo-public.oss-cn-zhangjiakou.aliyuncs.com/alinlp/clothes.png'
|
|
|
|
|
|
|
|
|
|
@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
|
|
|
|
|
def test_run_with_pipeline(self):
|
|
|
|
|
|
|
|
|
|
gridvlp_classification_pipeline = GridVlpClassificationPipeline(
|
|
|
|
|
'rgtjf1/multi-modal_gridvlp_classification_chinese-base-ecom-cate')
|
|
|
|
|
input_params = {'text': self.text, 'image': self.image}
|
|
|
|
|
inputs = gridvlp_classification_pipeline.preprocess(input_params)
|
|
|
|
|
outputs = gridvlp_classification_pipeline.forward(inputs)
|
|
|
|
|
print(f'text: {self.text}\nimage: {self.image}\n'
|
|
|
|
|
f'outputs: {outputs}')
|
|
|
|
|
|
|
|
|
|
gridvlp_classification_pipeline = GridVlpClassificationPipeline(
|
|
|
|
|
'rgtjf1/multi-modal_gridvlp_classification_chinese-base-ecom-cate-large'
|
|
|
|
|
)
|
|
|
|
|
input_params = {'text': self.text, 'image': self.image}
|
|
|
|
|
inputs = gridvlp_classification_pipeline.preprocess(input_params)
|
|
|
|
|
outputs = gridvlp_classification_pipeline.forward(inputs)
|
|
|
|
|
print(f'text: {self.text}\nimage: {self.image}\n'
|
|
|
|
|
f'outputs: {outputs}')
|
|
|
|
|
|
|
|
|
|
gridvlp_classification_pipeline = GridVlpClassificationPipeline(
|
|
|
|
|
'rgtjf1/multi-modal_gridvlp_classification_chinese-base-ecom-brand'
|
|
|
|
|
)
|
|
|
|
|
input_params = {'text': self.text, 'image': self.image}
|
|
|
|
|
inputs = gridvlp_classification_pipeline.preprocess(input_params)
|
|
|
|
|
outputs = gridvlp_classification_pipeline.forward(inputs)
|
|
|
|
|
print(f'text: {self.text}\nimage: {self.image}\n'
|
|
|
|
|
f'outputs: {outputs}')
|
|
|
|
|
|
|
|
|
|
gridvlp_classification_pipeline = GridVlpClassificationPipeline(
|
|
|
|
|
'rgtjf1/multi-modal_gridvlp_classification_chinese-base-similarity'
|
|
|
|
|
)
|
|
|
|
|
input_params = {'text': self.text, 'image': self.image}
|
|
|
|
|
inputs = gridvlp_classification_pipeline.preprocess(input_params)
|
|
|
|
|
outputs = gridvlp_classification_pipeline.forward(inputs)
|
|
|
|
|
print(f'text: {self.text}\nimage: {self.image}\n'
|
|
|
|
|
f'outputs: {outputs}')
|
|
|
|
|
|
|
|
|
|
gridvlp_embedding_pipeline = GridVlpEmbeddingPipeline(
|
|
|
|
|
'rgtjf1/multi-modal_gridvlp_classification_chinese-base-ecom-embedding'
|
|
|
|
|
)
|
|
|
|
|
input_params = {'text': self.text, 'image': self.image}
|
|
|
|
|
inputs = gridvlp_embedding_pipeline.preprocess(input_params)
|
|
|
|
|
outputs = gridvlp_embedding_pipeline.forward(inputs)
|
|
|
|
|
print(f'text: {self.text}\nimage: {self.image}\n'
|
|
|
|
|
f'outputs shape: {outputs.shape}')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
unittest.main()
|