Ejemplo n.º 1
0
j = 0
while True:
    # while j < 10:
    import time

    for i, symcfg in enumerate(symconfigs):
        key = symcfg.prefix
        line = symcfg.readline("t_gibbs")
        if not line:
            break

        t, gibbs_P = read_t_gibbs(line)
        prob_Q = symcfg.prob_Q
        kl[key].append(KLd(gibbs_P, prob_Q))

        bv.cmp_graph(gibbs_P, prob_Q, ax=axis[i * 2], label=key + str(j))
        printKL(arange(t), kl[key], ax=axis[i * 2 + 1])

    plt.draw()
    #    plt.show()
    fname = "_".join([symcfg.prefix for symcfg in symconfigs])
    plt.savefig("/home/shiogai/dir-png/%s_%d.png" % (fname, j))
    j += 1
    if not line:
        for symcfg in enumerate(symconfigs):
            symcfg.close()
        break


plt.show()
Ejemplo n.º 2
0
fig = plt.figure()
axis = [fig.add_subplot(411),
        fig.add_subplot(412),
        fig.add_subplot(413),
        fig.add_subplot(414),]
axis[2].set_xlim(-1,16)
kl_result = []

for line in open(files['mat'],"r"):
    import time
    t, mat = read_t_mat(line)
    L = array(mat, dtype=float)
    prob_P = [boltzmann_distribution(v,L,all_v) for v in all_v]
    ene_result = map(lambda v : energy(v,L), all_v)
    kl = KLd(prob_P, prob_Q)
    kl_result.append(kl)

    for i,v in enumerate(all_v):
        print "v[%d]="%(i),v

    for i,ene in enumerate(ene_result):
        print "E%d=%8.4f"%(i,ene),
    print "kl=%8.4f"%(kl)
    hinton_sub   (L, ax = axis[0])
    bv.cmp_energy(ene_result, ax = axis[1])
    bv.print_KL  (arange(t), kl_result, ax = axis[2])
    bv.cmp_graph(prob_P, prob_Q, ax = axis[3])
    plt.draw()

plt.show()
Ejemplo n.º 3
0
print "all_v=",all_v 
#assert False

plt.ion()
fig = plt.figure()
axis = [fig.add_subplot(211),
        fig.add_subplot(212),]

kl_result = []

for v in all_v:
    print "v = ", v

for line in open(files['t_gibbs'],"r"):
    import time
    t, gibbs_P = read_t_gibbs(line)
    kl = KLd(gibbs_P, prob_Q)
    kl_result.append(kl)

    print "t = ",t,
    for i,p in enumerate(gibbs_P):
        print "p(x=%d)=%4.3f"%(i,p),

    print "kl=%4.3f"%(kl)
    bv.cmp_graph(gibbs_P,prob_Q,ax=axis[0])
    bv.print_KL  (arange(t), kl_result, ax = axis[1])

    plt.draw()

plt.show()
Ejemplo n.º 4
0
        fig.add_subplot(224),]

kl1 = []
kl2 = []
for v in all_v:
    print "v = ", v

fr1 = open(files['mat'],"r")
fr2 = open(files['t_gibbs'],"r")

while True:
    import time
    line1 = fr1.readline()
    line2 = fr2.readline()
    t1, mat = read_t_mat(line1)
    t2, gibbs_P = read_t_gibbs(line2)

    L=array(mat,dtype=float)
    boltz_P = [boltzmann_distribution(v,L,all_v) for v in all_v]

    kl1.append( KLd(boltz_P, prob_Q) )
    kl2.append( KLd(gibbs_P, prob_Q) )

    bv.cmp_graph(boltz_P, prob_Q, ax=axis[0])
    bv.cmp_graph(gibbs_P, prob_Q, ax=axis[2])
    bv.print_KL(arange(t1), kl1, ax=axis[1])
    bv.print_KL(arange(t2), kl2, ax=axis[3])
    plt.draw()

plt.show()