Setting up Back-translation in OpenNMT script


There are models in MT that use back-translation ( and . I think the essence of this system is to use 2 decoders, one decoder src -> tgt, another decoder tgt -> src, and the embeddings are shared.

Is there a way to set up OpenNMT to do it easily or should I extend the core model/training code in order to achieve this? I’ve been really enjoying training PGNet (pointer-generator network) with one command line flag…or training Transformer so easily. OpenNMT has saved me tons of time and thank you for making it so easy to use and publicly available!