def _distributed_train_model(self, opt): with testing_utils.tempdir() as tmpdir: if 'model_file' not in opt: opt['model_file'] = os.path.join(tmpdir, 'model') if 'dict_file' not in opt: opt['dict_file'] = os.path.join(tmpdir, 'model.dict') parser = mp_train.setup_args() popt = _forced_parse(parser, opt) # we need a prebuilt dictionary parser = build_dict.setup_args() build_dict.build_dict(popt) valid, test = mp_train.launch_and_train(popt, 31337) return (valid, test)
def _distributed_train_model(self, **overrides): opt = {**self.base_config, **overrides} with testing_utils.tempdir() as tmpdir: if 'model_file' not in opt: opt['model_file'] = os.path.join(tmpdir, 'model') if 'dict_file' not in opt: opt['dict_file'] = os.path.join(tmpdir, 'model.dict') parser = mp_train.setup_args() popt = parser.parse_kwargs(**opt) # we need a prebuilt dictionary parser = build_dict.setup_args() build_dict.build_dict(popt) valid, test = mp_train.launch_and_train(popt) return (valid, test)
def _distributed_train_model(self, opt): with testing_utils.tempdir() as tmpdir: if 'model_file' not in opt: opt['model_file'] = os.path.join(tmpdir, 'model') if 'dict_file' not in opt: opt['dict_file'] = os.path.join(tmpdir, 'model.dict') parser = mp_train.setup_args() # TODO: Kill this after dictionaries build correctly popt = self._forced_parse(parser, opt) # we need a prebuilt dictionary parser = build_dict.setup_args() build_dict.build_dict(popt) valid, test = mp_train.launch_and_train(popt, 31338) dist.destroy_process_group() return (valid, test)
def _distributed_train_model(self, opt): # we have to delay our import to here, because the set_spawn_method call # inside multiprocessing_train will break the multithreading tests, even # when we skip the test. import parlai.scripts.multiprocessing_train as mp_train with testing_utils.capture_output() as output: with testing_utils.tempdir() as tmpdir: if 'model_file' not in opt: opt['model_file'] = os.path.join(tmpdir, 'model') if 'dict_file' not in opt: opt['dict_file'] = os.path.join(tmpdir, 'model.dict') parser = mp_train.setup_args() popt = _forced_parse(parser, opt) # we need a prebuilt dictionary parser = build_dict.setup_args() build_dict.build_dict(popt) valid, test = mp_train.launch_and_train(popt, 31337) return (output.getvalue(), valid, test)
model_file=os.path.join( PARLAI_HOME, 'models/contrastive_learning/tmp/personachat_extend'), hiddensize=256, attention='general', attention_time='post', numlayers=2, rnn_class='lstm', lookuptable='enc_dec', optimizer='adam', weight_decay=0, embedding_type='glove', momentum=0.95, bidirectional=True, numsoftmax=1, lr_scheduler='reduceonplateau', lr_scheduler_patience=3, lr_scheduler_decay=0.8, warmup_updates=-1, ) opt = parser.parse_args() opt = override_opt(opt, DEFAULT_OVERRIDE) opt = override_opt(opt, OVERRIDE) if opt.get('multigpu', False): port = random.randint(32000, 48000) launch_and_train(opt, port) else: TrainLoop(opt).train()