WMT16¶
- class paddle.text. WMT16 ( data_file=None, mode='train', src_dict_size=- 1, trg_dict_size=- 1, lang='ch', download=True ) [源代码] ¶
该类是对 WMT16 测试数据集实现。 ACL2016 多模态机器翻译。有关更多详细信息,请访问此网站: http://www.statmt.org/wmt16/multimodal-task.html#task1
如果您任务中使用了该数据集,请引用论文:Multi30K: Multilingual English-German Image Descriptions. 。
参数¶
**data_file**(str)- 保存数据集压缩文件的路径,如果参数 :attr:`download`设置为 True,可设置为 None。默认值为 None。
**mode**(str)- 'train','test' 或 'val'。默认为'train'。
**src_dict_size**(int)- 源语言词典大小。默认为-1。
**trg_dict_size**(int) - 目标语言测点大小。默认为-1。
**lang**(str)- 源语言,'en' 或 'de'。默认为 'en'。
**download**(bool)- 如果 :attr:`data_file`未设置,是否自动下载数据集。默认为 True。
返回值¶
Dataset
,WMT16 数据集实例。实例一共有三个字段:
src_ids (np.array) - 源语言当前的 token id 序列。
trg_ids (np.array) - 目标语言当前的 token id 序列。
trg_ids_next (np.array) - 目标语言下一段的 token id 序列。
代码示例¶
>>> import paddle
>>> from paddle.text.datasets import WMT16
>>> class SimpleNet(paddle.nn.Layer):
... def __init__(self):
... super().__init__()
...
... def forward(self, src_ids, trg_ids, trg_ids_next):
... return paddle.sum(src_ids), paddle.sum(trg_ids), paddle.sum(trg_ids_next)
>>> wmt16 = WMT16(mode='train', src_dict_size=50, trg_dict_size=50)
>>> for i in range(10):
... src_ids, trg_ids, trg_ids_next = wmt16[i]
... src_ids = paddle.to_tensor(src_ids)
... trg_ids = paddle.to_tensor(trg_ids)
... trg_ids_next = paddle.to_tensor(trg_ids_next)
...
... model = SimpleNet()
... src_ids, trg_ids, trg_ids_next = model(src_ids, trg_ids, trg_ids_next)
... print(src_ids.item(), trg_ids.item(), trg_ids_next.item())
89 32 33
79 18 19
55 26 27
147 36 37
106 22 23
135 50 51
54 43 44
217 30 31
146 51 52
55 24 25