mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 03:42:50 +08:00
Fix: typo in dict processing
Summary: David had his code crashed when using frame_annot["meta"] dictionary. Turns out we had a typo. The tests were passing by chance since all the keys were single-character strings. Reviewed By: bottler Differential Revision: D37503987 fbshipit-source-id: c12b0df21116cfbbc4675a0182b9b9e6d62bad2e
This commit is contained in:
parent
7e0146ece4
commit
7ce8ed55e1
@ -226,7 +226,7 @@ def _dataclass_list_from_dict_list(dlist, typeannot):
|
|||||||
|
|
||||||
keys = np.split(list(all_keys_res), indices[:-1])
|
keys = np.split(list(all_keys_res), indices[:-1])
|
||||||
vals = np.split(list(all_vals_res), indices[:-1])
|
vals = np.split(list(all_vals_res), indices[:-1])
|
||||||
return [cls(zip(*k, v)) for k, v in zip(keys, vals)]
|
return [cls(zip(k, v)) for k, v in zip(keys, vals)]
|
||||||
elif not dataclasses.is_dataclass(typeannot):
|
elif not dataclasses.is_dataclass(typeannot):
|
||||||
return dlist
|
return dlist
|
||||||
|
|
||||||
|
@ -73,8 +73,8 @@ class TestDatasetTypes(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# dict
|
# dict
|
||||||
parsed = types._dataclass_from_dict({"k": dct}, Dict[str, FrameAnnotation])
|
parsed = types._dataclass_from_dict({"key": dct}, Dict[str, FrameAnnotation])
|
||||||
self.assertEqual(parsed, {"k": self.entry})
|
self.assertEqual(parsed, {"key": self.entry})
|
||||||
|
|
||||||
def test_parsing_vectorized(self):
|
def test_parsing_vectorized(self):
|
||||||
dct = dataclasses.asdict(self.entry)
|
dct = dataclasses.asdict(self.entry)
|
||||||
@ -83,10 +83,10 @@ class TestDatasetTypes(unittest.TestCase):
|
|||||||
self._compare_with_scalar(_NT(dct), _NT)
|
self._compare_with_scalar(_NT(dct), _NT)
|
||||||
self._compare_with_scalar((dct,), Tuple[FrameAnnotation])
|
self._compare_with_scalar((dct,), Tuple[FrameAnnotation])
|
||||||
self._compare_with_scalar([dct], List[FrameAnnotation])
|
self._compare_with_scalar([dct], List[FrameAnnotation])
|
||||||
self._compare_with_scalar({"k": dct}, Dict[str, FrameAnnotation])
|
self._compare_with_scalar({"key": dct}, Dict[str, FrameAnnotation])
|
||||||
|
|
||||||
dct2 = dct.copy()
|
dct2 = dct.copy()
|
||||||
dct2["meta"] = {"d": 76}
|
dct2["meta"] = {"aux": 76}
|
||||||
self._compare_with_scalar(dct2, FrameAnnotation)
|
self._compare_with_scalar(dct2, FrameAnnotation)
|
||||||
|
|
||||||
def _compare_with_scalar(self, obj, typeannot, repeat=3):
|
def _compare_with_scalar(self, obj, typeannot, repeat=3):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user