I’ve been trying to setup my rasa chatbot on my Centos 7 server but I keep getting “Illegal instruction” whenever I try to train my model.
This is the rasa version I’m using:
Rasa Version : 2.8.12
Minimum Compatible Version: 2.8.9
Rasa SDK Version : 2.8.2
Rasa X Version : None
Python Version : 3.7.12
Operating System : Linux-3.10.0-1160.53.1.el7.x86_64-x86_64-with-centos-7.9.2009-Core
Python Path : /usr/local/bin/python3.7
Do you see this error if you run python -c "import tensorflow" in your virtual environment? Do you have a 32-bit or 64-bit architecture?
Run more /proc/cpuinfo | grep flags | grep avx. If you don’t see a result, it means your CPU does not support machine learning, no matter what VM you use.
Furthermore, it is recommended to use Ubuntu as mentioned in the docs.
I am only supposedly allowed to use Centos 7 but if all else fails, I will try using Ubuntu.
I am using TensorFlow version 2.6.0
I did not create the environment using Conda.
Here is the full traceback:
[rasabot]$ rasa init
/usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
return f(*args, **kwds)
/usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
return f(*args, **kwds)
/usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
return f(*args, **kwds)
/usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
return f(*args, **kwds)
Welcome to Rasa! 🤖
To get started quickly, an initial project will be created.
If you need some help, check out the documentation at https://rasa.com/docs/rasa.
Now let's start! 👇🏽
? Please enter a path where the project will be created [default: current directory]
? Directory '/var/www/rasabot' is not empty. Continue? Yes
Created project directory at '/var/www/rasabot'.
Finished creating project structure.
? Do you want to train an initial model? 💪🏽 Yes
Training an initial model...
Illegal instruction
Hi! I created the conda environment on Centos7 and installed Rasa there but I still got the Illegal instruction response when training the initial model. I’ll try with Ubuntu next.
@ChrisRahme I see. May I ask what its purpose is? I’m confused because the Centos 7 server processor also supports AVX. Is there something else that I need to get it to work? Should it be AVX or AVX2?
Yes, CentOS supports AVX but your hardware does not even have it.
It does not matter if it’s AVX or AVX2.
There is a way to use Tensorflow without AVX by building it from source, but it is outside the scope of Rasa and my knowledge. You can check out this Stack Overflow post.