Untitled

 avatar
unknown
plain_text
a month ago
839 B
5
Indexable
def bayesian_dense(units):
    return tfp.layers.DenseVariational(
        units,
        make_prior_fn=lambda: tfp.layers.default_multivariate_normal_fn(loc=0.0, scale=1.0),
        make_posterior_fn=lambda: tfp.layers.default_mean_field_normal_fn(),
        kl_weight=1.0 / n_samples,  
        activation=tf.nn.relu,
    )


model = tf.keras.Sequential([
    bayesian_dense(16),  
    bayesian_dense(16), 
    tf.keras.layers.Dense(1, activation="sigmoid")  
])


def neg_log_likelihood(y_true, y_pred):
    return tf.keras.losses.binary_crossentropy(y_true, y_pred)


model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.01), loss=neg_log_likelihood, metrics=["accuracy"])

model.fit(x_train, y_train, epochs=100, batch_size=16, verbose=1)


x_test = np.random.randn(20, 2).astype(np.float32)
y_pred = model(x_test).numpy()
Editor is loading...
Leave a Comment