(self, name: str, meta_val: Any)
| 1286 | return [self.serialize_output(node.name, meta_val)] |
| 1287 | |
| 1288 | def serialize_output(self, name: str, meta_val: Any) -> Argument: |
| 1289 | # Check single value return |
| 1290 | if meta_val is None: |
| 1291 | return Argument.create(as_none=()) |
| 1292 | if isinstance(meta_val, torch.Tensor): |
| 1293 | # e.g "-> Tensor" |
| 1294 | return Argument.create( |
| 1295 | as_tensor=self.serialize_tensor_output(name, meta_val) |
| 1296 | ) |
| 1297 | elif isinstance(meta_val, (int, torch.SymInt)): |
| 1298 | # e.g "-> SymInt" |
| 1299 | return Argument.create( |
| 1300 | as_sym_int=self.serialize_sym_int_output(name, meta_val) |
| 1301 | ) |
| 1302 | elif isinstance(meta_val, torch.SymBool): |
| 1303 | # e.g "-> SymBool" |
| 1304 | return Argument.create( |
| 1305 | as_sym_bool=self.serialize_sym_bool_output(name, meta_val) |
| 1306 | ) |
| 1307 | |
| 1308 | # list outputs should've been handled earlier |
| 1309 | raise SerializeError(f"Unable to serialize output {meta_val}") |
| 1310 | |
| 1311 | def _handle_getitem_users(self, node: torch.fx.Node) -> List[TensorArgument]: |
| 1312 | meta_val = node.meta["val"] |
no test coverage detected