ufal / neuralmonkey

An open-source tool for sequence learning in NLP built on TensorFlow.
BSD 3-Clause "New" or "Revised" License
410 stars 104 forks source link

fail to run tests/small.ini #580

Open wonkeelee opened 6 years ago

wonkeelee commented 6 years ago

Hi, I have two questions..

at first, I simply tried to run tests/small.ini with command such as below: ./bin/neuralmonkey-train tests/small.ini

but I encountered to error.. can you help me to run it? error message is shown as below:

2017-11-08 01:14:06: Loading INI file: 'tests/small.ini' 2017-11-08 01:14:06: INI file is parsed. 2017-11-08 01:14:06: Directory with experiment.ini 'tests/outputs/small' exists, overwriting enabled, proceeding. 2017-11-08 01:14:06: Building model based on the config. 2017-11-08 01:14:06: Failed to build model: Error while loading 'runners': [Errno 2] No such file or directory: 'tests/outputs/vocab/encoder_vocab.tsv' Traceback: File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 198, in build_config value, config_dicts, existing_objects, 0) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in build_object for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in build_object for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 165, in instantiate_class obj = clazz(*bounded_params.args, **bounded_params.kwargs) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/vocabulary.py", line 77, in from_wordlist with open(path, encoding=encoding) as wordlist:

Traceback (most recent call last): File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/configuration.py", line 87, in build_model model = build_config(self.config_dict, self.ignored, warn_unused) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 200, in build_config raise ConfigBuildException(key, exc) from None neuralmonkey.config.exceptions.ConfigBuildException: Error while loading 'runners': [Errno 2] No such file or directory: 'tests/outputs/vocab/encoder_vocab.tsv' Traceback: File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 198, in build_config value, config_dicts, existing_objects, 0) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in build_object for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in build_object for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 96, in for val in value] File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 148, in instantiate_class depth + 1) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 109, in build_object obj = instantiate_class(value[7:], all_dicts, existing_objects, depth) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/config/builder.py", line 165, in instantiate_class obj = clazz(*bounded_params.args, **bounded_params.kwargs) File "/home7/wklee/neuralmonkey/bin/neuralmonkey/vocabulary.py", line 77, in from_wordlist with open(path, encoding=encoding) as wordlist:

============================================================== second) in addition, if I want to train post-editing model with two encoders, is it correct way to define two attentions for two encoder such as below?

[attention_src] class=attention.Attention name="attention_src_encoder" encoder=

[attention_trans] class=attention.Attention name="attention_trans_encoder" encoder=

[decoder] ..... attentions=[, ] .....

thank you sincerely.

jindrahelcl commented 6 years ago

Hi, first, you need to run bin/neuralmonkey-train tests/vocab.ini so the vocabulary is created.