def posterior_covariance(make = 1, plot = 1): if(make == 1): imgNr = 16 dim = 8 imgDB = loadtxt('patches_vanhateren_64.txt') imgDB = imgDB.reshape(16, 8, 8) # imgDB = random.random((imgNr, dim, dim)) #print amax(imgDB) for i in range(0, imgNr): imgDB[i] *= 1 + i * 9.0/imgNr #plot_images(imgDB) start = 0 end = 9 ni=3 pointNr = 20 A = identity(dim**2) #numpy.random.random((16,16)) C = identity(dim**2) invC = linalg.inv(C) sum_cov = zeros(imgNr) z_arr = zeros(imgNr) [sat, icorr, s, s2] = init_pux(A, C, start, end, pointNr) for ni in range(0,imgNr): [c, m, z] = pux_integration(imgDB[ni], sat, icorr, s, s2, start, end, pointNr) z_arr[ni] = z #sampling based on these values #samps = mixt_samp(c, m, s, 10) #mean calcualtion and comparison with original images sum_m = m[0]*0 for i in range(0,size(c)): sum_m += c[i]*m[i] # sum_m = sum_m.reshape(8,8) # plot_images([sum_m, imgDB[ni]], "original vs. inferred", "orig_vs_inf_%1.1f.png" %z, contr=False, rng=[0,40]) #The covariance of more random variables is the mean of the conditional covariances plus the covariance of the conditional means. cov = s[0]*0 for k in range(0,size(s,0)): cov += c[k]*s[k] for i in range(0, size(s,1)): for j in range (0, size(s,2)): cov[i][j] += c[k]*m[k][i]*m[k][j] for i in range (0, size(s,1)): for j in range (0, size(s,2)): cov[i][j] -= sum_m[i]*sum_m[j] if (ni == 9): corr = correlate_cov(cov) sum_cov[ni] = mean(abs(corr-diag(diag(corr)))) # for correlations # sum_cov[ni] = mean(cov) savetxt('posterior_correlations_sums.txt', sum_cov) savetxt('posterior_correlations_cont.txt', z_arr) else: sum_cov = loadtxt('posterior_correlations_sums.txt') z_arr = loadtxt('posterior_correlations_cont.txt') if (plot == 1): plt.plot(z_arr, sum_cov, 'bo') myplot("contrast", "correlations", "posterior correlations as a function of contrast", "posterior_correlations.png")
data[gwf] = [] with open(gwf + '_avg_reward.data', 'r') as f: i = 0 j = 0 for e in episodelen: print(e) j = e lst = f.readlines()[i:j] lst = [float(i) for i in lst] print(lst[0], type(lst[0])) i = e #exit() #print ([float(f.next()) for x in range(e)]) #exit() #data[gwf].append(sum()) print(data['9x9_illustrative_3']) exit() data = {} data['GSAT'] = [61.03, 73.25, 76.05, 79.69, 83.19] data['SUMBT'] = [59.23, 71.37, 74.41, 74.47, 77.14] data['GCE'] = [51.67, 64.49, 71.73, 71.98, 76.83] data['GLAD'] = [49.24, 61.76, 71.98, 72.57, 75.25] data['Simple BERT-DST'] = [49, 49.60, 63.89, 64.44, 68.75] data['NBT-CNN'] = [40.50, 53.60, 62.90, 67.20, 69.00] data['NBT-DNN'] = [35.30, 46.60, 51.90, 56.20, 61.50] index = ['20', '40', '60', '80', '100'] myplot(data, index, 'line_plot') #bar_plot(data,index,'bar_plot')