Issue loading new precise wake-word - failed to load model.pb.params



I’ve created a new wake-word with precise and am having an issue when trying to load it on the Mark 1. In particular, I am getting the error:
“Warning: Failed to load parameters from .pb.params”
I’ve tracked down this in the precise source code, and it comes from params.inject_parameters, which is what loads the params file.

Something I read (I believe it was on the precise github repo, but I can’t find it) said that the issue might be that the versions don’t match. Particularly, there is an issue with training a model with the dev branch instead of the master branch. However, I trained a new model with the master branch, but I’m still getting the issue.

Actually, I looked at the hey-mycroft.pb.params file, and it seems like it was created in an older version of precise, since it lacks the vectorizer parameter. If so, is the version of precise installed on the Mark 1 an old version?

To be clear, I tried altering the params file to be identical to the default hey-mycroft.pb.params. The message stops, but the wake-word continues to fail to load. Perhaps the model itself is incompatible?

On booting up the command line client, Mycroft appears to load the precise engine, but then loads the pocketsphinx engine, followed by the precise engine again, et cetera. After a few tries it stops. Sometimes it will not attempt to load either.

Any ideas?


Do the Tensorflow versions differ between mk1 and training machine?


It’s definitely a possibility. If the precise on the Mark 1 is old, it is probably from before August 2018, since I know the ‘vectorizer’ parameter existed in precise then. The Tensorflow version used is 1.11.0, which was released September 2018.

Unfortunately, I can’t find the precise source code on the Mark 1, however. I’ve found precise-runner, but the main package is conspicuously missing. I know its there, though, since that’s where the warning message is coming from.


I think that might be the issue - I was having difficulty installing the old version of tensorflow, so I changed the requirements file (probably shouldn’t have done that!).
The correct version is Tensorflow 1.8.0. I’m going to retry with the correct version of Tensorflow and see if that helps.


Unfortunately, training the model with Tensorflow 1.8.0 does not seem to fix either issue.


Correction: the model is loading now!

I checked by altering the mycroft-core source to log when a precise model is activated. It still sometimes attempts to load the precise model multiple times, and sometimes it still won’t load at all, but I think its fair to consider this resolved.