MCPcopy Create free account
hub / github.com/pytorch/executorch / handle_placeholder

Method handle_placeholder

exir/serde/export_serialize.py:455–481  ·  view source on GitHub ↗
(self, node: torch.fx.Node)

Source from the content-addressed store, hash-verified

453 self.graph_state = saved
454
455 def handle_placeholder(self, node: torch.fx.Node):
456 assert node.op == "placeholder"
457 if isinstance(node.meta["val"], torch.Tensor):
458 graph_input = Argument.create(as_tensor=TensorArgument(name=node.name))
459 self.graph_state.tensor_values[node.name] = serialize_tensor_meta(
460 node.meta["val"]
461 )
462 elif isinstance(node.meta["val"], torch.SymInt):
463 graph_input = Argument.create(
464 as_sym_int=SymIntArgument.create(as_name=node.name)
465 )
466 self.graph_state.sym_int_values[node.name] = serialize_sym_int(
467 node.meta["val"]
468 )
469 elif isinstance(node.meta["val"], (int, bool, str, float, type(None))):
470 graph_input = self.serialize_input(node.meta["val"])
471 elif isinstance(node.meta["val"], ep.CustomObjArgument):
472 class_fqn = node.meta["val"].class_fqn
473 graph_input = Argument.create(
474 as_custom_obj=CustomObjArgument(name=node.name, class_fqn=class_fqn)
475 )
476 self.graph_state.custom_obj_values[node.name] = (
477 self.serialize_script_obj_meta(node.meta["val"])
478 )
479 else:
480 raise AssertionError(f"Unimplemented graph input type: {node.meta['val']}")
481 self.graph_state.inputs.append(graph_input)
482
483 def handle_output(self, node: torch.fx.Node):
484 assert node.op == "output"

Callers

nothing calls this directly

Calls 8

serialize_inputMethod · 0.95
TensorArgumentClass · 0.85
serialize_tensor_metaFunction · 0.85
serialize_sym_intFunction · 0.85
CustomObjArgumentClass · 0.85
createMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected