mirror of
				https://github.com/facebookresearch/pytorch3d.git
				synced 2025-11-04 18:02:14 +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])
 | 
			
		||||
        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):
 | 
			
		||||
        return dlist
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -73,8 +73,8 @@ class TestDatasetTypes(unittest.TestCase):
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # dict
 | 
			
		||||
        parsed = types._dataclass_from_dict({"k": dct}, Dict[str, FrameAnnotation])
 | 
			
		||||
        self.assertEqual(parsed, {"k": self.entry})
 | 
			
		||||
        parsed = types._dataclass_from_dict({"key": dct}, Dict[str, FrameAnnotation])
 | 
			
		||||
        self.assertEqual(parsed, {"key": self.entry})
 | 
			
		||||
 | 
			
		||||
    def test_parsing_vectorized(self):
 | 
			
		||||
        dct = dataclasses.asdict(self.entry)
 | 
			
		||||
@ -83,10 +83,10 @@ class TestDatasetTypes(unittest.TestCase):
 | 
			
		||||
        self._compare_with_scalar(_NT(dct), _NT)
 | 
			
		||||
        self._compare_with_scalar((dct,), Tuple[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["meta"] = {"d": 76}
 | 
			
		||||
        dct2["meta"] = {"aux": 76}
 | 
			
		||||
        self._compare_with_scalar(dct2, FrameAnnotation)
 | 
			
		||||
 | 
			
		||||
    def _compare_with_scalar(self, obj, typeannot, repeat=3):
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user