feat: indexifier now has len
This commit is contained in:
parent
7beca501bf
commit
d962ecb11e
@ -36,6 +36,10 @@ class Indexifier:
|
|||||||
def indexify(self, n: int) -> typing.Dict[str, typing.Any]:
|
def indexify(self, n: int) -> typing.Dict[str, typing.Any]:
|
||||||
return self.product_dict[n]
|
return self.product_dict[n]
|
||||||
|
|
||||||
|
def __len__(self) -> int:
|
||||||
|
weights = [len(v) for v in self.dict.values()]
|
||||||
|
return math.prod(weights)
|
||||||
|
|
||||||
def _indexify_indices(self, n: int) -> typing.Sequence[int]:
|
def _indexify_indices(self, n: int) -> typing.Sequence[int]:
|
||||||
"""
|
"""
|
||||||
legacy indexify from old scripts, copypast.
|
legacy indexify from old scripts, copypast.
|
||||||
|
@ -10,3 +10,12 @@ def test_indexifier():
|
|||||||
_logger.debug(f"setting up indexifier {indexifier}")
|
_logger.debug(f"setting up indexifier {indexifier}")
|
||||||
assert indexifier.indexify(0) == {"key_1": 1, "key_2": "a"}
|
assert indexifier.indexify(0) == {"key_1": 1, "key_2": "a"}
|
||||||
assert indexifier.indexify(5) == {"key_1": 2, "key_2": "c"}
|
assert indexifier.indexify(5) == {"key_1": 2, "key_2": "c"}
|
||||||
|
assert len(indexifier) == 9
|
||||||
|
|
||||||
|
|
||||||
|
def test_indexifier_length_short():
|
||||||
|
weight_dict = {"key_1": [1, 2, 3], "key_2": ["b", "c"]}
|
||||||
|
indexifier = deepdog.indexify.Indexifier(weight_dict)
|
||||||
|
_logger.debug(f"setting up indexifier {indexifier}")
|
||||||
|
|
||||||
|
assert len(indexifier) == 6
|
||||||
|
Loading…
x
Reference in New Issue
Block a user