def __init__(
                    self, 
                    outputDim,
                    fixExtreme=True,
                    inputNames=None, 
                    name=None, 
                    outputdEdX=True,
                    learningRate=0.0,
                    learningRateAnnealConst=0.0,
                    momentum=0.0,
                    deltaMomentum=0.0,
                    weightClip=0.0,
                    gradientClip=0.0,
                    weightRegConst=0.0):
        Stage.__init__(
                        self, 
                        name=name,
                        inputNames=inputNames, 
                        outputDim=outputDim, 
                        outputdEdX=outputdEdX,
                        learningRate=learningRate,
                        learningRateAnnealConst=learningRateAnnealConst,
                        momentum=momentum,
                        deltaMomentum=deltaMomentum,
                        weightClip=weightClip,
                        gradientClip=gradientClip,
                        weightRegConst=weightRegConst)
        # Uniform initialization
        # mu_0 = -1
        # mu_(n-1) = 1
        # mu_i = -1 + 2 * (i / n)
        self.fixExtreme = fixExtreme
        mu = np.linspace(-1, 1, self.outputDim)
        # pi_i = 1/n
        pi = np.zeros(self.outputDim) + np.log(1 / float(self.outputDim))
        self.W = np.zeros((2, self.outputDim))
        self.W[0] = mu
        self.W[1] = pi
dataset/ETHPy150Open renmengye/imageqa-public/src/nn/ordinal.py/OrdinalRegression.__init__/original