code: def compress(x, c, is_2d, hparams, name):
    
    with tf.variable_scope(name):
      # Run compression by strided convs.
      cur = x
      k1 = (3, 3) if is_2d else (3, 1)
      k2 = (2, 2) if is_2d else (2, 1)
      cur = residual_conv(cur, hparams.num_compress_steps, k1, hparams, "rc")
      if c is not None and hparams.do_attend_compress:
        cur = attend(cur, c, hparams, "compress_attend")
      for i in range(hparams.num_compress_steps):
        if hparams.do_residual_compress:
          cur = residual_conv(cur, hparams.num_compress_steps, k1, hparams,
                              "rc_%d" % i)
        cur = common_layers.conv_block(
            cur, hparams.hidden_size, [((1, 1), k2)],
            strides=k2, name="compress_%d" % i)
      return cur
docs: Compress.