def DeConv2d(net, n_out_channel=32, filter_size=(3, 3), out_size=(30, 30), strides=(2, 2), padding='SAME', batch_size=None, act=None, W_init=tf.truncated_normal_initializer(stddev=0.02), b_init=tf.constant_initializer(value=0.0), W_init_args={}, b_init_args={}, name='decnn2d'):
 if (act is None):
  act = tf.identity
 if (batch_size is None):
  batch_size = tf.shape(net.outputs)[0]
 net = DeConv2dLayer(layer=net, act=act, shape=[filter_size[0], filter_size[1], n_out_channel, int(net.outputs.get_shape()[(-1)])], output_shape=[batch_size, int(out_size[0]), int(out_size[1]), n_out_channel], strides=[1, strides[0], strides[1], 1], padding=padding, W_init=W_init, b_init=b_init, W_init_args=W_init_args, b_init_args=b_init_args, name=name)
 return net

def DeConv2d ( net , n_out_channel = 32 , filter_size = ( 3 , 3 ) , out_size = ( 30 , 30 ) , strides = ( 2 , 2 ) , padding = 'SAME' , batch_size = None , act = None , W_init = tf . truncated_normal_initializer ( stddev = 0.02 ) , b_init = tf . constant_initializer ( value = 0.0 ) , W_init_args = { } , b_init_args = { } , name = 'decnn2d' ) : if ( act is None ) : act = tf . identity if ( batch_size is None ) : batch_size = tf . shape ( net . outputs ) [ 0 ] net = DeConv2dLayer ( layer = net , act = act , shape = [ filter_size [ 0 ] , filter_size [ 1 ] , n_out_channel , int ( net . outputs . get_shape ( ) [ ( - 1 ) ] ) ] , output_shape = [ batch_size , int ( out_size [ 0 ] ) , int ( out_size [ 1 ] ) , n_out_channel ] , strides = [ 1 , strides [ 0 ] , strides [ 1 ] , 1 ] , padding = padding , W_init = W_init , b_init = b_init , W_init_args = W_init_args , b_init_args = b_init_args , name = name ) return net
wrapper for :class:deconv2dlayer .