parameters: (op)
return_statement: return [accum_shape]
docstring: Shape function for the SparseApplyAdagrad op.
docstring_summary: Shape function for the SparseApplyAdagrad op.
docstring_tokens: Shape function for the SparseApplyAdagrad op .
function: def _SparseApplyAdagradShape(op):
    """Shape function for the SparseApplyAdagrad op."""
    var_shape = op.inputs[0].get_shape()
    accum_shape = op.inputs[1].get_shape().merge_with(var_shape)
    _AssertInputIsScalar(op, 2)  # lr
    grad_shape = op.inputs[3].get_shape().merge_with(
        tensor_shape.TensorShape([None]).concatenate(accum_shape[1:]))
    unused_indices_shape = op.inputs[4].get_shape().merge_with(
        tensor_shape.vector(grad_shape[0]))
    return [accum_shape]
function_tokens: def _SparseApplyAdagradShape ( op ) : var_shape = op . inputs [ 0 ] . get_shape ( ) accum_shape = op . inputs [ 1 ] . get_shape ( ) . merge_with ( var_shape ) _AssertInputIsScalar ( op , 2 ) # lr grad_shape = op . inputs [ 3 ] . get_shape ( ) . merge_with ( tensor_shape . TensorShape ( [ None ] ) . concatenate ( accum_shape [ 1 : ] ) ) unused_indices_shape = op . inputs [ 4 ] . get_shape ( ) . merge_with ( tensor_shape . vector ( grad_shape [ 0 ] ) ) return [ accum_shape ]