src/core/layer/recurrent/BiRecurrentLayer.java
public void backwardProcess() throws MatrixException, DynamicParamException {
        resetLayerGradients();
        Sequence nextLayerGradients = getNextLayerGradients();
        Sequence directNextLayerGradients = nextLayerGradients.unjoin(0);
        Sequence reverseNextLayerGradients = nextLayerGradients.unjoin(1);
        if (procedure != null) procedure.calculateGradient(directNextLayerGradients, getLayerGradients(), getTruncateSteps());
        if (reverseProcedure != null) reverseProcedure.calculateGradient(reverseNextLayerGradients, reverseLayerGradients, getTruncateSteps());
        Sequence layerGradients = new Sequence(directNextLayerGradients.getDepth());
        for (Integer sampleIndex : layerGradients.keySet()) {
            layerGradients.put(sampleIndex, getLayerGradients().get(sampleIndex).add(reverseLayerGradients.get(sampleIndex)));
        }
        setLayerGradients(layerGradients);
    }
/**
     * 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();
        Sequence nextLayerGradients = getNextLayerGradients();
        Sequence directNextLayerGradients = nextLayerGradients.unjoin(0);
        Sequence reverseNextLayerGradients = nextLayerGradients.unjoin(1);
        if (procedure != null) procedure.calculateGradient(directNextLayerGradients, getLayerGradients(), getTruncateSteps());
        if (reverseProcedure != null) reverseProcedure.calculateGradient(reverseNextLayerGradients, reverseLayerGradients, getTruncateSteps());
        Sequence layerGradients = new Sequence(directNextLayerGradients.getDepth());
        for (Integer sampleIndex : layerGradients.keySet()) {
            layerGradients.put(sampleIndex, getLayerGradients().get(sampleIndex).add(reverseLayerGradients.get(sampleIndex)));
        }
        setLayerGradients(layerGradients);
    }
public void backwardProcess ( ) throws MatrixException , DynamicParamException { resetLayerGradients ( ) ; Sequence nextLayerGradients = getNextLayerGradients ( ) ; Sequence directNextLayerGradients = nextLayerGradients . unjoin ( 0 ) ; Sequence reverseNextLayerGradients = nextLayerGradients . unjoin ( 1 ) ; if ( procedure != null ) procedure . calculateGradient ( directNextLayerGradients , getLayerGradients ( ) , getTruncateSteps ( ) ) ; if ( reverseProcedure != null ) reverseProcedure . calculateGradient ( reverseNextLayerGradients , reverseLayerGradients , getTruncateSteps ( ) ) ; Sequence layerGradients = new Sequence ( directNextLayerGradients . getDepth ( ) ) ; for ( Integer sampleIndex : layerGradients . keySet ( ) ) { layerGradients . put ( sampleIndex , getLayerGradients ( ) . get ( sampleIndex ) . add ( reverseLayerGradients . get ( sampleIndex ) ) ) ; } setLayerGradients ( layerGradients ) ; }
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 >