MCPcopy Create free account
hub / github.com/tensorflow/datasets / _get_nested_metadata

Function _get_nested_metadata

tensorflow_datasets/d4rl/dataset_utils.py:105–147  ·  view source on GitHub ↗

Generate a metadata dictionary using flattened metadata keys. Args: dataset: dictionary containing the dataset keys and values. Keys are flatened. prefix: common prefix of the metadata fields. Returns: Nested dictionary with the episode metadata. If the dataset contains:

(
    dataset: Dict[str, Any], prefix: str
)

Source from the content-addressed store, hash-verified

103
104
105def _get_nested_metadata(
106 dataset: Dict[str, Any], prefix: str
107) -> Dict[str, Any]:
108 """Generate a metadata dictionary using flattened metadata keys.
109
110 Args:
111 dataset: dictionary containing the dataset keys and values. Keys are
112 flatened.
113 prefix: common prefix of the metadata fields.
114
115 Returns:
116 Nested dictionary with the episode metadata.
117
118 If the dataset contains:
119 {
120 'metadata/v1/v2': 1,
121 'metadata/v3': 2,
122 }
123 and prefix='metadata', it returns:
124 {
125 'v1':{
126 'v2': 1,
127 }
128 'v3': 2,
129 }
130 It assumes that the flattened metadata keys are well-formed.
131 """
132 episode_metadata = {}
133 for k in dataset.keys():
134 if f'{prefix}/' not in k:
135 continue
136 keys = k.split('/')[1:]
137 nested_dict = episode_metadata
138 leaf_value = dataset[k]
139 for index, nested_key in enumerate(keys):
140 if index == (len(keys) - 1):
141 nested_dict[nested_key] = leaf_value
142 else:
143 if nested_key not in nested_dict:
144 nested_dict[nested_key] = {}
145 nested_dict = nested_dict[nested_key]
146
147 return episode_metadata
148
149
150def _get_episode(

Callers 1

generate_examplesFunction · 0.85

Calls 1

keysMethod · 0.45

Tested by

no test coverage detected