RASA INIT Error - monitoring.py

Hi,

I created a new virtual environment and installed rasa and then gave “rasa init”. It aked if I want to train my 1st model and then it gave below error.

Training an initial model...
2021-11-05 16:01:52.274643: E tensorflow/core/lib/monitoring/collection_registry.cc:77] Cannot register 2 metrics with the same name: /tensorflow/api/keras/optimizers
Traceback (most recent call last):
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Selvakumar Raj\Anaconda3\envs\visualize1\Scripts\rasa.exe\__main__.py", line 7, in <module>
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\__main__.py", line 118, in main
    cmdline_arguments.func(cmdline_arguments)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\cli\scaffold.py", line 235, in run
    init_project(args, path)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\cli\scaffold.py", line 130, in init_project
    print_train_or_instructions(args, path)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\cli\scaffold.py", line 69, in print_train_or_instructions
    training_result = rasa.train(domain, config, training_files, output)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\api.py", line 106, in train
    from rasa.model_training import train_async
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\model_training.py", line 22, in <module>
    from rasa.nlu.model import Interpreter
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\nlu\model.py", line 14, in <module>
    from rasa.nlu import components, utils
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\nlu\components.py", line 7, in <module>    import rasa.utils.train_utils
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\utils\train_utils.py", line 39, in <module>
    from rasa.utils.tensorflow.callback import RasaTrainingLogger, RasaModelCheckpoint
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\rasa\utils\tensorflow\callback.py", line 13, in <module>
    class RasaTrainingLogger(tf.keras.callbacks.Callback):
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\tensorflow\python\util\lazy_loader.py", line 62, in __getattr__
    module = self._load()
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\tensorflow\python\util\lazy_loader.py", line 45, in _load
    module = importlib.import_module(self.__name__)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\__init__.py", line 25, in <module>
    from keras import models
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\models.py", line 20, in <module>
    from keras import metrics as metrics_module
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\metrics.py", line 26, in <module>
    from keras import activations
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\activations.py", line 20, in <module>
    from keras.layers import advanced_activations
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\layers\__init__.py", line 23, in <module>
    from keras.engine.input_layer import Input
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\engine\input_layer.py", line 21, in <module>
    from keras.engine import base_layer
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\engine\base_layer.py", line 43, in <module>
    from keras.mixed_precision import loss_scale_optimizer
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\mixed_precision\loss_scale_optimizer.py", line 18, in <module>
   from keras import optimizers
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\optimizers.py", line 26, in <module>
    from keras.optimizer_v2 import adadelta as adadelta_v2
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\optimizer_v2\adadelta.py", line 22, in <module>
    from keras.optimizer_v2 import optimizer_v2
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\keras\optimizer_v2\optimizer_v2.py", line 37, in <module>
    "/tensorflow/api/keras/optimizers", "keras optimizer usage", "method")
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\tensorflow\python\eager\monitoring.py", line 361, in __init__
    len(labels), name, description, *labels)
  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\tensorflow\python\eager\monitoring.py", line 135, in __init__
    self._metric = self._metric_methods[self._label_length].create(*args)
tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists.

I’ve couple of other Envs, where the Bot runs fine and I did not face any issue. Please advise.

First, what is the difference of this system to previous, where it is working?

@InnoOmnia No difference in the way I created them. I used the same commands for creating both Env and installing the required components in both

conda install ujson
conda install tensorflow
pip install --user --upgrade pip==20.2
pip install rasa[full]
pip install rasa[spacy]
python -m spacy download en_core_web_md

I deleted the Environment and created it again and facing the same issue.

  File "c:\users\selvakumar raj\anaconda3\envs\visualize1\lib\site-packages\tensorflow\python\eager\monitoring.py", line 135, in __init__
    self._metric = self._metric_methods[self._label_length].create(*args)
tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists.

Ok, there might be issue with your virtual environment, they do separate most of things but not all and that’s why your first environment works and second not. I have noticed that in other projects when using conda virtual environments. So if your need is run multiple chatbots in same machine, I recommend Docker containers

2 Likes