| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # Copyright (c) Alibaba, Inc. and its affiliates.
- from typing import Any, Dict
- import numpy as np
- from modelscope.metainfo import Pipelines
- from modelscope.models.base.base_model import Model
- from modelscope.outputs.outputs import OutputKeys
- from modelscope.pipelines.base import Pipeline
- from modelscope.pipelines.builder import PIPELINES
- from modelscope.utils.constant import Tasks
- __all__ = ['PipelineTemplate']
- @PIPELINES.register_module(
- Tasks.task_template, module_name=Pipelines.pipeline_template)
- class PipelineTemplate(Pipeline):
- """A pipeline template explain how to define parameters and input and
- output information. As a rule, the first parameter is the input,
- followed by the request parameters. The parameter must add type
- hint information, and set the default value if necessary,
- for the convenience of use.
- """
- def __init__(self, model: Model, **kwargs):
- """A pipeline template to describe input and
- output and parameter processing
- Args:
- model: A Model instance.
- """
- # call base init.
- super().__init__(model=model, **kwargs)
- def preprocess(self,
- input: Any,
- max_length: int = 1024,
- top_p: float = 0.8) -> Any:
- """Pipeline preprocess interface.
- Args:
- input (Any): The pipeline input, ref Tasks.task_template TASK_INPUTS.
- max_length (int, optional): The max_length parameter. Defaults to 1024.
- top_p (float, optional): The top_p parameter. Defaults to 0.8.
- Returns:
- Any: Return result process by forward.
- """
- pass
- def forward(self,
- input: Any,
- max_length: int = 1024,
- top_p: float = 0.8) -> Any:
- """The forward interface.
- Args:
- input (Any): The output of the preprocess.
- max_length (int, optional): max_length. Defaults to 1024.
- top_p (float, optional): top_p. Defaults to 0.8.
- Returns:
- Any: Return result process by postprocess.
- """
- pass
- def postprocess(self,
- inputs: Any,
- postprocess_param1: str = None) -> Dict[str, Any]:
- """The postprocess interface.
- Args:
- input (Any): The output of the forward.
- max_length (int, optional): max_length. Defaults to 1024.
- top_p (float, optional): top_p. Defaults to 0.8.
- Returns:
- Any: Return result process by postprocess.
- """
- result = {
- OutputKeys.BOXES: np.zeros(4),
- OutputKeys.OUTPUT_IMG: np.zeros(10, 4),
- OutputKeys.TEXT_EMBEDDING: np.zeros(1, 1000)
- }
- return result
|