def __init__(self, input_dir, input_vqa, max_qst_length=30, max_num_ans=10, transform=None): self.input_dir = input_dir self.vqa = np.load(input_dir + '/' + input_vqa) self.qst_vocab = text_helper.VocabDict(input_dir + '/vocab_questions.txt') self.ans_vocab = text_helper.VocabDict(input_dir + '/vocab_answers.txt') self.max_qst_length = max_qst_length self.max_num_ans = max_num_ans self.load_ans = ('valid_answers' in self.vqa[0]) and (self.vqa[0]['valid_answers'] is not None) self.transform = transform
def __init__(self, input_dir, input_vqa, max_qst_length=30, max_num_ans=10, transform=None): self.input_dir = input_dir self.vqa = np.load(input_dir + '/preprocessed_data' + '/' + input_vqa, allow_pickle=True) # 整合后的数据集 self.qst_vocab = text_helper.VocabDict(input_dir + '/questions' + '/vocab_questions.txt') # 建立类 self.ans_vocab = text_helper.VocabDict(input_dir + '/annotations' + '/vocab_answers.txt') self.max_qst_length = max_qst_length # 设置问题长度 self.max_num_ans = max_num_ans # 设置答案数目 self.load_ans = ('valid_answers' in self.vqa[0]) and ( self.vqa[0]['valid_answers'] is not None ) # Ture or False. 有效答案没有的都赋成了['<unk>'] self.transform = transform