code: def build_mlp(input_var=None):
      # This creates an MLP of two hidden layers of 800 units each, followed by
      # a softmax output layer of 10 units. It applies 20% dropout to the input
      # data and 50% dropout to the hidden layers.
  
      # Input layer, specifying the expected input shape of the network
      # (unspecified batchsize, 1 channel, 28 rows and 28 columns) and
      # linking it to the given Theano variable `input_var`, if any:
      l_in = lasagne.layers.InputLayer(
          shape=(None, 1, 28, 28), input_var=input_var
      )
  
      # Apply 20% dropout to the input data:
      l_in_drop = lasagne.layers.DropoutLayer(l_in, p=0.2)
  
      # Add a fully-connected layer of 800 units, using the linear rectifier, and
      # initializing weights with Glorot's scheme (which is the default anyway):
      l_hid1 = lasagne.layers.DenseLayer(
          l_in_drop,
          num_units=800,
          nonlinearity=lasagne.nonlinearities.rectify,
          W=lasagne.init.GlorotUniform(),
      )
  
      # We'll now add dropout of 50%:
      l_hid1_drop = lasagne.layers.DropoutLayer(l_hid1, p=0.5)
  
      # Another 800-unit layer:
      l_hid2 = lasagne.layers.DenseLayer(
          l_hid1_drop,
          num_units=800,
          nonlinearity=lasagne.nonlinearities.rectify,
      )
  
      # 50% dropout again:
      l_hid2_drop = lasagne.layers.DropoutLayer(l_hid2, p=0.5)
  
      # Finally, we'll add the fully-connected output layer, of 10 softmax units:
      l_out = lasagne.layers.DenseLayer(
          l_hid2_drop,
          num_units=10,
          nonlinearity=lasagne.nonlinearities.softmax,
      )
  
      # Each layer is linked to its incoming layer(s), so we only need to pass
      # the output layer to give access to a network in Lasagne:
      return l_out
  
file_path: Lasagne/examples/mnist.py
imports: from __future__ import print_function
  import sys
  import os
  import time
  import numpy
  import theano
  import theano.tensor
  import lasagne
label_desc: Use image node_id 2 for calling a global function with example usage: build_mlp(input_var) and returns: l_out