def from_file(self, file_, cache_name=None):
        import os

        if cache_name in self._haar_cache:
            return self._haar_cache[cache_name]

        current_dir = os.path.dirname(os.path.realpath(__file__))

        haar_file = os.path.join(current_dir, file_)

        haar = cv2.CascadeClassifier(haar_file)

        if not cache_name is None:
            if not cache_name in self._haar_cache:
                self._haar_cache[cache_name] = haar

        return haar