def __init__(self): positivePairsDistribution = [countPairs(os.listdir( os.path.join(FACES_PATH, member))) for member in ALL_MEMBERS] positivePairProbabilities = Distribution.normalizeDistribution( positivePairsDistribution) positivePairIntervals = Distribution.distributionToIntervals( positivePairProbabilities) totalImages = functools.reduce( add, [len(os.listdir(os.path.join(FACES_PATH, member))) for member in ALL_MEMBERS]) negativePairsDistribution = [] for member in ALL_MEMBERS: numMemberImages = len(os.listdir(os.path.join(FACES_PATH, member))) negativePairsDistribution.append( (totalImages - numMemberImages) * numMemberImages * 2) negativePairsProbabilities = Distribution.normalizeDistribution( negativePairsDistribution) negativePairsIntervals = Distribution.distributionToIntervals( negativePairsProbabilities) self.positivePairsSegmentTree = SegmentTree.createSegmentTreeFromIntervals( positivePairIntervals, ALL_MEMBERS) self.negativePairsSegmentTree = SegmentTree.createSegmentTreeFromIntervals( negativePairsIntervals, ALL_MEMBERS) self.memberPaths = { member: [os.path.join(FACES_PATH, member, imgName) for imgName in os.listdir( os.path.join(FACES_PATH, member))] for member in ALL_MEMBERS} self.allPaths = set( [imgPath for member, imgPaths in self.memberPaths.items() for imgPath in imgPaths]) self.memberPathsComplements = { member: self.allPaths - set(self.memberPaths[member]) for member in ALL_MEMBERS}
def __init__(self): imageDistribution = [ countPairs(os.listdir(os.path.join(FACES_PATH, member))) for member in ALL_MEMBERS ] memberProbabilities = Distribution.normalizeDistribution( imageDistribution) memberIntervals = Distribution.distributionToIntervals( memberProbabilities) self.memberSegmentTree = SegmentTree.createSegmentTreeFromIntervals( memberIntervals, ALL_MEMBERS) self.memberPaths = { member: [ os.path.join(FACES_PATH, member, imgName) for imgName in os.listdir(os.path.join(FACES_PATH, member)) ] for member in ALL_MEMBERS } self.allPaths = set([ imgPath for member, imgPaths in self.memberPaths.items() for imgPath in imgPaths ]) self.memberPathsComplements = { member: self.allPaths - set(self.memberPaths[member]) for member in ALL_MEMBERS }