code: def build_network(self):
      layer_configs = self.config
      feature_size = 784
  
      # define placeholder
      self.x = tf.placeholder(
          tf.float32, [None, feature_size], name="input_x"
      )
      self.y = tf.placeholder(
          tf.int32, [None, self.label_size], name="input_y"
      )
      label_number = 10
  
      # define network
      input_layer = self.x
      in_height = in_width = int(math.sqrt(feature_size))
      for i, layer_config in enumerate(layer_configs):
          input_layer = tf.nn.relu(
              self.get_layer(
                  layer_config, input_layer, in_height, in_width, i
              )
          )
  
      output_layer = input_layer
      if self.is_flatten(output_layer):
          output_layer = tf.contrib.layers.flatten(
              output_layer
          )  # flatten
      output_layer = tf.layers.dense(output_layer, label_number)
      child_logit = tf.nn.softmax_cross_entropy_with_logits(
          logits=output_layer, labels=self.y
      )
      child_loss = tf.reduce_mean(child_logit)
  
      self.train_step = tf.train.AdamOptimizer(
          learning_rate=0.0001
      ).minimize(child_loss)
      child_accuracy = tf.equal(
          tf.argmax(output_layer, 1), tf.argmax(self.y, 1)
      )
      self.accuracy = tf.reduce_mean(tf.cast(child_accuracy, "float"))
  
imports: from __future__ import absolute_import, division, print_function
  import logging
  import math
  import tempfile
  import time
  import argparse
  import tensorflow
  from tensorflow.examples.tutorials.mnist import input_data
  import nni
label_desc: Use image node_id 5 for calling the MnistNetwork obj's underlying member method code with example usage: obj.build_network() without return types