code: def save_static_model(args):
      dataset = pgl.dataset.CoraDataset()
  
      if args.model == "GAT":
          model = GAT(
              input_size=dataset.graph.node_feat["words"].shape[1],
              num_class=dataset.num_classes,
              num_layers=2,
              feat_drop=0.6,
              attn_drop=0.6,
              num_heads=8,
              hidden_size=8,
          )
      elif args.model == "GCN":
          model = GCN(
              input_size=dataset.graph.node_feat["words"].shape[1],
              num_class=dataset.num_classes,
              num_layers=1,
              dropout=0.5,
              hidden_size=16,
          )
      elif args.model == "GraphSage":
          model = GraphSage(
              input_size=dataset.graph.node_feat["words"].shape[1],
              num_class=dataset.num_classes,
              num_layers=2,
              hidden_size=16,
          )
      else:
          raise ValueError("%s model is supported!" % args.model)
      state_dict = paddle.load("%s.pdparam" % args.model.lower())
      model.set_state_dict(state_dict)
      model.eval()
  
      # Convert to static graph with specific input description
      if args.model == "GraphSage":
          model = paddle.jit.to_static(
              model,
              input_spec=[
                  paddle.static.InputSpec(
                      shape=[None, None], dtype="int64"
                  ),  # edge_index
                  paddle.static.InputSpec(
                      shape=[None, None], dtype="float32"
                  ),  # feature
              ],
          )
      else:
          model = paddle.jit.to_static(
              model,
              input_spec=[
                  paddle.static.InputSpec(
                      shape=[None, None], dtype="int64"
                  ),  # edge_index
                  paddle.static.InputSpec(
                      shape=[None], dtype="int64"
                  ),  # num_nodes
                  paddle.static.InputSpec(
                      shape=[None, None], dtype="float32"
                  ),  # feature
              ],
          )
  
      # Save in static graph model
      if not os.path.exists("./export"):
          os.mkdir("./export")
      save_path = os.path.join(
          "export", "inference_%s" % args.model.lower()
      )
      paddle.jit.save(model, save_path)
  
file_path: PGL/examples/gnn_depoly/node_classification_with_full_graph/export_model.py
imports: import os
  import sys
  import argparse
  import numpy
  import paddle
  import pgl
  from models import GCN, GAT, GraphSage
label_desc: Use image node_id 1 for calling a global function with example usage: save_static_model(args) without return types