pyFM.optimize.weights.canonical_taus¶
- pyFM.optimize.weights.canonical_taus(descr1_red, descr2_red, descr_op, orient_op, lap_mask, p_eff=None)¶
There are four normalizers.
descr tau = (m / k1) * ||F1||_F^2 / p_eff lap tau = (m / (k1*k2)) * sum_ij M_ij dcomm tau = (m / (k1*k2)) * (k2||M1||^2 + k1||M2||^2 - 2 tr tr) / p_eff orient tau = (m / (k1*k2)) * (k2||W1||^2 + k1||W2||^2) / p_eff
Using centered descriptors will help.
- Parameters:
descr1_red ((k1, p) np.ndarray)
descr2_red ((k2, p) np.ndarray)
descr_op (tuple of np.ndarray or []) –
(ops1, ops2)stacked as (p, k1, k1) and (p, k2, k2).orient_op (tuple of np.ndarray or [])
lap_mask ((k2, k1) np.ndarray) – Raw LBO mask.
p_eff (float, optional) – Defaults to
effective_p()of the two reduced descriptor banks.
- Returns:
taus –
(tau_descr, tau_lap, tau_dcomm, tau_orient). A degenerate term gets 1.0.- Return type: