def param_init_decoder(options, params, prefix='decoder'):
n_x = options['n_x']
n_h = options['n_h']
n_z = options['n_z']
W = np.concatenate([uniform_weight(n_x,n_h),
uniform_weight(n_x,n_h),
uniform_weight(n_x,n_h),
uniform_weight(n_x,n_h)], axis=1)
params[_p(prefix, 'W')] = W
U = np.concatenate([ortho_weight(n_h),
ortho_weight(n_h),
ortho_weight(n_h),
ortho_weight(n_h)], axis=1)
params[_p(prefix, 'U')] = U
C = np.concatenate([uniform_weight(n_z,n_h),
uniform_weight(n_z,n_h),
uniform_weight(n_z,n_h),
uniform_weight(n_z,n_h)], axis=1)
params[_p(prefix,'C')] = C
params[_p(prefix,'b')] = zero_bias(4*n_h)
params[_p(prefix, 'b')][n_h:2*n_h] = 3*np.ones((n_h,)).astype(theano.config.floatX)
C0 = uniform_weight(n_z, n_h)
params[_p(prefix,'C0')] = C0
params[_p(prefix,'b0')] = zero_bias(n_h)
params[_p(prefix,'b_y')] = zero_bias(n_x) # 48
return params
评论列表
文章目录