| 175 | converter.set_template(template_arg_value) |
| 176 | |
| 177 | def recursive_recover(input_data): |
| 178 | if isinstance(input_data, (tuple, list)): |
| 179 | new_data = [] |
| 180 | for item in input_data: |
| 181 | new_data.append(recursive_recover(item)) |
| 182 | return tuple(new_data) if isinstance(input_data, |
| 183 | tuple) else new_data |
| 184 | elif isinstance(input_data, dict): |
| 185 | new_data = {} |
| 186 | for k, v in input_data.items(): |
| 187 | new_data[k] = recursive_recover(v) |
| 188 | return new_data |
| 189 | elif isinstance(input_data, (torch.Tensor, np.ndarray)): |
| 190 | return converter.recover(input_data) |
| 191 | else: |
| 192 | return input_data |
| 193 | |
| 194 | if recover: |
| 195 | return recursive_recover(return_values) |