'Back-propagate the gradient of the `tensors` to `gradients`.
Arguments:
Tensors (list): List of Tensors to compute gradients.
Gradient (list): List of Tensors, as output buffers of the
Gradients.'

def back_prop_grad(self, tensors, gradients):

    for grad_buffer in gradients:
        assert (grad_buffer._original_base not in self.map_tensor_grad_op_tree)
    skipped_tensor = None
    for (tensor, grad_buffer) in zip(tensors, gradients):
        if (grad_buffer is self.next_error):
            skipped_tensor = tensor
        else:
            grad_buffer[:] = self.map_tensor_grad_op_tree.get(tensor._original_base, (grad_buffer * 0.0))
    if skipped_tensor:
        self.next_error[:] = self.map_tensor_grad_op_tree.get(skipped_tensor._original_base, (self.next_error * 0.0))
