in ttw/train/classify_landmarks.py [0:0]
def add_weights(train_data, valid_data):
"""For landmark classifcation"""
train_N = len(train_data['target'])
train_tgts = numpy.array([train_data['target'][i] for i in range(train_N)])
positives = train_tgts.sum(axis=0)
train_data['weight'] = list()
for i in range(train_N):
weight = [0.0] * 10
for j in range(10):
if train_tgts[i][j] == 1:
weight[j] = 1.0 / positives[j]
else:
weight[j] = 1.0 / (train_N - positives[j])
train_data['weight'].append(weight)
valid_data['weight'] = list()
for i in range(len(valid_data['target'])):
weight = [0.0] * 10
for j in range(10):
if valid_data['target'][i][j] == 1:
weight[j] = 1.0 / positives[j]
else:
weight[j] = 1.0 / (train_N - positives[j])
valid_data['weight'].append(weight)