From 3e33d077cd07437cde966ac9d86ca08e1abb99e0 Mon Sep 17 00:00:00 2001 From: Hironsan Date: Wed, 18 May 2022 11:27:24 +0900 Subject: [PATCH] Add BinaryExampleMaker to handle image and audio data --- backend/data_import/pipeline/makers.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/data_import/pipeline/makers.py b/backend/data_import/pipeline/makers.py index 1f6122d6..ebabae83 100644 --- a/backend/data_import/pipeline/makers.py +++ b/backend/data_import/pipeline/makers.py @@ -20,7 +20,7 @@ class ExampleMaker: self, project: Project, data_class: Type[BaseData], - column_data: str, + column_data: str = DEFAULT_TEXT_COLUMN, exclude_columns: Optional[List[str]] = None, ): self.project = project @@ -72,6 +72,16 @@ class ExampleMaker: return self._errors +class BinaryExampleMaker(ExampleMaker): + def make(self, df: pd.DataFrame) -> List[Example]: + examples = [] + for row in df.to_dict(orient="records"): + data = self.data_class.parse(**row) + example = data.create(self.project) + examples.append(example) + return examples + + class LabelMaker: def __init__(self, column: str, label_class: Type[Label]): self.column = column