2021SC@SDUSC
继上次对于read_data.py 文件的分析
首先是第一个类loader_label() 这里主要是为了加载标记数据
class loader_labeled(Dataset): 首先是其构造函数
def __init__(self, dataset_text, dataset_label, tokenizer, max_seq_len, aug=False):
self.tokenizer = tokenizer
self.text = dataset_text
self.labels = dataset_label
self.max_seq_len = max_seq_len
self.aug = aug
self.trans_dist = {}
其次是对于数据进行增强,其中需要加载transformer中的一个翻译模型,将数据从英文翻译为德文,然后再将它翻译回来。
if aug:
print('Aug train data by back translation of German')
self.en2de = torch.hub.load(
'pytorch/fairseq', 'transformer.wmt19.en-de.single_model', tokenizer='moses', bpe='fastbpe')
self.de2en = torch.hub.load(
'pytorch/fairseq', 'transformer.wmt1