def run_network_on_image(): import make_seqs ims1, ims1a, ims2=make_seqs.make_seqs(slength=6,num_seqs=1000) input_var1 = T.tensor4('inputs') input_var2 = T.tensor4('inputs_comp') network = compare_net.build_cnn_new_conv(input_var1, input_var2) if (os.path.isfile('net.npy')): spars=np.load('net.npy') lasagne.layers.set_all_param_values(network,spars) test_corr = lasagne.layers.get_output(network, deterministic=True) test_fn = theano.function([input_var1, input_var2], [test_corr]) tcorr_same=test_fn(ims1,ims1a) tcorr_diff=test_fn(ims1,ims2) tt_same_std=np_standardize(tcorr_same[0]) tt_diff_std=np_standardize(tcorr_diff[0]) corrs_same=get_shifted_correlations(tt_same_std) corrs_diff=get_shifted_correlations(tt_diff_std) dps=optimize_dp(corrs_same) dpd=optimize_dp(corrs_diff) print(np.min(dps),np.max(dps),np.min(dpd),np.max(dpd)) import pylab as py py.figure(1) py.hist(dps,alpha=.5) py.hist(dpd,alpha=.5) py.show() print('done ')
def run_network_on_all_pairs(num_seqs=40): import make_seqs ims1, ims1a, ims2=make_seqs.make_seqs(slength=6,num_seqs=num_seqs, from_font=False) input_var1 = T.tensor4('inputs') input_var2 = T.tensor4('inputs_comp') network = compare_net.build_cnn_new_conv(input_var1, input_var2) if (os.path.isfile('net.npy')): spars=np.load('net.npy') lasagne.layers.set_all_param_values(network,spars) test_corr = lasagne.layers.get_output(network, deterministic=True) test_fn = theano.function([input_var1, input_var2], [test_corr]) tcorr_same=test_fn(ims1,ims1a) tt_same_std=np_standardize(tcorr_same[0]) temp=np.copy(tt_same_std) ii=np.arange(0,num_seqs) np.random.shuffle(ii) iii=np.copy(ii) temp[1,]=tt_same_std[1,iii] dps=np.zeros((num_seqs,num_seqs)) for n in range(num_seqs): temp[1,]=tt_same_std[1,np.roll(ii,-n),] corrs_same=get_shifted_correlations(temp) dps[n,]=optimize_dp(corrs_same) dps=dps.transpose() dpss=dps.copy() for n in range(num_seqs): dpss[n,]=np.roll(dps[n,],n) print(dpss) print(iii) print("done") dpss=np.max(dpss)-dpss #dps=dps.transpose() match_them(dpss,iii) print('done ')