import tensorflow as tf

    tgt_small = tf.where(geq, tgt2, tgt1)
    pred_larg = tf.where(geq, pred1, pred2)
    pred_small = tf.where(geq, pred2, pred1)
    loss = tf.maximum(0., (tgt_larg - tgt_small) - (pred_larg - pred_small))
    if hard_ratio < 1.0:
        hard_num = tf.cast(tools.shape(pred1)[0] * hard_ratio, tf.int32)
