code: def create_GCN_model(graph):
      generator = FullBatchNodeGenerator(graph)
      train_gen = generator.flow([1, 2], np.array([[1, 0], [0, 1]]))
  
      base_model = GCN(
          layer_sizes=[8, 2],
          generator=generator,
          bias=True,
          dropout=0.5,
          activations=["elu", "softmax"],
      )
  
      x_inp, x_out = base_model.in_out_tensors()
  
      keras_model = Model(inputs=x_inp, outputs=x_out)
  
      return base_model, keras_model, generator, train_gen
  
imports: import pandas
  import pytest
  import numpy
  import tensorflow
  from stellargraph import StellarGraph
  from stellargraph.layer import GraphSAGE, GCN, GAT, HinSAGE, link_classification, link_regression
  from stellargraph.mapper import GraphSAGENodeGenerator, FullBatchNodeGenerator, HinSAGENodeGenerator, GraphSAGELinkGenerator, HinSAGELinkGenerator
  from stellargraph.ensemble import Ensemble, BaggingEnsemble
  from tensorflow.keras import layers, Model
  from tensorflow.keras.optimizers import Adam
  from tensorflow.keras.losses import categorical_crossentropy, binary_crossentropy
label_desc: Use image node_id 4 for calling a global function with example usage: create_GCN_model(graph) and returns: base_model,  keras_model,  generator,  train_gen