def _create_network(self, input_view, input_feature):
        """define computation graph of network

        Parameters
        ----------
        view_space: tuple
        feature_space: tuple
            the input shape
        """
        kernel_num = [32, 32]
        hidden_size = [256]

        if False:
            h_conv1 = mx.sym.Convolution(data=input_view, kernel=(3, 3),
                                         num_filter=kernel_num[0], layout="NHWC")
            h_conv1 = mx.sym.Activation(data=h_conv1, act_type="relu")
            h_conv2 = mx.sym.Convolution(data=h_conv1, kernel=(3, 3),
                                         num_filter=kernel_num[1], layout="NHWC")
            h_conv2 = mx.sym.Activation(data=h_conv2, act_type="relu")
        else:
            input_view = mx.sym.flatten(data=input_view)
            h_conv2 = mx.sym.FullyConnected(input_view, num_hidden=hidden_size[0])
            h_conv2 = mx.sym.Activation(data=h_conv2, act_type="relu")

        flatten_view = mx.sym.flatten(data=h_conv2)
        h_view = mx.sym.FullyConnected(data=flatten_view, num_hidden=hidden_size[0])
        h_view = mx.sym.Activation(data=h_view, act_type="relu")

        h_emb = mx.sym.FullyConnected(data=input_feature, num_hidden=hidden_size[0])
        h_emb = mx.sym.Activation(data=h_emb, act_type="relu")

        dense = h_view + h_emb

        policy = mx.sym.FullyConnected(data=dense, num_hidden=self.num_actions, no_bias=True)
        policy = mx.sym.SoftmaxActivation(data=policy)
        policy = mx.sym.clip(data=policy, a_min=1e-5, a_max=1 - 1e-5)
        value  = mx.sym.FullyConnected(data=dense, num_hidden=1)

        return policy, value
define computation graph of network

        Parameters
        ----------
        view_space: tuple
        feature_space: tuple
            the input shape
        
python/magent/builtin/mx_model/a2c.py