Untitled
unknown
plain_text
10 months ago
839 B
7
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