parameters: (self,
                   in_channel,
                   out_channel,
                   kernel_size,
                   mode=1,
                   pad_mode='valid',
                   pad=0,
                   stride=1,
                   dilation=1,
                   group=1,
                   output_padding=0,
                   data_format="NCDHW")
docstring: Initialize Conv3DTranspose
docstring_summary: Initialize Conv3DTranspose
docstring_tokens: Initialize Conv3DTranspose
function: def __init__(self,
                   in_channel,
                   out_channel,
                   kernel_size,
                   mode=1,
                   pad_mode='valid',
                   pad=0,
                   stride=1,
                   dilation=1,
                   group=1,
                   output_padding=0,
                   data_format="NCDHW"):
          """Initialize Conv3DTranspose"""
          self.init_prim_io_names(inputs=['x', 'filter'], outputs=['output'])
          self.in_channel = validator.check_positive_int(in_channel, 'in_channel', self.name)
          self.add_prim_attr('in_channel', self.in_channel)
          self.out_channel = validator.check_positive_int(out_channel, 'out_channel', self.name)
          self.add_prim_attr('out_channel', self.out_channel)
          self.kernel_size = _check_3d_int_or_tuple('kernel_size', kernel_size, self.name)
          self.stride = _check_3d_int_or_tuple('stride', stride, self.name, allow_five=False,
                                               ret_five=True)
          self.add_prim_attr('strides', self.stride)
          self.dilation = _check_3d_int_or_tuple('dilation', dilation, self.name, allow_five=False,
                                                 ret_five=True, third_one=True)
          self.add_prim_attr('dilations', self.dilation)
          validator.check_value_type('pad', pad, (int, tuple), self.name)
          validator.check_value_type('pad_mode', pad_mode, [str], self.name)
          if isinstance(pad, int):
              pad = (pad,) * 6
          if len(pad) != 6:
              raise ValueError(f"For '{self.name}', attr 'pad' should be an positive int number or a tuple of "
                               f"six positive int numbers, but got {self.pad}.")
          self.pad_list = pad
          validator.check_value_type('pad_mode', pad_mode, [str], self.name)
          self.pad_mode = validator.check_string(pad_mode.lower(), ['valid', 'same', 'pad'], 'pad_mode', self.name)
          self.add_prim_attr('pad_mode', self.pad_mode)
  
          if self.pad_mode != 'pad' and pad != (0, 0, 0, 0, 0, 0):
              raise ValueError(f"For '{self.name}', the 'pad' must be zero or (0, 0, 0, 0, 0, 0) when 'pad_mode' "
                               f"is not \"pad\", but got 'pad' is {self.pad} and 'pad_mode' is {pad_mode}.")
  
          if self.pad_mode == 'pad':
              for item in self.pad_list:
                  validator.check_non_negative_int(item, 'pad item', self.name)
          self.mode = validator.check_equal_int(mode, 1, 'mode', self.name)
          self.add_prim_attr('mode', self.mode)
          self.group = validator.check_equal_int(group, 1, 'group', self.name)
          self.add_prim_attr('groups', self.group)
          self.format = validator.check_string(data_format, ['NCDHW'], 'format', self.name)
          self.add_prim_attr('data_format', self.format)
  
          self.output_padding = _check_3d_int_or_tuple('output_padding', output_padding, self.name,
                                                       allow_five=False, ret_five=True, greater_zero=False)
          output_padding_ = (self.output_padding[2], self.output_padding[3], self.output_padding[4])
          if self.pad_mode != 'pad' and output_padding_ != (0, 0, 0):
              raise ValueError(f"For '{self.name}', the 'output_padding' must be zero or (0, 0, 0) "
                               f"when 'pad_mode' is not \"pad\", but got 'output_padding' is "
                               f"{output_padding} and 'pad_mode' is {pad_mode}.")
          validator.check_int_range(self.kernel_size[0] * self.kernel_size[1] * self.kernel_size[2], 1, 343, Rel.INC_BOTH,
                                    'The product of height, width and depth of kernel_size belonging [1, 343]', self.name)
          validator.check_int_range(self.stride[0] * self.stride[1] * self.stride[2], 1, 343, Rel.INC_BOTH,
                                    'The product of height, width and depth of stride belonging [1, 343]', self.name)
          validator.check_int_range(self.stride[1] * self.stride[2], 1, 256, Rel.INC_BOTH,
                                    'The product of height, width and depth of stride belonging [1, 256]', self.name)
          validator.check_int_range(self.output_padding[2], 0, max(self.dilation[2], self.stride[2]), Rel.INC_LEFT,
                                    'output_padding_d belonging [0, max(stride_d, dilation_d))', self.name)
          validator.check_int_range(self.output_padding[3], 0, max(self.dilation[3], self.stride[3]), Rel.INC_LEFT,
                                    'output_padding_h belonging [0, max(stride_h,dilation_h))', self.name)
          validator.check_int_range(self.output_padding[4], 0, max(self.dilation[4], self.stride[4]), Rel.INC_LEFT,
                                    'output_padding_w belonging [0, max(stride_w,dilation_w))', self.name)
function_tokens: def __init__ ( self , in_channel , out_channel , kernel_size , mode = 1 , pad_mode = 'valid' , pad = 0 , stride = 1 , dilation = 1 , group = 1 , output_padding = 0 , data_format = "NCDHW" ) : self . init_prim_io_names ( inputs = [ 'x' , 'filter' ] , outputs = [ 'output' ] ) self . in_channel = validator . check_positive_int ( in_channel , 'in_channel' , self . name ) self . add_prim_attr ( 'in_channel' , self . in_channel ) self . out_channel = validator . check_positive_int ( out_channel , 'out_channel' , self . name ) self . add_prim_attr ( 'out_channel' , self . out_channel ) self . kernel_size = _check_3d_int_or_tuple ( 'kernel_size' , kernel_size , self . name ) self . stride = _check_3d_int_or_tuple ( 'stride' , stride , self . name , allow_five = False , ret_five = True ) self . add_prim_attr ( 'strides' , self . stride ) self . dilation = _check_3d_int_or_tuple ( 'dilation' , dilation , self . name , allow_five = False , ret_five = True , third_one = True ) self . add_prim_attr ( 'dilations' , self . dilation ) validator . check_value_type ( 'pad' , pad , ( int , tuple ) , self . name ) validator . check_value_type ( 'pad_mode' , pad_mode , [ str ] , self . name ) if isinstance ( pad , int ) : pad = ( pad , ) * 6 if len ( pad ) != 6 : raise ValueError ( f"For '{self.name}', attr 'pad' should be an positive int number or a tuple of " f"six positive int numbers, but got {self.pad}." ) self . pad_list = pad validator . check_value_type ( 'pad_mode' , pad_mode , [ str ] , self . name ) self . pad_mode = validator . check_string ( pad_mode . lower ( ) , [ 'valid' , 'same' , 'pad' ] , 'pad_mode' , self . name ) self . add_prim_attr ( 'pad_mode' , self . pad_mode ) if self . pad_mode != 'pad' and pad != ( 0 , 0 , 0 , 0 , 0 , 0 ) : raise ValueError ( f"For '{self.name}', the 'pad' must be zero or (0, 0, 0, 0, 0, 0) when 'pad_mode' " f"is not \"pad\", but got 'pad' is {self.pad} and 'pad_mode' is {pad_mode}." ) if self . pad_mode == 'pad' : for item in self . pad_list : validator . check_non_negative_int ( item , 'pad item' , self . name ) self . mode = validator . check_equal_int ( mode , 1 , 'mode' , self . name ) self . add_prim_attr ( 'mode' , self . mode ) self . group = validator . check_equal_int ( group , 1 , 'group' , self . name ) self . add_prim_attr ( 'groups' , self . group ) self . format = validator . check_string ( data_format , [ 'NCDHW' ] , 'format' , self . name ) self . add_prim_attr ( 'data_format' , self . format ) self . output_padding = _check_3d_int_or_tuple ( 'output_padding' , output_padding , self . name , allow_five = False , ret_five = True , greater_zero = False ) output_padding_ = ( self . output_padding [ 2 ] , self . output_padding [ 3 ] , self . output_padding [ 4 ] ) if self . pad_mode != 'pad' and output_padding_ != ( 0 , 0 , 0 ) : raise ValueError ( f"For '{self.name}', the 'output_padding' must be zero or (0, 0, 0) " f"when 'pad_mode' is not \"pad\", but got 'output_padding' is " f"{output_padding} and 'pad_mode' is {pad_mode}." ) validator . check_int_range ( self . kernel_size [ 0 ] * self . kernel_size [ 1 ] * self . kernel_size [ 2 ] , 1 , 343 , Rel . INC_BOTH , 'The product of height, width and depth of kernel_size belonging [1, 343]' , self . name ) validator . check_int_range ( self . stride [ 0 ] * self . stride [ 1 ] * self . stride [ 2 ] , 1 , 343 , Rel . INC_BOTH , 'The product of height, width and depth of stride belonging [1, 343]' , self . name ) validator . check_int_range ( self . stride [ 1 ] * self . stride [ 2 ] , 1 , 256 , Rel . INC_BOTH , 'The product of height, width and depth of stride belonging [1, 256]' , self . name ) validator . check_int_range ( self . output_padding [ 2 ] , 0 , max ( self . dilation [ 2 ] , self . stride [ 2 ] ) , Rel . INC_LEFT , 'output_padding_d belonging [0, max(stride_d, dilation_d))' , self . name ) validator . check_int_range ( self . output_padding [ 3 ] , 0 , max ( self . dilation [ 3 ] , self . stride [ 3 ] ) , Rel . INC_LEFT , 'output_padding_h belonging [0, max(stride_h,dilation_h))' , self . name ) validator . check_int_range ( self . output_padding [ 4 ] , 0 , max ( self . dilation [ 4 ] , self . stride [ 4 ] ) , Rel . INC_LEFT , 'output_padding_w belonging [0, max(stride_w,dilation_w))' , self . name )