in ttw/data_loader.py [0:0]
def __init__(self, data_dir, resnet_features, fasttext_features, textrecog_features, n_components=100, pca=False):
self.feature_loaders = dict()
self.num_tokens = None
self.map = Map(data_dir, neighborhoods)
if fasttext_features or textrecog_features:
self.textfeatures = dict()
for n in neighborhoods:
self.textfeatures[n] = json.load(open(os.path.join(data_dir, n, "text.json")))
self.textrecog_dict = TextrecogDict(self.textfeatures)
if fasttext_features:
self.feature_loaders['fasttext'] = FasttextFeatures(self.textfeatures,
os.path.join(data_dir, 'wiki.en.bin'),
pca=pca,
n_components=n_components)
if resnet_features:
self.feature_loaders['resnet'] = ResnetFeatures(os.path.join(data_dir, 'resnetfeat.json'),
pca=pca,
n_components=n_components)
if textrecog_features:
self.feature_loaders['textrecog'] = TextrecogFeatures(self.textfeatures, self.textrecog_dict)
self.num_tokens = len(self.textrecog_dict)
assert (len(self.feature_loaders) > 0)
self.data = {'target': list()}
for k in self.feature_loaders.keys():
self.data[k] = list()
for n in neighborhoods:
for x, tmp in enumerate(self.map.coord_to_landmarks[n]):
for y, ls in enumerate(tmp):
target = [0] * 10
for k in self.feature_loaders.keys():
self.data[k].append(self.feature_loaders[k].get(n, [x, y, 0]))
if len(ls) > 0:
for l in ls:
target[l - 1] = 1
else:
target[self.map.landmark_dict.encode('Empty') - 1] = 1
self.data['target'].append(target)