code: def cgcnn_inference():
      input_layer = Input(shape=(BATCH_SIZE, M_0 * IN_F))
  
      # === First layer===
      output = Dense(n_units=IN_JOINTS * F, act=None)(input_layer)
      output = batch_normalization_warp(output)
      # output = Dropout(keep=0.8)(output)
  
      # === Create multiple bi-linear layers ===
      for i in range(3):
          output = two_linear_inference(output)
  
      # === Last layer ===
      output = Dense(n_units=OUT_JOINTS * 3, act=None)(output)
  
      output = End_layer()([input_layer, output])
  
      network = Model(inputs=input_layer, outputs=output)
      return network
  
imports: import numpy
  import tensorflow
  from tensorlayer.layers import Layer, Dropout, Dense, Input, BatchNorm, Reshape, Elementwise
  from tensorlayer.models import Model
  from tensorlayer import logging
  from .common import mask_weight, neighbour_matrix
label_desc: Use image node_id 5 for calling a global function with example usage: cgcnn_inference() and returns: network