code: def test_attri2vec_serialize():
      attri2vec = Attri2Vec(
          layer_sizes=[4],
          bias=False,
          input_dim=2,
          node_num=4,
          multiplicity=2,
          activation="linear",
          normalize=None,
      )
  
      inp = keras.Input(shape=(2,))
      out = attri2vec(inp)
      model = keras.Model(inputs=inp, outputs=out)
  
      # Save model
      model_json = model.to_json()
  
      # Set all weights to one
      model_weights = [np.ones_like(w) for w in model.get_weights()]
  
      # Load model from json & set all weights
      model2 = keras.models.model_from_json(model_json)
      model2.set_weights(model_weights)
  
      # Test loaded model
      x = np.array([[1, 2]])
      expected = np.array([[3, 3, 3, 3]])
  
      actual = model2.predict(x)
      assert expected == pytest.approx(actual)
  
file_path: stellargraph/tests/layer/test_attri2vec.py
imports: from stellargraph.core.graph import StellarGraph
  from stellargraph.mapper import Attri2VecNodeGenerator
  from stellargraph.layer.attri2vec import *
  from tensorflow import keras
  import numpy
  import networkx
  import pytest
  from ..test_utils.graphs import example_graph
  from ..None import test_utils
label_desc: Use image node_id 3 for calling a global function with example usage: test_attri2vec_serialize() without return types