def buildData(self, srcBatch, goldBatch):
# This needs to be the same as preprocess.py.
if self._type == "text":
srcData = [self.src_dict.convertToIdx(b,
onmt.Constants.UNK_WORD)
for b in srcBatch]
elif self._type == "img":
srcData = [transforms.ToTensor()(
Image.open(self.opt.src_img_dir + "/" + b[0]))
for b in srcBatch]
tgtData = None
if goldBatch:
tgtData = [self.tgt_dict.convertToIdx(b,
onmt.Constants.UNK_WORD,
onmt.Constants.BOS_WORD,
onmt.Constants.EOS_WORD) for b in goldBatch]
return onmt.Dataset(srcData, tgtData, self.opt.batch_size,
self.opt.cuda, volatile=True,
data_type=self._type)
评论列表
文章目录