in data/preprocess.py [0:0]
def preprocess_attributes():
if os.path.isfile(ATTR_PATH):
print("%s exists, nothing to do." % ATTR_PATH)
return
attr_lines = [line.rstrip() for line in open('list_attr_celeba.txt', 'r')]
assert len(attr_lines) == N_IMAGES + 2
attr_keys = attr_lines[1].split()
attributes = {k: np.zeros(N_IMAGES, dtype=np.bool) for k in attr_keys}
for i, line in enumerate(attr_lines[2:]):
image_id = i + 1
split = line.split()
assert len(split) == 41
assert split[0] == ('%06i.jpg' % image_id)
assert all(x in ['-1', '1'] for x in split[1:])
for j, value in enumerate(split[1:]):
attributes[attr_keys[j]][i] = value == '1'
print("Saving attributes to %s ..." % ATTR_PATH)
torch.save(attributes, ATTR_PATH)