Mercurial > pylearn
comparison pylearn/algorithms/mcRBM.py @ 1350:d957155264da
mcRBM - added norm_doctoring parameter
author | James Bergstra <bergstrj@iro.umontreal.ca> |
---|---|
date | Thu, 21 Oct 2010 23:12:38 -0400 |
parents | 0d55f8f0aedc |
children | 6402b3309ece |
comparison
equal
deleted
inserted
replaced
1349:0d55f8f0aedc | 1350:d957155264da |
---|---|
616 def alloc_with_P(cls, Pval, n_I, n_J, rng = 8923402190, | 616 def alloc_with_P(cls, Pval, n_I, n_J, rng = 8923402190, |
617 U_range=0.02, | 617 U_range=0.02, |
618 W_range=0.05, | 618 W_range=0.05, |
619 a_ival=0, | 619 a_ival=0, |
620 b_ival=2, | 620 b_ival=2, |
621 c_ival=-2): | 621 c_ival=-2, |
622 norm_doctoring=(1.0/192, .5)): | |
622 n_F, n_K = Pval.shape | 623 n_F, n_K = Pval.shape |
623 if not hasattr(rng, 'randn'): | 624 if not hasattr(rng, 'randn'): |
624 rng = np.random.RandomState(rng) | 625 rng = np.random.RandomState(rng) |
625 rval = cls( | 626 rval = cls( |
626 U = sharedX(U_range * rng.randn(n_I, n_F),'U'), | 627 U = sharedX(U_range * rng.randn(n_I, n_F),'U'), |
627 W = sharedX(W_range * rng.randn(n_I, n_J),'W'), | 628 W = sharedX(W_range * rng.randn(n_I, n_J),'W'), |
628 a = sharedX(np.ones(n_I)*a_ival,'a'), | 629 a = sharedX(np.ones(n_I)*a_ival,'a'), |
629 b = sharedX(np.ones(n_K)*b_ival,'b'), | 630 b = sharedX(np.ones(n_K)*b_ival,'b'), |
630 c = sharedX(np.ones(n_J)*c_ival,'c'), | 631 c = sharedX(np.ones(n_J)*c_ival,'c'), |
631 P = sharedX(Pval, 'P'),) | 632 P = sharedX(Pval, 'P'), |
633 norm_doctoring=norm_doctoring) | |
632 rval._params = [rval.U, rval.W, rval.a, rval.b, rval.c, rval.P] | 634 rval._params = [rval.U, rval.W, rval.a, rval.b, rval.c, rval.P] |
633 return rval | 635 return rval |
634 | 636 |
635 class mcRBMTrainer(object): | 637 class mcRBMTrainer(object): |
636 """Light-weight class encapsulating math for mcRBM training | 638 """Light-weight class encapsulating math for mcRBM training |