add_model_resnet18 #31

Merged
brian merged 47 commits from add_model_resnet18 into main 2024-04-03 21:04:23 +02:00
27 changed files with 55 additions and 293 deletions
Showing only changes of commit a2164b9ccf - Show all commits
-14
View File
@@ -1,14 +0,0 @@
"""data_models module content."""
from __future__ import annotations
from .angle import AngleData
from .contact import ContactData
from .distance import DistanceData
from .framing import FramingData
from .information_value import InformationValueData
from .modality_color import ModalityColorData
from .modality_depth import ModalityDepthData
from .modality_lighting import ModalityLightingData
from .point_of_view import PointOfViewData
from .salience import SalienceData
from .visual_syntax import VisualSyntaxData
-11
View File
@@ -1,11 +0,0 @@
"""Definition of Angle data model."""
from __future__ import annotations
from .data_model import DataModel
class AngleData(DataModel):
"""Angle data model."""
high: float
eye_level: float
low: float
-11
View File
@@ -1,11 +0,0 @@
"""Definition of ContactData data model."""
from __future__ import annotations
from .data_model import DataModel
class ContactData(DataModel):
"""ContactData data model."""
offer: float
demand: float
-12
View File
@@ -1,12 +0,0 @@
"""Definition of DistanceData data model."""
from __future__ import annotations
from .data_model import DataModel
class DistanceData(DataModel):
"""DistanceData data model."""
long: float
medium: float
close: float
-13
View File
@@ -1,13 +0,0 @@
"""Definition of FramingData data model."""
from __future__ import annotations
from .data_model import DataModel
class FramingData(DataModel):
"""FramingData data model."""
frame_lines: float
empty_space: float
colour_contrast: float
form_contrast: float
-12
View File
@@ -1,12 +0,0 @@
"""Definition of InformationValueData data model."""
from __future__ import annotations
from .data_model import DataModel
class InformationValueData(DataModel):
"""InformationValueData data model."""
given_new: float
ideal_real: float
central_marginal: float
-12
View File
@@ -1,12 +0,0 @@
"""Definition of ModalityColorData data model."""
from __future__ import annotations
from .data_model import DataModel
class ModalityColorData(DataModel):
"""ModalityColorData data model."""
high: float
medium: float
low: float
-12
View File
@@ -1,12 +0,0 @@
"""Definition of ModalityDepthData data model."""
from __future__ import annotations
from .data_model import DataModel
class ModalityDepthData(DataModel):
"""ModalityDepthData data model."""
high: float
medium: float
low: float
-12
View File
@@ -1,12 +0,0 @@
"""Definition of ModalityLightingData data model."""
from __future__ import annotations
from .data_model import DataModel
class ModalityLightingData(DataModel):
"""ModalityLightingData data model."""
high: float
medium: float
low: float
-11
View File
@@ -1,11 +0,0 @@
"""Definition of PointOfViewData data model."""
from __future__ import annotations
from .data_model import DataModel
class PointOfViewData(DataModel):
"""PointOfViewData data model."""
frontal: float
oblique: float
-14
View File
@@ -1,14 +0,0 @@
"""Definition of SalienceData data model."""
from __future__ import annotations
from .data_model import DataModel
class SalienceData(DataModel):
"""SalienceData data model."""
size: float
colour: float
tone: float
form: float
positioning: float
-27
View File
@@ -1,27 +0,0 @@
"""Definition of VisualSyntaxData data model."""
from __future__ import annotations
from .data_model import DataModel
class VisualSyntaxData(DataModel):
"""VisualSyntaxData data model."""
non_transactional_action: float
non_transactional_reaction: float
unidirectional_transactional_action: float
unidirectional_transactional_reaction: float
bidirectional_transactional_action: float
bidirectional_transactional_reaction: float
conversion: float
speech_process: float
classification_overt_taxonomy: float
analytical_exhaustive: float
analytical_disarranged: float
analytical_temporal: float
analytical_distributed: float
analytical_topological: float
analytical_exploded: float
analytical_inclusive: float
symbolic_suggestive: float
symbolic_attributive: float
+1 -1
View File
@@ -1,3 +1,4 @@
"""data_models module content."""
from __future__ import annotations
from .angle import AngleData
@@ -8,7 +9,6 @@ from .information_value import InformationValueData
from .modality_color import ModalityColorData
from .modality_depth import ModalityDepthData
from .modality_lighting import ModalityLightingData
from .model_data import ModelData
from .point_of_view import PointOfViewData
from .salience import SalienceData
from .visual_syntax import VisualSyntaxData
+4 -2
View File
@@ -1,9 +1,11 @@
"""Definition of Angle data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class AngleData(BaseDataModel):
class AngleData(DataModel):
"""Angle data model."""
high: float
eye_level: float
low: float
-65
View File
@@ -1,65 +0,0 @@
from __future__ import annotations
import random
from pydantic import BaseModel
from pydantic import ValidationError
class BaseDataModel(BaseModel):
@classmethod
def classname(cls) -> str:
"""Return classname."""
return cls.__name__
@classmethod
def list_fields(cls) -> list[str]:
"""List options that are stored as attributes."""
return list(cls.model_fields.keys())
@classmethod
def from_random(cls):
"""Instantiate with random numbers."""
kwargs = {field: random.random() for field in cls.list_fields()}
return cls(**kwargs)
@classmethod
def from_choice(cls, option: str):
"""Instantiate from choice."""
if option is None:
raise ValidationError()
assert isinstance(option, str), 'option is not a string'
allowed_options_list = cls.list_fields()
assert option in allowed_options_list, \
f"{option} is not among allowed fields {allowed_options_list}"
kwargs = {field: 0 for field in cls.list_fields()}
kwargs[option] = 1
return cls(**kwargs)
@classmethod
def from_list(cls, data_list: list[float]):
"""Instantiate from list of values."""
kwargs = {key: val for key, val in zip(cls.list_fields(), data_list)}
return cls(**kwargs)
def __repr__(self) -> str:
model_dict = self.model_dump()
model_repr_str = f"{self.classname()}("
model_repr_str += ', '.join([
f"{field}={value:.3f}"
for field, value
in model_dict.items()
])
model_repr_str += ')'
return model_repr_str
def highest_score_field(self) -> str:
"""Return name of field with highest score."""
model_dict = self.model_dump()
return max(model_dict, key=lambda k: model_dict[k])
def highest_score_value(self) -> float:
"""Return value of field with highest score."""
model_dict = self.model_dump()
return max(model_dict.values())
+5 -2
View File
@@ -1,8 +1,11 @@
"""Definition of ContactData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class ContactData(BaseDataModel):
class ContactData(DataModel):
"""ContactData data model."""
offer: float
demand: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of DistanceData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class DistanceData(BaseDataModel):
class DistanceData(DataModel):
"""DistanceData data model."""
long: float
medium: float
close: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of FramingData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class FramingData(BaseDataModel):
class FramingData(DataModel):
"""FramingData data model."""
frame_lines: float
empty_space: float
colour_contrast: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of InformationValueData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class InformationValueData(BaseDataModel):
class InformationValueData(DataModel):
"""InformationValueData data model."""
given_new: float
ideal_real: float
central_marginal: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of ModalityColorData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class ModalityColorData(BaseDataModel):
class ModalityColorData(DataModel):
"""ModalityColorData data model."""
high: float
medium: float
low: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of ModalityDepthData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class ModalityDepthData(BaseDataModel):
class ModalityDepthData(DataModel):
"""ModalityDepthData data model."""
high: float
medium: float
low: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of ModalityLightingData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class ModalityLightingData(BaseDataModel):
class ModalityLightingData(DataModel):
"""ModalityLightingData data model."""
high: float
medium: float
low: float
-44
View File
@@ -1,44 +0,0 @@
from __future__ import annotations
from pydantic import BaseModel
from .angle import AngleData
from .contact import ContactData
from .distance import DistanceData
from .framing import FramingData
from .information_value import InformationValueData
from .modality_color import ModalityColorData
from .modality_depth import ModalityDepthData
from .modality_lighting import ModalityLightingData
from .point_of_view import PointOfViewData
from .salience import SalienceData
from .visual_syntax import VisualSyntaxData
class ModelData(BaseModel):
visual_syntax: VisualSyntaxData
contact: ContactData
angle: AngleData
point_of_view: PointOfViewData
distance: DistanceData
modality_lighting: ModalityLightingData
modality_color: ModalityColorData
modality_depth: ModalityDepthData
information_value: InformationValueData
framing: FramingData
salience: SalienceData
@classmethod
def list_fields(cls) -> list[str]:
"""List options that are stored as attributes."""
return list(cls.model_fields.keys())
@classmethod
def from_random(cls) -> ModelData:
"""Instantiate with random numbers."""
kwargs = {
field: field_info.annotation.from_random() # type: ignore
for field, field_info
in cls.model_fields.items()
}
return cls(**kwargs)
+5 -2
View File
@@ -1,8 +1,11 @@
"""Definition of PointOfViewData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class PointOfViewData(BaseDataModel):
class PointOfViewData(DataModel):
"""PointOfViewData data model."""
frontal: float
oblique: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of SalienceData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class SalienceData(BaseDataModel):
class SalienceData(DataModel):
"""SalienceData data model."""
size: float
colour: float
tone: float
+5 -2
View File
@@ -1,9 +1,12 @@
"""Definition of VisualSyntaxData data model."""
from __future__ import annotations
from .base_data_model import BaseDataModel
from .data_model import DataModel
class VisualSyntaxData(BaseDataModel):
class VisualSyntaxData(DataModel):
"""VisualSyntaxData data model."""
non_transactional_action: float
non_transactional_reaction: float
unidirectional_transactional_action: float