diff --git a/src/maggotuba/models/trainers.py b/src/maggotuba/models/trainers.py index aba17748fb6256dcd9c453da168b45d0e0b5a2d7..19b827ded7f2eac649692003be5747ec2314c1f4 100644 --- a/src/maggotuba/models/trainers.py +++ b/src/maggotuba/models/trainers.py @@ -5,6 +5,7 @@ from behavior_model.models.neural_nets import device #import behavior_model.data.utils as data_utils from maggotuba.models.modules import SupervisedMaggot, MultiscaleSupervisedMaggot, MaggotBag from taggingbackends.features.skeleton import interpolate +import logging """ This model borrows the pre-trained MaggotUBA encoder, substitute a dense layer @@ -94,7 +95,11 @@ class MaggotTrainer: w = w - np.tile(wc, (1, 5)) # rotate v = np.mean(w[:,8:10] - w[:,0:2], axis=0) - v = v / np.sqrt(np.dot(v, v)) + vnorm = np.sqrt(np.dot(v, v)) + if vnorm == 0: + logging.warning('null distance between head and tail') + else: + v = v / vnorm c, s = v / self.average_body_length # scale using the rotation matrix rot = np.array([[ c, s], [-s, c]]) # clockwise rotation