def build_objective2(model, deterministic=False, bias = app.get_biases()[label_id], epsilon=1.e-7): predictions = T.flatten(nn.layers.get_output(model.l_out, deterministic=deterministic)) targets = T.flatten(nn.layers.get_output(model.l_target)) preds = predictions*np.float32(0.5/bias) preds = T.clip(preds, epsilon, 1.-epsilon) #logs = [-T.log(preds), -T.log(1-preds)] weighted_bce = - 5 * targets * T.log(preds) - (1-targets)*T.log(1-preds) reg = nn.regularization.l2(predictions) weight_decay=0.00004 return T.mean(weighted_bce) + weight_decay * reg
def build_test_objective(model, deterministic=False, bias=app.get_biases()[label_id], epsilon=1.e-7): predictions = T.flatten( nn.layers.get_output(model.l_out, deterministic=deterministic)) targets = T.flatten(nn.layers.get_output(model.l_target)) preds = predictions * np.float32(0.5 / bias) preds = T.clip(preds, epsilon, 1. - epsilon) return T.mean(nn.objectives.binary_crossentropy(preds, targets))
def test_score(gts, preds, bias=app.get_biases()[label_id], epsilon=1.e-11): predictions = np.array(preds) / 0.5 * bias preds_cutoff = [1 if p > 0.5 else 0 for p in predictions] return app.f2_score(gts, preds_cutoff, average=None)
def test_score(gts, preds, bias=app.get_biases()[label_id], epsilon=1.e-11): predictions = expit(logit(preds) - logit(0.5) + logit(bias)) preds_cutoff = [1 if p > 0.5 else 0 for p in predictions] return app.f2_score(gts, preds_cutoff, average=None)