conv3d_transpose#
- ivy.conv3d_transpose(x, filters, strides, padding, /, *, output_shape=None, data_format='NDHWC', dilations=1, out=None)[source]#
Compute a 3-D transpose convolution given 5-D input x and filters arrays.
- Parameters:
x (
Union
[Array
,NativeArray
]) – Input volume [batch_size,d,h,w,d_in] or [batch_size,d_in,d,h,w].filters (
Union
[Array
,NativeArray
]) – Convolution filters [fd,fh,fw,d_in,d_out].strides (
Union
[int
,Tuple
[int
,int
,int
]]) – The stride of the sliding window for each dimension of input.padding (
str
) – Either ‘SAME’ (padding so that the output’s shape is the same as the input’s), or ‘VALID’ (padding so that the output’s shape is output_shape).output_shape (
Optional
[Union
[Shape
,NativeShape
]]) – Shape of the output (Default value = None) (default:None
)data_format (
str
) – The ordering of the dimensions in the input, one of “NDHWC” or “NCDHW”. “NDHWC” (default:'NDHWC'
) corresponds to inputs with shape (batch_size, depth, height, width, channels), while “NCDHW” corresponds to input with shape (batch_size, channels, depth, height, width).dilations (
Union
[int
,Tuple
[int
,int
,int
]]) – The dilation factor for each dimension of input. (Default value = 1) (default:1
)out (
Optional
[Array
]) – optional output array, for writing the result to. It must have a shape that the (default:None
) inputs broadcast to.
- Return type:
- Returns:
ret – The result of the transpose convolution operation.
Examples
With
ivy.Array
input:>>> x = ivy.random_normal(mean=0, std=1, shape=[1, 3, 28, 28, 3]) >>> filters = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6]) >>> y = ivy.conv3d_transpose(x, filters, 2, 'SAME') >>> print(y.shape) (1, 6, 56, 56, 6)
>>> x = ivy.random_normal(mean=0, std=1, shape=[1, 7, 256, 256, 64]) >>> filters = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 64, 32]) >>> y = ivy.conv3d_transpose(x, filters, [1, 1, 1], 'VALID') >>> print(y.shape) (1, 9, 258, 258, 32)
With
ivy.Container
inputs:>>> a = ivy.random_normal(mean=0, std=1, shape=[1, 3, 14, 14, 3]) >>> b = ivy.random_normal(mean=0, std=1, shape=[1, 3, 28, 28, 3])) >>> c = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6]) >>> d = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6])) >>> x = ivy.Container(a=a, b=b) >>> filters = ivy.Container(c=c, d=d) >>> y = ivy.conv3d_transpose(x, filters, 2, 'SAME') >>> print(y.shape) [1, 6, 56, 56, 6]
With a mix of
ivy.Array
andivy.Container
inputs:>>> x = ivy.full((1, 6, 6, 6, 1), 2.7) >>> a = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 1, 1]) >>> b = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 1, 1]) >>> filters = ivy.Container(a = a, b = b) >>> y = ivy.conv3d_transpose(x, filters, 1, 'VALID', dilations=1) >>> print(y.shape) [1, 8, 8, 8, 1]
>>> x = ivy.full((1, 6, 6, 6, 1), 1.23) >>> a = ivy.array(ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 1, 1])) >>> b = ivy.array(ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 1, 1])) >>> filters = ivy.Container(a = a, b = b) >>> y = ivy.conv3d_transpose(x, filters, 1, 'VALID', dilations=1) >>> print(y.shape) [1, 8, 8, 8, 1]
- Array.conv3d_transpose(self, filters, strides, padding, /, *, output_shape=None, data_format='NDHWC', dilations=1, out=None)#
ivy.Array instance method variant of ivy.conv3d_transpose. This method simply wraps the function, and so the docstring for ivy.conv3d_transpose also applies to this method with minimal changes.
- Parameters:
self (
Array
) – Input volume [batch_size,d,h,w,d_in] or [batch_size,d_in,d,h,w].filters (
Union
[Array
,NativeArray
]) – Convolution filters [fd,fh,fw,d_in,d_out].strides (
Union
[int
,Tuple
[int
],Tuple
[int
,int
],Tuple
[int
,int
,int
]]) – The stride of the sliding window for each dimension of input.padding (
Union
[str
,List
[int
]]) – “SAME” or “VALID” indicating the algorithm, or list indicating the per-dimension paddings.output_shape (
Optional
[Union
[Shape
,NativeShape
]]) – Shape of the output (Default value = None) (default:None
)data_format (
str
) –The ordering of the dimensions in the input, one of “NDHWC” or (default:
'NDHWC'
) “NCDHW”. “NDHWC” corresponds to inputs with shape (batch_size,depth, height, width, channels), while “NCDHW” corresponds to input with shape (batch_size, channels, depth, height, width).
dilations (
Union
[int
,Tuple
[int
],Tuple
[int
,int
],Tuple
[int
,int
,int
]]) – The dilation factor for each dimension of input. (Default value = 1) (default:1
)out (
Optional
[Array
]) – optional output array, for writing the result to. It must have a (default:None
) shape that the inputs broadcast to.
- Return type:
Array
- Returns:
ret – The result of the transpose convolution operation.
Examples
>>> x = ivy.random_normal(mean=0, std=1, shape=[1, 3, 28, 28, 3]) >>> filters = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6]) >>> y = x.conv3d_transpose(filters, 2, 'SAME') >>> print(y.shape) (1, 6, 56, 56, 6)
- Container.conv3d_transpose(self, filters, strides, padding, /, *, output_shape=None, data_format='NDHWC', dilations=1, key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False, out=None)#
ivy.Container instance method variant of ivy.conv3d_transpose. This method simply wraps the function, and so the docstring for ivy.conv3d_transpose also applies to this method with minimal changes.
- Parameters:
self (
Container
) – Input container with leaves of volume [batch_size,d,h,w,d_in] or [batch_size,d_in,d,h,w].filters (
Union
[Array
,NativeArray
,Container
]) – Convolution filters [fd,fh,fw,d_in,d_out].strides (
Union
[int
,Tuple
[int
],Tuple
[int
,int
],Tuple
[int
,int
,int
]]) – The stride of the sliding window for each dimension of input.padding (
Union
[str
,List
[int
]]) – “SAME” or “VALID” indicating the algorithm, or list indicating the per-dimension paddings.output_shape (
Optional
[Union
[Array
,NativeArray
,Container
]]) – Shape of the output (Default value = None) (default:None
)data_format (
str
) –The ordering of the dimensions in the input, one of “NDHWC” or (default:
'NDHWC'
) “NCDHW”. “NDHWC” corresponds to inputs with shape (batch_size,depth, height, width, channels), while “NCDHW” corresponds to input with shape (batch_size, channels, depth, height, width).
dilations (
Union
[int
,Tuple
[int
],Tuple
[int
,int
],Tuple
[int
,int
,int
]]) – The dilation factor for each dimension of input. (Default value = 1) (default:1
)out (
Optional
[Container
]) – optional output container, for writing the result to. It must (default:None
) have a shape that the inputs broadcast to.
- Return type:
Container
- Returns:
ret – The result of the transpose convolution operation in a container.
>>> a = ivy.random_normal(mean=0, std=1, shape=[1, 3, 14, 14, 3])
>>> b = ivy.random_normal(mean=0, std=1, shape=[1, 3, 28, 28, 3]))
>>> c = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6])
>>> d = ivy.random_normal(mean=0, std=1, shape=[3, 3, 3, 3, 6]))
>>> x = ivy.Container(a=a, b=b)
>>> filters = ivy.Container(c=c, d=d)
>>> y = x.conv3d_transpose(filters, 2, ‘SAME’)
>>> print(y.shape)
{ –
- a: {
c: [1, 6, 28, 28, 6], d: [1, 6, 28, 28, 6]
}, b: {
c: [1, 6, 56, 56, 6], d: [1, 6, 56, 56, 6]
}
}