          for _, faces, _, filename in alignments.yield_faces():
              for idx, face in enumerate(faces):
                  if not self._validate_face(face, filename, idx, side, side_hashes):
                      skip_count += 1
                      continue
                  detected_face = DetectedFace()
                  detected_face.from_alignment(face)
 
</s> remove         side_hashes = set(self._hashes[side]["hashes"])
        detected_faces = []
 </s> add         dupe_count = 0
        side_hashes = set(self._hashes[side])
        detected_faces = dict() </s> remove                 detected_faces.append(detected_face)
        logger.debug("Detected Faces count: %s, Skipped faces count: %s",
                     len(detected_faces), skip_count)
 </s> add                 detected_faces[face["hash"]] = detected_face
        logger.debug("Detected Faces count: %s, Skipped faces count: %s, duplicate faces "
                     "count: %s", len(detected_faces), skip_count, dupe_count) </s> remove         list
            List of :class:`lib.faces_detect.DetectedFace` objects
 </s> add         dict
            key is sha1 hash of face, value is the corresponding
            :class:`lib.faces_detect.DetectedFace` object </s> remove             align_hashes = set(face.hash for face in self._detected_faces[side])
            if not align_hashes.issuperset(train_hashes["hashes"]):
 </s> add             align_hashes = set(self._detected_faces[side])
            if not align_hashes.issuperset(set(train_hashes)): </s> remove         side_hashes = self._hashes[side]
        hash_indices = [idx for idx, hsh in enumerate(side_hashes["hashes"]) if hsh == face_hash]
        retval = [side_hashes["filenames"][idx] for idx in hash_indices]
 </s> add         retval = self._hashes[side][face_hash]
                if face["hash"] in detected_faces:
                    dupe_count += 1
                    logger.debug("Face already exists, skipping: '%s'", filename)
          for _, faces, _, filename in alignments.yield_faces():
              for idx, face in enumerate(faces):
                if face["hash"] in detected_faces:
                    dupe_count += 1
                    logger.debug("Face already exists, skipping: '%s'", filename)
                  if not self._validate_face(face, filename, idx, side, side_hashes):
                      skip_count += 1
                      continue
                  detected_face = DetectedFace()
                  detected_face.from_alignment(face)
keep add keep keep keep keep keep
 plugins.train.trainer - Speed up mask caching 
plugins/train/trainer/_base.py