Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D DeepPavlov
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DeepPavlov
  • DeepPavlov
  • Issues
  • #792
Closed
Open
Issue created Apr 09, 2019 by Andrei Glinskii@glinskii.avDeveloper

Error while training model with config "ner_conll2003_pos"

Created by: BloodSource

I'm trying to train a NER model using "train_model(configs.ner.ner_conll2003_pos)" on Colab. There are only three things I've changed in original ner_conll2003_pos.json file: number of epochs = 1, DOWNLOADS_PATH and MODELS_PATH. After I start, it terminates with this error:


UnboundLocalError Traceback (most recent call last) in () 1 from deeppavlov import configs, train_model ----> 2 ner_model = train_model(configs.ner.ner_conll2003_pos)

/usr/local/lib/python3.6/dist-packages/deeppavlov/init.py in train_model(config, download, recursive) 29 # TODO: make better 30 def train_model(config: [str, Path, dict], download: bool = False, recursive: bool = False) -> Chainer: ---> 31 train_evaluate_model_from_config(config, download=download, recursive=recursive) 32 return build_model(config, load_trained=True) 33

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/commands/train.py in train_evaluate_model_from_config(config, iterator, to_train, evaluation_targets, to_validate, download, start_epoch_num, recursive) 119 120 if to_train: --> 121 trainer.train(iterator) 122 123 res = {}

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/trainers/nn_trainer.py in train(self, iterator) 292 if callable(getattr(self._chainer, 'train_on_batch', None)): 293 try: --> 294 self.train_on_batches(iterator) 295 except KeyboardInterrupt: 296 log.info('Stopped training')

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/trainers/nn_trainer.py in train_on_batches(self, iterator) 232 self.start_time = time.time() 233 if self.validate_first: --> 234 self._validate(iterator) 235 236 while True:

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/trainers/nn_trainer.py in _validate(self, iterator, tensorboard_tag, tensorboard_index) 142 self._send_event(event_name='before_validation') 143 report = self.test(iterator.gen_batches(self.batch_size, data_type='valid', shuffle=False), --> 144 start_time=self.start_time) 145 146 report['epochs_done'] = self.epoch

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/trainers/fit_trainer.py in test(self, data, metrics, start_time, show_examples) 204 for x, y_true in data: 205 examples += len(x) --> 206 y_predicted = list(self._chainer.compute(list(x), list(y_true), targets=expected_outputs)) 207 if len(expected_outputs) == 1: 208 y_predicted = [y_predicted]

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/common/chainer.py in compute(self, x, y, targets) 141 in_params += self.in_y 142 --> 143 return self._compute(*args, pipe=pipe, param_names=in_params, targets=targets) 144 145 def call(self, *args):

/usr/local/lib/python3.6/dist-packages/deeppavlov/core/common/chainer.py in _compute(failed resolving arguments) 167 res = component(**dict(zip(in_keys, x))) 168 else: --> 169 res = component(*x) 170 if len(out_params) == 1: 171 mem[out_params[0]] = res

/usr/local/lib/python3.6/dist-packages/deeppavlov/models/preprocessors/one_hotter.py in call(self, batch, **kwargs) 68 one_hotted_utt = np.sum(one_hotted_utt, axis=0) 69 ---> 70 one_hotted_batch.append(one_hotted_utt) 71 72 if self._pad_zeros:

UnboundLocalError: local variable 'one_hotted_utt' referenced before assignment

How can I fix this?

Assignee
Assign to
Time tracking