Closed anthdr closed 9 months ago
The docker image for this experiment is ghcr.io/opennmt/opennmt-py:3.4.3-ubuntu22.04-cuda11.8
but the PYTHONPATH
refers to the commit 0436cdd0915534f84d3e8783f3e4193c64eb44d9.
We encountered an error at the loading of a checkpoint when trying to infer from a file with the inference engine (so the issue is not specifically related to LM prior).
from onmt.inference_engine import InferenceEnginePY
import json
import time
import onmt.opts as opts
from onmt.utils.parse import ArgumentParser
from onmt.utils.misc import use_gpu, set_random_seed
def _get_parser():
parser = ArgumentParser(description="simple_inference_engine_py.py")
opts.config_opts(parser)
opts.translate_opts(parser, dynamic=True)
return parser
def main():
# Required arguments
parser = ArgumentParser()
parser.add_argument(
"-inference_config_file", help="Inference config file", required=True, type=str
)
args = parser.parse_args()
inference_config_file = args.inference_config_file
base_args = ["-config", inference_config_file]
parser = _get_parser()
opt = parser.parse_args(base_args)
ArgumentParser.validate_translate_opts(opt)
ArgumentParser._get_all_transform_translate(opt)
ArgumentParser._validate_transforms_opts(opt)
ArgumentParser.validate_translate_opts_dynamic(opt)
set_random_seed(opt.seed, use_gpu(opt))
opt.model_task = 'seq2seq'
engine = InferenceEnginePY(opt)
scores, preds = engine.infer_file()
print(list(zip(scores, preds)))
engine.terminate()
if __name__ == "__main__":
main()
I ran a LM-prior training using LLAMA2 (in the official docker image). Loading the model for inference returns this error:
https://github.com/OpenNMT/OpenNMT-py/blob/0436cdd0915534f84d3e8783f3e4193c64eb44d9/onmt/models/model.py#L72-L77
Printing the two elements of the assertion I have this:
Here is the config used for the training:
(modified some paths to make it more readable as it's very unlikely a path error)