Browse Source

[ENH] add abstract data interface to evaluation

ab_data
Gao Enhao 1 year ago
parent
commit
25e527f0fe
2 changed files with 6 additions and 8 deletions
  1. +5
    -7
      abl/evaluation/semantics_metric.py
  2. +1
    -1
      abl/evaluation/symbol_metric.py

+ 5
- 7
abl/evaluation/semantics_metric.py View File

@@ -1,19 +1,17 @@
from typing import Optional, Sequence

from ..reasoning import BaseKB
from .base_metric import BaseMetric


class SemanticsMetric(BaseMetric):
def __init__(self, prefix: Optional[str] = None) -> None:
def __init__(self, kb: BaseKB = None, prefix: Optional[str] = None) -> None:
super().__init__(prefix)
self.kb = kb

def process(self, data_samples: Sequence[dict]) -> None:
pred_pseudo_label = data_samples["pred_pseudo_label"]
gt_Y = data_samples["Y"]
logic_forward = data_samples["logic_forward"]

for pred_z, y in zip(pred_pseudo_label, gt_Y):
if logic_forward(pred_z) == y:
for data_sample in data_samples:
if self.kb.entail(data_sample, data_sample["Y"][0]):
self.results.append(1)
else:
self.results.append(0)


+ 1
- 1
abl/evaluation/symbol_metric.py View File

@@ -1,4 +1,4 @@
from typing import Callable, Optional, Sequence
from typing import Optional, Sequence

from .base_metric import BaseMetric



Loading…
Cancel
Save