human
Give me a the Python code you requested given the following:
Complete the below
def conv_gru(x, kernel_size, filters, padding='SAME', dilation_rate=(1, 1), name=None, reuse=None):

    ''''Convolutional GRU in 1 dimension.'
    '''
assistant
#Here is the Python code you requested.
    def do_conv(args, name, bias_start, padding):
        return conv(args, filters, kernel_size, padding=padding, dilation_rate=dilation_rate, bias_initializer=tf.constant_initializer(bias_start), name=name)
    with tf.variable_scope(name, default_name='conv_gru', values=[x], reuse=reuse):
        reset = saturating_sigmoid(do_conv(x, 'reset', 1.0, padding))
        gate = saturating_sigmoid(do_conv(x, 'gate', 1.0, padding))
        candidate = tf.tanh(do_conv((reset * x), 'candidate', 0.0, padding))
        return ((gate * x) + ((1 - gate) * candidate))