def create_pattern_reconstruct_fn(layers, patterns, patterns_flipped, return_all=False, enforce_positivity_after_relu=True, enforce_positivity_everywhere=False): """ Attempts to reconstruct given input from specific layer by first computing feature representation...""" assert patterns_flipped == False, "Otherwise implement it" inputs = create_suitable_theano_input_var(layers[-1]) outputs = lasagne.layers.get_output(layers[-1], deterministic=True, input_var=inputs, inputs=inputs) n_patterns = len([l for l in layers if hasattr(l, 'W')]) deconved_var = pattern_deconv( outputs, inputs, layers, patterns[:n_patterns], patterns_flipped=patterns_flipped, return_all=return_all, enforce_positivity_after_relu=enforce_positivity_after_relu, enforce_positivity_everywhere=enforce_positivity_everywhere) pattern_deconv_fn = theano.function([inputs], deconved_var) return pattern_deconv_fn
def create_pattern_deconv_fn(layers, patterns, patterns_flipped, return_all=False, enforce_positivity_after_relu=True, enforce_positivity_everywhere=False): assert patterns_flipped == False, "Otherwise implement it" inputs = create_suitable_theano_input_var(layers[-1]) outputs = create_suitable_theano_output_var(layers[-1]) n_patterns = len([l for l in layers if hasattr(l, 'W')]) deconved_var = pattern_deconv( outputs, inputs, layers, patterns[:n_patterns], patterns_flipped=patterns_flipped, return_all=return_all, enforce_positivity_after_relu=enforce_positivity_after_relu, enforce_positivity_everywhere=enforce_positivity_everywhere) try: pattern_deconv_fn = theano.function([outputs, inputs], deconved_var) except UnusedInputError: pattern_deconv_fn = theano.function([outputs], deconved_var) return pattern_deconv_fn
def create_pattern_reconstruct_fn(layers, patterns, patterns_flipped, return_all=False, enforce_positivity_after_relu=True, enforce_positivity_everywhere=False): """ Attempts to reconstruct given input from specific layer by first computing feature representation...""" assert patterns_flipped == False, "Otherwise implement it" inputs = create_suitable_theano_input_var(layers[-1]) outputs = lasagne.layers.get_output(layers[-1], deterministic=True, input_var=inputs, inputs=inputs) n_patterns = len([l for l in layers if hasattr(l, 'W')]) deconved_var = pattern_deconv(outputs, inputs, layers, patterns[:n_patterns], patterns_flipped=patterns_flipped, return_all=return_all, enforce_positivity_after_relu=enforce_positivity_after_relu, enforce_positivity_everywhere=enforce_positivity_everywhere) pattern_deconv_fn = theano.function([inputs], deconved_var) return pattern_deconv_fn
def create_pattern_deconv_fn(layers, patterns, patterns_flipped, return_all=False, enforce_positivity_after_relu=True, enforce_positivity_everywhere=False): assert patterns_flipped == False, "Otherwise implement it" inputs = create_suitable_theano_input_var(layers[-1]) outputs = create_suitable_theano_output_var(layers[-1]) n_patterns = len([l for l in layers if hasattr(l, 'W')]) deconved_var = pattern_deconv(outputs, inputs, layers, patterns[:n_patterns], patterns_flipped=patterns_flipped, return_all=return_all, enforce_positivity_after_relu=enforce_positivity_after_relu, enforce_positivity_everywhere=enforce_positivity_everywhere) try: pattern_deconv_fn = theano.function([outputs, inputs], deconved_var) except UnusedInputError: pattern_deconv_fn = theano.function([outputs], deconved_var) return pattern_deconv_fn