-
Notifications
You must be signed in to change notification settings - Fork 240
Open
Labels
Description
Describe the bug
I'm trying to train my own wake word on a RaspberryPi 4B. After installing via source, I used precise-collect
to record several samples, everything worked ok, but when I try to precise-listen
or to precise-train
I get these WARNING messages:
With precise-listen:
$ precise-listen ../wakewords/computer/computer-en.pb
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AttrValue is deprecated. Please use tf.compat.v1.AttrValue instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.COMPILER_VERSION is deprecated. Please use tf.version.COMPILER_VERSION instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.CXX11_ABI_FLAG is deprecated. Please use tf.sysconfig.CXX11_ABI_FLAG instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.ConditionalAccumulator is deprecated. Please use tf.compat.v1.ConditionalAccumulator instead.
...
And precise-train:
$ precise-train -e 60 myword.net myword/
Using TensorFlow backend.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AttrValue is deprecated. Please use tf.compat.v1.AttrValue instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.COMPILER_VERSION is deprecated. Please use tf.version.COMPILER_VERSION instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.CXX11_ABI_FLAG is deprecated. Please use tf.sysconfig.CXX11_ABI_FLAG instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.ConditionalAccumulator is deprecated. Please use tf.compat.v1.ConditionalAccumulator instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:3138: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/keras/optimizers.py:757: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.
.....
Those two warnings appear at the beggninng but the rest of outputs seem ok. But when I try to precise-listen
my new .net file, an Error appears:
$ precise-listen myword.net
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AttrValue is deprecated. Please use tf.compat.v1.AttrValue instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.COMPILER_VERSION is deprecated. Please use tf.version.COMPILER_VERSION instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.CXX11_ABI_FLAG is deprecated. Please use tf.sysconfig.CXX11_ABI_FLAG instead.
WARNING:tensorflow:From /home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.ConditionalAccumulator is deprecated. Please use tf.compat.v1.ConditionalAccumulator instead.
Using TensorFlow backend.
Traceback (most recent call last):
File "/home/pi/mycroft-precise/.venv/bin/precise-listen", line 33, in <module>
sys.exit(load_entry_point('mycroft-precise', 'console_scripts', 'precise-listen')())
File "/home/pi/mycroft-precise/precise/scripts/base_script.py", line 43, in run_main
script = cls(args)
File "/home/pi/mycroft-precise/precise/scripts/listen.py", line 58, in __init__
self.listener = Listener(args.model, args.chunk_size)
File "/home/pi/mycroft-precise/precise/network_runner.py", line 107, in __init__
self.runner = runner_cls(model_name)
File "/home/pi/mycroft-precise/precise/network_runner.py", line 85, in __init__
self.model = load_precise_model(model_name)
File "/home/pi/mycroft-precise/precise/model.py", line 54, in load_precise_model
return load_keras().models.load_model(model_name)
File "/home/pi/mycroft-precise/.venv/lib/python3.7/site-packages/keras/models.py", line 242, in load_model
model_config = json.loads(model_config.decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'
I've tried download the dev branch but the same error happens.
To Reproduce
Steps to reproduce the behavior:
- Clone the repository
- Run the
./setup.sh
script - Activate python environment with
source .venv/bin/activate
- Try to
precise-listen
any model (I used some community data and also a test of my own after collecting several recordings and generating a .net withprecise-train
)
Expected behavior
I expected to run my created model but got an error there.
Environment
- Device type: Raspberry Pi 4B
- OS: Raspbian GNU/Linux 10 (buster)
- Linux voice 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux
Additional context
I'm using a clean buster installation. I'm using voice2json and everything works fine there.