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