def __init__( self, n_conditionals, n_inputs, n_hiddens, activation="relu", input_order="sequential", mode="sequential", ): super().__init__(n_conditionals, n_inputs) # save input arguments self.activation = activation self.n_conditionals = n_conditionals self.n_inputs = n_inputs self.n_hiddens = n_hiddens self.mode = mode # create network's parameters self.degrees = create_degrees(n_inputs, n_hiddens, input_order, mode) self.Ms, self.Mmp = create_masks(self.degrees) self.Wx, self.Ws, self.bs, self.Wm, self.bm, self.Wp, self.bp = create_weights_conditional( n_conditionals, n_inputs, n_hiddens, None ) self.input_order = self.degrees[0] self.activation_function = get_activation_function(activation) # Output info. TODO: make these not properties of self self.m = None self.logp = None # Dtype and GPU / CPU management self.to_args = None self.to_kwargs = None
def __init__(self, n_inputs, n_hiddens, activation="relu", input_order="sequential", mode="sequential"): super(GaussianMADE, self).__init__(n_inputs) # save input arguments self.activation = activation self.n_inputs = n_inputs self.n_hiddens = n_hiddens self.mode = mode # create network's parameters self.degrees = create_degrees(n_inputs, n_hiddens, input_order, mode) self.Ms, self.Mmp = create_masks(self.degrees) self.Ws, self.bs, self.Wm, self.bm, self.Wp, self.bp = create_weights( n_inputs, n_hiddens, None) self.input_order = self.degrees[0] self.activation_function = get_activation_function(activation) # Output info self.m = None self.logp = None # Dtype and GPU / CPU management self.to_args = None self.to_kwargs = None
def __init__( self, n_conditionals, n_inputs, n_hiddens, n_components=10, activation="relu", input_order="sequential", mode="sequential", ): super(ConditionalMixtureMADE, self).__init__(n_conditionals, n_inputs) # save input arguments self.activation = activation self.n_conditionals = n_conditionals self.n_inputs = n_inputs self.n_hiddens = n_hiddens self.mode = mode self.n_components = n_components # create network's parameters self.degrees = create_degrees(n_inputs, n_hiddens, input_order, mode) self.Ms, self.Mmp = create_masks(self.degrees) logger.debug("Mmp shape: %s", self.Mmp.shape) (self.Wx, self.Ws, self.bs, self.Wm, self.bm, self.Wp, self.bp, self.Wa, self.ba) = create_weights_conditional(n_conditionals, n_inputs, n_hiddens, n_components) self.input_order = self.degrees[0] # Shaping things self.Mmp = self.Mmp.unsqueeze(2) self.ba.data = self.ba.data.unsqueeze(0) self.bp.data = self.bp.data.unsqueeze(0) self.bm.data = self.bm.data.unsqueeze(0) self.activation_function = get_activation_function(activation) # Output info. TODO: make these not properties of self self.m = None self.logp = None self.loga = None # Dtype and GPU / CPU management self.to_args = None self.to_kwargs = None