123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- from typing import List
- from pycs.interfaces.MediaFile import MediaFile
- from pycs.interfaces.MediaStorage import MediaStorage
- class Pipeline:
- """
- pipeline interface that should be implemented by model developers
- """
- #pylint: disable=unnecessary-pass
- def __init__(self, root_folder: str, distribution: dict):
- """
- prepare everything needed to run jobs later
- :param root_folder: relative path to model folder
- :param distribution: dict parsed from distribution.json
- """
- pass
- #pylint: disable=unnecessary-pass
- def close(self):
- """
- is called everytime a pipeline is not needed anymore and should be used
- to free native resources
- :return:
- """
- pass
- #pylint: disable=no-self-use
- def collections(self) -> List[dict]:
- """
- is called while initializing a pipeline to receive available
- collections
- :return: list of collections or None
- """
- return []
- @staticmethod
- def create_collection(reference: str,
- name: str,
- description: str = None,
- autoselect: bool = False) -> dict:
- """
- create a collection dict
- :param reference: unique reference
- :param name: collection name
- :param description: collection description
- :param autoselect: show this collection by default if it contains elements
- :return: collection dict
- """
- return {
- 'reference': reference,
- 'name': name,
- 'description': description,
- 'autoselect': autoselect
- }
- def execute(self, storage: MediaStorage, file: MediaFile):
- """
- receive a file, create predictions and add them to the object
- :param storage: database abstraction object
- :param file: which should be analyzed
- """
- raise NotImplementedError
- def fit(self, storage: MediaStorage):
- """
- receive a list of annotated media files and adapt the underlying model
- :param storage: database abstraction object
- """
- raise NotImplementedError
|