code: def test_sequential_jittable():
      x = torch.randn(4, 16)
      edge_index = torch.tensor(
          [[0, 0, 0, 1, 2, 3], [1, 2, 3, 0, 0, 0]]
      )
  
      model = Sequential(
          "x: Tensor, edge_index: Tensor",
          [
              (GCNConv(16, 64).jittable(), "x, edge_index -> x"),
              ReLU(inplace=True),
              (GCNConv(64, 64).jittable(), "x, edge_index -> x"),
              ReLU(inplace=True),
              Linear(64, 7),
          ],
      )
      torch.jit.script(model)(x, edge_index)
  
      if torch_geometric.typing.WITH_TORCH_SPARSE:
          adj_t = SparseTensor.from_edge_index(edge_index).t()
  
          model = Sequential(
              "x: Tensor, edge_index: SparseTensor",
              [
                  (GCNConv(16, 64).jittable(), "x, edge_index -> x"),
                  ReLU(inplace=True),
                  (GCNConv(64, 64).jittable(), "x, edge_index -> x"),
                  ReLU(inplace=True),
                  Linear(64, 7),
              ],
          )
          torch.jit.script(model)(x, adj_t)
  
file_path: pytorch_geometric/test/nn/test_sequential.py
imports: from collections import OrderedDict
  import torch
  import torch.fx
  from torch.nn import Dropout, Linear, ReLU
  import torch_geometric.typing
  from torch_geometric.nn import GCNConv, JumpingKnowledge, MessagePassing, SAGEConv, Sequential, global_mean_pool, to_hetero
  from torch_geometric.typing import SparseTensor
label_desc: Use image node_id 2 for calling a global function with example usage: test_sequential_jittable() without return types