class_docstr: Aggregates via mean followed by matmul and non-linearity.
  Same matmul parameters are used self vector and neighbor vectors.
class_docstr_tok: ["Aggregates","via","mean","followed","by","matmul","and","non-linearity",".","Same","matmul","parameters","are","used","self","vector","and","neighbor","vectors","."]
code: def _call(self, inputs):
      self_vecs, neigh_vecs = inputs
  
      neigh_vecs = tf.nn.dropout(neigh_vecs, 1 - self.dropout)
      self_vecs = tf.nn.dropout(self_vecs, 1 - self.dropout)
      means = tf.reduce_mean(
          tf.concat(
              [neigh_vecs, tf.expand_dims(self_vecs, axis=1)], axis=1
          ),
          axis=1,
      )
  
      # [nodes] x [out_dim]
      output = tf.matmul(means, self.vars["weights"])
  
      # bias
      if self.bias:
          output += self.vars["bias"]
  
      return self.act(output)
  
imports: import tensorflow
  from .layers import Layer, Dense
  from .inits import glorot, zeros
label_desc: Use image node_id 2 for calling the GCNAggregator obj's underlying member method code with example usage: obj._call(inputs) and returns: self