#NEWLINE# def output( self , input = None , dropout_active = True , * args , **kwargs ) : #NEWLINE# #INDENT# if ( input == None ) : #NEWLINE# #INDENT# input = self . input_layer . output ( * args , dropout_active = dropout_active , ** kwargs ) #NEWLINE# #UNINDENT# if ( dropout_active and ( self . dropout > 0.0 ) ) : #NEWLINE# #INDENT# retain_prob = ( 1 - self . dropout ) #NEWLINE# mask = layers . srng . binomial ( input . shape , p = retain_prob , dtype = 'int32' ) . astype ( 'float32' ) #NEWLINE# input = ( ( input / retain_prob ) * mask ) #NEWLINE# #UNINDENT# contiguous_input = gpu_contiguous ( input ) #NEWLINE# contiguous_filters = gpu_contiguous ( self . W ) #NEWLINE# conved = self . filter_acts_op ( contiguous_input , contiguous_filters ) #NEWLINE# if self . untie_biases : #NEWLINE# #INDENT# conved += self . b . dimshuffle ( 0 , 1 , 2 , 'x' ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# conved += self . b . dimshuffle ( 0 , 'x' , 'x' , 'x' ) #NEWLINE# #UNINDENT# return self . nonlinearity ( conved )