class_docstr: Perform transposed convolution (aka deconvolution, fractionally stride
  convolution) over input. ``conv_transpose`` can also be used to compute
  gradient of conv. Currently support 1D and 2D only.
  
  Parameters
  ----------
  
  x: tensor<[n,C_in,*D_in],T>  (Required)
      * Input data. ``D_in`` are spatial dimensions. ``1 <= len(D_in) <= 2``
      and ``C_in`` is the number of input channels.
  
  weight: const tensor<[C_out,C_in/groups,*D_in], T> (Required)
      * Filter weights. ``C_in, C_out`` are the number of input and output channels respectively.
      * ``D_in`` are spatial dimensions. ``1 <= len(D_in) <= 2``
  
  bias: const tensor<[C_out],T> (Optional. Default to all 0)
      * Bias added along output channels
  
  pad: const tensor<[P],i32> (Optional. Default to all 0s)
      * Number of elements to pad before and after each dimension
      * ``P == 2 * len(D_in)``
      * ``pad[2*i], pad[2*i+1]`` are pad sizes before and after dimension ``i``, where ``0 <= i < len(D_in)``
  
  output_shape: const tensor<[P],i32> (Optional. Default None)
      * Expected output shape
      * Padding is computed using pad_type and output_shape if provided
  
  pad_type: const tensor<[P],i32> (Optional. Default valid)
      * One of ``same``, ``valid``, or ``custom``
  
  strides: const tensor<[S],i32> (Optional. Default to all 1s)
      * Stride along each of the spatial dimensions. ``S == len(D_in)``
  
  dilations: const tensor<[S],i32> (Optional. Default to all 1s)
      * Dilation value along each spatial dimension in ``d_in``. See `conv`.
      * ``S == len(D_in)``
  
  groups: const tensor<[], i32> (Optional. Default to 1)
      * Input and output channels are separated into ``groups``. ``C_in`` and ``C_out`` must be divisible by the number of groups. See ``conv`` for examples.
  
  Returns
  -------
  tensor<[n,C_out,*D_out],T>
      * ``D_out[i] = (D_in[i]-1) * strides[i] + pad[2*i] + pad[2*i+1] - (K[i] - 1) * dilations[i] + 1)] for i = 0, 1``
  
  Attributes
  ----------
  T: fp32
  
  See Also
  --------
  conv
code: def __init__(self, **kwargs):
      super(conv_transpose, self).__init__(**kwargs)
  
file_path: turicreate/src/external/coremltools_wrap/coremltools/coremltools/converters/mil/mil/ops/defs/conv.py
imports: from coremltools.converters.mil.mil.ops.defs._utils import spatial_dimensions_out_shape
  from ._op_reqs import *
label_desc: Use image node_id 1 to create a new conv_transpose object from inherited base classes: Operation with example: obj = conv_transpose()