Skip to content

Custom metrics #11

@SrMouraSilva

Description

@SrMouraSilva

Continue discussion #7 (comment)

The current lib has a lot of metrics, but in the research is expected try other metrics.

Example:

def my_custom_evaluate_function(metric_name, model, minibatch):
    """Mean of activated units after reconstruction"""
    h_means = model._means_h_given_v(minibatch)
    h0 = self._sample_h_given_v(h_means)
    v_means = model._means_v_given_h(gh)
    v1 = self._sample_v_given_h(v_means)

    with tf.name_scope(metric_name):
        tf.summary.scalar(metric_name, tf.mean(v1, axis=1))  # Maybe axis=1


rbm = BernoulliRBM(n_visible=784, n_hidden=args.n_hidden,
    metrics_config=dict(
        # The default metrics
        msre=True,
        pll=True,
        feg=True,
        train_metrics_every_iter=1000,
        val_metrics_every_epoch=2,
        feg_every_epoch=4,
        n_batches_for_feg=50,
        # New metrics
        my_custom_evaluate=my_custom_evaluate_function
    ),
    verbose=True,
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions