Ejemplo n.º 1
0
def _cudnn_rnn_backward(op, *grad):
    if not op.get_attr("is_training"):
        raise ValueError(
            "CudnnRNN must set is_training to True to be used in gradients")
    return gen_cudnn_rnn_ops.cudnn_rnn_backprop(
        input=op.inputs[0],
        input_h=op.inputs[1],
        input_c=op.inputs[2],
        params=op.inputs[3],
        output=op.outputs[0],
        output_h=op.outputs[1],
        output_c=op.outputs[2],
        output_backprop=grad[0],
        output_h_backprop=grad[1],
        output_c_backprop=grad[2],
        reserve_space=op.outputs[3],
        rnn_mode=op.get_attr("rnn_mode"),
        input_mode=op.get_attr("input_mode"),
        direction=op.get_attr("direction"))
Ejemplo n.º 2
0
def _cudnn_rnn_backward(op, *grad):
    if not op.get_attr("is_training"):
        raise ValueError("CudnnRNN must set is_training to True to be used in gradients")
    return gen_cudnn_rnn_ops.cudnn_rnn_backprop(
        input=op.inputs[0],
        input_h=op.inputs[1],
        input_c=op.inputs[2],
        params=op.inputs[3],
        output=op.outputs[0],
        output_h=op.outputs[1],
        output_c=op.outputs[2],
        output_backprop=grad[0],
        output_h_backprop=grad[1],
        output_c_backprop=grad[2],
        reserve_space=op.outputs[3],
        rnn_mode=op.get_attr("rnn_mode"),
        input_mode=op.get_attr("input_mode"),
        direction=op.get_attr("direction"),
    )