Rasa NLU version: 0.1.2
Operating system (windows, osx, ...): Windows 10
Content of model configuration file:
{
"pipeline": "spacy_sklearn",
"path":"./models/nlu",
"data":"./data/data.json"
}
Training python file train_model.py:
from rasa_nlu.training_data import load_data
from rasa_nlu.config import RasaNLUModelConfig
from rasa_nlu.model import Trainer
from rasa_nlu.model import Metadata, Interpreter
def train_nlu(data, config, model_dir):
training_data = load_data(data)
trainer = Trainer(RasaNLUModelConfig(config))
trainer.train(training_data)
model_directory = trainer.persist(model_dir, fixed_model_name = 'myapps')
if __name__ == '__main__':
train_nlu('data/data.json', 'config_spacy.json', './models/nlu')
Issue: Getting Below error . Unable to fix what
File "nlu_model.py", line 17, in <module>
train_nlu('data/data.json', 'config_spacy.json', './models/nlu')
File "nlu_model.py", line 8, in train_nlu
trainer = Trainer(RasaNLUModelConfig(config))
File "C:\Users\stacy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\rasa_nlu\config.py", line 79, in __init__
self.override(configuration_values)
File "C:\Users\stacy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\rasa_nlu\config.py", line 160, in override
self.__dict__.update(config)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
I changed the code from that to this and it worked:
from rasa_nlu.training_data import load_data
from rasa_nlu.config import RasaNLUModelConfig
from rasa_nlu.model import Trainer
from rasa_nlu import config
training_data = load_data('./data/data.json')
trainer = Trainer(config.load('config_spacy.json'))
trainer.train(training_data)
model_directory = trainer.persist('./models/nlu' , fixed_model_name = 'myfirstbot')
But I am now stuck on the interprater:
interpreter = Interpreter.load("./models/nlu/default/myfirstbot", RasaNLUModelConfig("config_spacy.json"))
started getting the save error as above . If I change the model to RasaNLUConfig , it says module not found and if I use
config.load('config_spacy.json')
instead of
RasaNLUModelConfig("config_spacy.json") ,
it gives me error as
Traceback (most recent call last):
File "nlu_model.py", line 19, in <module>
run_nlu()
File "nlu_model.py", line 14, in run_nlu
interpreter = Interpreter.load('./models/nlu/default/myfirstbot', config.load('config_spacy.json'))
File "C:\Users\stacy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\rasa_nlu\model.py", line 276, in load
skip_validation)
File "C:\Users\stacy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\rasa_nlu\model.py", line 301, in create
component = component_builder.load_component(
AttributeError: 'RasaNLUModelConfig' object has no attribute 'load_component'
Resolved the issue:
interpreter = Interpreter.load('./models/nlu/default/myfirstbot')
Thanks for this awesome tutorial.
https://nlu.rasa.com/python.html
When i run nlu_model.py it show this error
$ python nlu_model.py
Traceback (most recent call last):
File "nlu_model.py", line 7, in
trainer = Trainer(config.load('config_spacy.json'))
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\rasa_nlu\config.py", line 51, in load
return RasaNLUModelConfig(file_config)
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\rasa_nlu\config.py", line 106, in __init__
from rasa_nlu import registry
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\rasa_nlu\registry.py", line 23, in
from rasa_nlu.classifiers.embedding_intent_classifier import \
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\rasa_nlu\classifiers\embedding_intent_classifier.py", line 33, in
import tensorflow as tf
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow__init__.py", line 24, in
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python__init__.py", line 63, in
from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\framework_lib.py", line 104, in
from tensorflow.python.framework.importer import import_graph_def
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\importer.py", line 32, in
from tensorflow.python.framework import function
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\function.py", line 36, in
from tensorflow.python.ops import resource_variable_ops
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 35, in
from tensorflow.python.ops import variables
File "C:\Users\Bani Naveen\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\ops\variables.py", line 40, in
class Variable(checkpointable.CheckpointableBase):
AttributeError: module 'tensorflow.python.training.checkpointable' has no attribute 'CheckpointableBase'
As @stacybot123 used the following code, I tried using it.
from rasa_nlu.training_data import load_data
from rasa_nlu.config import RasaNLUModelConfig
from rasa_nlu.model import Trainer
from rasa_nlu import config
training_data = load_data('./data/data.json')
trainer = Trainer(config.load('config_spacy.json'))
trainer.train(training_data)
model_directory = trainer.persist('./models/nlu' , fixed_model_name = 'myfirstbot')
interpreter = Interpreter.load('./models/nlu/default/myfirstbot')
I am getting this error
Traceback (most recent call last):
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\rasa_nlu\utils__init__.py", line 264, in read_yaml
return yaml_parser.load(content)
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\ruamel\yaml\main.py", line 266, in load
return constructor.get_single_data()
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\ruamel\yaml\constructor.py", line 102, in get_single_data
node = self.composer.get_single_node()
File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node (ext/_ruamel_yaml.c:9612)
File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document (ext/_ruamel_yaml.c:9922)
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node (ext/_ruamel_yaml.c:10814)
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node (ext/_ruamel_yaml.c:12609)
File "_ruamel_yaml.pyx", line 731, in _ruamel_yaml.CParser._compose_node (ext/_ruamel_yaml.c:10027)
File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event (ext/_ruamel_yaml.c:12818)
ruamel.yaml.scanner.ScannerError: while scanning a quoted scalar
in "
found unexpected end of stream
in "
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "nlu_model.py", line 7, in
trainer = Trainer(config.load('config_spacy.json'))
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\rasa_nlu\config.py", line 44, in load
file_config = utils.read_yaml_file(filename)
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\rasa_nlu\utils__init__.py", line 283, in read_yaml_file
return read_yaml(read_file(filename, "utf-8"))
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\rasa_nlu\utils__init__.py", line 274, in read_yaml
return yaml_parser.load(content)
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\ruamel\yaml\main.py", line 266, in load
return constructor.get_single_data()
File "C:\Users\kastu\AppData\Roaming\Python\Python36\site-packages\ruamel\yaml\constructor.py", line 102, in get_single_data
node = self.composer.get_single_node()
File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node (ext/_ruamel_yaml.c:9612)
File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document (ext/_ruamel_yaml.c:9922)
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node (ext/_ruamel_yaml.c:10814)
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node (ext/_ruamel_yaml.c:12609)
File "_ruamel_yaml.pyx", line 731, in _ruamel_yaml.CParser._compose_node (ext/_ruamel_yaml.c:10027)
File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event (ext/_ruamel_yaml.c:12818)
ruamel.yaml.scanner.ScannerError: while scanning a quoted scalar
in "
found unexpected end of stream
in "
Please help me with this error.
Please create a new issue
Most helpful comment
Resolved the issue:
interpreter = Interpreter.load('./models/nlu/default/myfirstbot')
Thanks for this awesome tutorial.
https://nlu.rasa.com/python.html