Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
    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')