code: def test_RGCN_apply_dense():
      G, features = create_graph_features(is_directed=True)
  
      As = get_As(G)
      As = [np.expand_dims(A.todense(), 0) for A in As]
  
      generator = RelationalFullBatchNodeGenerator(G, sparse=False)
      rgcnModel = RGCN(
          [2],
          generator,
          num_bases=10,
          activations=["relu"],
          dropout=0.5,
      )
  
      x_in, x_out = rgcnModel.in_out_tensors()
      model = keras.Model(inputs=x_in, outputs=x_out)
  
      # Check fit method
      out_indices = np.array([[0, 1]], dtype="int32")
      preds_1 = model.predict([features[None, :, :], out_indices] + As)
      assert preds_1.shape == (1, 2, 2)
  
      # Check fit method
      preds_2 = model.predict(generator.flow(["a", "b"]))
      assert preds_2.shape == (1, 2, 2)
  
      assert preds_1 == pytest.approx(preds_2)
  
imports: import numpy
  from stellargraph.layer.rgcn import RelationalGraphConvolution, RGCN
  from stellargraph.mapper.full_batch_generators import RelationalFullBatchNodeGenerator
  import pytest
  from scipy import sparse
  from stellargraph.core.utils import normalize_adj
  import tensorflow
  from tensorflow import keras
  from tensorflow.keras import backend
  from tensorflow.keras.layers import Input, Lambda
  from stellargraph import StellarDiGraph, StellarGraph
  from stellargraph.layer.misc import SqueezedSparseConversion
  import pandas
  from ..test_utils.graphs import relational_create_graph_features
  from ..None import test_utils
label_desc: Use image node_id 7 for calling a global function with example usage: test_RGCN_apply_dense() without return types