src/core/layer/normalization/WeightNormalization.java
public void backwardProcess() throws MatrixException, DynamicParamException {
        resetLayerGradients();
        getLayerGradients().putAll(getNextLayerGradients());

        HashMap<Matrix, Matrix> nextLayerWeightGradients = getNextLayer().getLayerWeightGradients();
        for (Matrix weight : procedures.keySet()) {
            weight.setEqualTo(weights.get(weight));
            Matrix weightGradient = nextLayerWeightGradients.get(weight);
            Procedure procedure = procedures.get(weight);
            weightGradient.setEqualTo(procedure.calculateGradient(weightGradient, 0));
        }
        weights.clear();
    }
/**
     * Takes single backward processing step to process layer output gradient(s) towards input.<br>
     * Applies automated backward (automatic gradient) procedure when relevant to layer.<br>
     *
     * @throws MatrixException throws exception if matrix operation fails.
     * @throws DynamicParamException throws exception if parameter (params) setting fails.
     */
Takes single backward processing step to process layer output gradient(s) towards input.
Applies automated backward (automatic gradient) procedure when relevant to layer.

@throws MatrixException throws exception if matrix operation fails.
@throws DynamicParamException throws exception if parameter (params) setting fails.
Takes single backward processing step to process layer output gradient ( s ) towards input . Applies automated backward ( automatic gradient ) procedure when relevant to layer . @throws MatrixException throws exception if matrix operation fails . @throws DynamicParamException throws exception if parameter ( params ) setting fails .
public void backwardProcess() throws MatrixException, DynamicParamException {
        resetLayerGradients();
        getLayerGradients().putAll(getNextLayerGradients());
        HashMap<Matrix, Matrix> nextLayerWeightGradients = getNextLayer().getLayerWeightGradients();
        for (Matrix weight : procedures.keySet()) {
            weight.setEqualTo(weights.get(weight));
            Matrix weightGradient = nextLayerWeightGradients.get(weight);
            Procedure procedure = procedures.get(weight);
            weightGradient.setEqualTo(procedure.calculateGradient(weightGradient, 0));
        }
        weights.clear();
    }
public void backwardProcess ( ) throws MatrixException , DynamicParamException { resetLayerGradients ( ) ; getLayerGradients ( ) . putAll ( getNextLayerGradients ( ) ) ; HashMap < Matrix , Matrix > nextLayerWeightGradients = getNextLayer ( ) . getLayerWeightGradients ( ) ; for ( Matrix weight : procedures . keySet ( ) ) { weight . setEqualTo ( weights . get ( weight ) ) ; Matrix weightGradient = nextLayerWeightGradients . get ( weight ) ; Procedure procedure = procedures . get ( weight ) ; weightGradient . setEqualTo ( procedure . calculateGradient ( weightGradient , 0 ) ) ; } weights . clear ( ) ; }
Takes single backward processing step to process layer output gradient(s) towards input.<br>
 Applies automated backward (automatic gradient) procedure when relevant to layer.<br>
Takes single backward processing step to process layer output gradient ( s ) towards input . <br > Applies automated backward ( automatic gradient ) procedure when relevant to layer . <br >