NMT方向
1)编写自己的问题定义脚本
可参照 tensor2tensor/data_generators/translate_enzh.py脚本进行编写,主要是改一下训练数据和测试数据路径,定义词典大小和名称,也可以自定义词典什么的,这个根据需要更改
注意:
- 类前要加@registry.register_problem,把这个任务注册上,不然是找不到这个任务
- 类的名称和脚本命名要保持一致,类是驼峰命名,脚本时“_”连接
2)数据生成
t2t-datagen --t2t_usr_dir=./script --data_dir=./train_data/enzh/V1.0 --tmp_dir=./raw_data --problem=my_problem_translate_ruen(自定义的脚本)
中文如果不做分词,会处理很长时间
3)模型训练
t2t-trainer --t2t_usr_dir=./script --problem=my_problem_translate_enzh --data_dir=./train_data/V1.0 --model=transformer --hparams_set=transformer_base --output_dir=./check_point/V1.0 --train_steps=500000 --eval_steps=5000 --worker_gpu=1 --eval_early_stopping_steps=10 --keep_checkpoint_max=10