Hi @XiangZhu0718 !
in this post you can find more information about the ensemble decoding available in OpenNMT:
You will find there the link to the OpenNMT-ensemble feature implementation by @guillaumekln . This will allow you to average the probabilities produced by your models just using the translate.lua script by indicating the list of models.
It’s been a while since the last time I used it, but I guess it will still be compatible with the last versions of OpenNMT.