def long_report(s):
lgE = np.log2(np.e)
# Long report
# print('\nFound dataset %s T=%s Nh=%s Nv=%s'%(DIR,T,Nh,Nv))
# print('DKL %0.2f'%DKL)
print('\nRBM dataset Ns=%s Nh=%s Nv=%s'%(s.Ns,s.Nh,s.Nv))
# Hidden layer entropy
print('==Hidden layer entropy==')
print('Hid capacity, maximum %0.2f'%(np.sum(rb.bitent(0.5*np.ones(s.Nh)))))
print('Hid entropy , sampled %0.2f'%(s.Hhs))
print('Entropy hid sample is %0.2f'%(entropy(s.Qh,base=2)))
print('<<Eh>h|v>v sampled is %0.2f'%(s.barEhhv*lgE))
print('<<Eh>h|v>v ufield is %0.2f'%(s.barEhhv_meanfield*lgE))
print('Mean hidde complexity %0.2f'%(rb.bitent(np.mean(s.Ph))*s.Nh))
print('Mean hidden rate %0.2f'%(np.mean(s.Ph)))
# Conditional entropy
print('==Conditional entropy==')
print('Entropy difference %0.2f'%(s.Hhs-s.Hvs))
print('<H_h|v>v is %0.2f'%(s.barHhv*lgE))
# Likelihoods
print('==Negative log-likelihood==')
print('<<Ev|h>h|v>v sampl is %0.2f'%(s.barEvhhv *lgE))
print('<<Ev|h>h|v>v ufild is %0.2f'%(s.barEvhhv_meanfield*lgE))
# KL divergences
print('==KL divergences==')
print('<Dkl(h|v||h)>v sam is %0.2f'%(s.barDKLhv*lgE))
print('<Dkl(h|v||h)>v uf1 is %0.2f'%(s.barDKLhv_meanfield*lgE))
# Visible entropy; These should be close in value
print('==Visible layer entropy==')
print('Vis capacity, maximum %0.2f'%(np.sum(rb.bitent(0.5*np.ones(s.Nv)))))
print('Vis entropy , sampled %0.2f'%(s.Hvs))
print('Entropy vis sample is %0.2f'%(entropy(s.Qv,base=2)))
print('<D(.)+<Ev|h>h|v>v sam %0.2f'%(s.barDKLhv*lgE+s.barEvhhv *lgE))
print('<D(.)+<Ev|h>h|v>v uf1 %0.2f'%(s.barDKLhv_meanfield*lgE+s.barEvhhv_meanfield*lgE))
评论列表
文章目录