def compute_output_shape(self, input_shape):
input_shape = tf.TensorShape(input_shape).as_list()<EOL>if self.data_format == '<STR_LIT>':<EOL><INDENT>space = input_shape[<NUM_LIT:1>:-<NUM_LIT:1>]<EOL>new_space = []<EOL>for i in range(len(space)):<EOL><INDENT>new_dim = tf_layers_util.conv_output_length(<EOL>space[i],<EOL>self.kernel_size[i],<EOL>padding=self.padding,<EOL>stride=self.strides[i],<EOL>dilation=self.dilation_rate[i])<EOL>new_space.append(new_dim)<EOL><DEDENT>return tf.TensorShape([input_shape[<NUM_LIT:0>]] + new_space + [self.filters])<EOL><DEDENT>else:<EOL><INDENT>space = input_shape[<NUM_LIT:2>:]<EOL>new_space = []<EOL>for i in range(len(space)):<EOL><INDENT>new_dim = tf_layers_util.conv_output_length(<EOL>space[i],<EOL>self.kernel_size[i],<EOL>padding=self.padding,<EOL>stride=self.strides[i],<EOL>dilation=self.dilation_rate[i])<EOL>new_space.append(new_dim)<EOL><DEDENT>return tf.TensorShape([input_shape[<NUM_LIT:0>], self.filters] + new_space)<EOL><DEDENT>
Computes the output shape of the layer.

        Args:
          input_shape: Shape tuple (tuple of integers) or list of shape tuples
            (one per output tensor of the layer). Shape tuples can include None for
            free dimensions, instead of an integer.

        Returns:
          output_shape: A tuple representing the output shape.