MCPcopy
hub / github.com/OpenNMT/OpenNMT-py / __init__

Method __init__

onmt/inference_engine.py:115–156  ·  view source on GitHub ↗
(self, opt)

Source from the content-addressed store, hash-verified

113 """
114
115 def __init__(self, opt):
116 import torch
117 from onmt.translate.translator import build_translator
118
119 super().__init__(opt)
120 self.opt = opt
121 self.logger = init_logger(opt.log_file)
122
123 if opt.world_size > 1:
124 mp = torch.multiprocessing.get_context("spawn")
125 # Create a thread to listen for errors in the child processes.
126 self.error_queue = mp.SimpleQueue()
127 self.error_handler = ErrorHandler(self.error_queue)
128 self.queue_instruct = []
129 self.queue_result = []
130 self.procs = []
131
132 for device_id in range(opt.world_size):
133 self.queue_instruct.append(mp.Queue())
134 self.queue_result.append(mp.Queue())
135 self.procs.append(
136 mp.Process(
137 target=spawned_infer,
138 args=(
139 opt,
140 device_id,
141 self.error_queue,
142 self.queue_instruct[device_id],
143 self.queue_result[device_id],
144 ),
145 daemon=False,
146 )
147 )
148 self.procs[device_id].start()
149 self.error_handler.add_child(self.procs[device_id].pid)
150 else:
151 self.device_id = opt.gpu
152 self.translator = build_translator(
153 opt, self.device_id, logger=self.logger, report_score=True
154 )
155 self.transforms_cls = get_transforms_cls(opt._all_transform)
156 self.vocabs = self.translator.vocabs
157
158 def _translate(self, infer_iter):
159 scores, preds = self.translator._translate(

Callers

nothing calls this directly

Calls 7

init_loggerFunction · 0.90
ErrorHandlerClass · 0.90
build_translatorFunction · 0.90
get_transforms_clsFunction · 0.90
add_childMethod · 0.80
__init__Method · 0.45
startMethod · 0.45

Tested by

no test coverage detected