Ошибка при запуске REST севера

Всем привет!

При попытке запустить REST север получаю сообщение “Недопустимая инструкция”

(p36) root@debian:~# python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
2022-01-23 20:19:33.283 INFO in 'deeppavlov.core.common.file'['file'] at line 32: Interpreting 'ner_ontonotes_bert_mult' as '/root/miniconda3/envs/p36/lib/python3.6/site-packages/deeppavlov/configs/ner/ner_ontonotes_bert_mult.json'
[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data]   Package punkt is already up-to-date!
[nltk_data] Downloading package stopwords to /root/nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[nltk_data] Downloading package perluniprops to /root/nltk_data...
[nltk_data]   Package perluniprops is already up-to-date!
[nltk_data] Downloading package nonbreaking_prefixes to
[nltk_data]     /root/nltk_data...
[nltk_data]   Package nonbreaking_prefixes is already up-to-date!
Недопустимая инструкция
(p36) root@debian:~#

В чем может быть проблема и как её исправить?

Спасибо!

Добрый день.

Подскажите, пожалуйста, какой процессор стоит на машине, на которой вы запускаете библиотеку?

1 Like

Здравствуйте!

Процессор: AMD Phenom II X4 N930 Quad Core

Я вчера поставил Windows и попробовал на нем запустить, там ошибка более информативная:

(env) C:\Users\Professional>python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
2022-01-24 18:22:15.852 INFO in 'deeppavlov.core.common.file'['file'] at line 32: Interpreting 'ner_ontonotes_bert_mult' as 'C:\Users\Professional\env\lib\site-packages\deeppavlov\configs\ner\ner_ontonotes_bert_mult.json'
[nltk_data] Downloading package punkt to
[nltk_data]     C:\Users\Professional\AppData\Roaming\nltk_data...
[nltk_data]   Package punkt is already up-to-date!
[nltk_data] Downloading package stopwords to
[nltk_data]     C:\Users\Professional\AppData\Roaming\nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[nltk_data] Downloading package perluniprops to
[nltk_data]     C:\Users\Professional\AppData\Roaming\nltk_data...
[nltk_data]   Package perluniprops is already up-to-date!
[nltk_data] Downloading package nonbreaking_prefixes to
[nltk_data]     C:\Users\Professional\AppData\Roaming\nltk_data...
[nltk_data]   Package nonbreaking_prefixes is already up-to-date!
Traceback (most recent call last):
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Program Files\Python36\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Program Files\Python36\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files\Python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\__main__.py", line 4, in <module>
    main()
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\deep.py", line 113, in main
    start_model_server(pipeline_config_path, args.https, args.key, args.cert, port=args.port)
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\utils\server\server.py", line 179, in start_model_server
    model = build_model(model_config)
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\core\commands\infer.py", line 62, in build_model
    component = from_params(component_config, mode=mode, serialized=component_serialized)
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\core\common\params.py", line 95, in from_params
    obj = get_model(cls_name)
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\core\common\registry.py", line 72, in get_model
    return cls_from_str(_REGISTRY[name])
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\core\common\registry.py", line 40, in cls_from_str
    return getattr(importlib.import_module(module_name), cls_name)
  File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\Professional\env\lib\site-packages\deeppavlov\models\preprocessors\bert_preprocessor.py", line 20, in <module>
    from bert_dp.tokenization import FullTokenizer
  File "C:\Users\Professional\env\lib\site-packages\bert_dp\tokenization.py", line 25, in <module>
    import tensorflow as tf
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\__init__.py", line 41, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\__init__.py", line 50, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 69, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\Professional\env\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Program Files\Python36\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Program Files\Python36\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Предположил, что дело может быть в железе и попробовал установить на VPS - там ошибки этой нет, но не хватает памяти для запуска:

2022-01-24 18:45:17.072901: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 367248384 exceeds 10% of system memory.
2022-01-24 18:45:17.622494: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 367248384 exceeds 10% of system memory.
2022-01-24 18:45:19.267364: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 367248384 exceeds 10% of system memory.
2022-01-24 18:45:19.542191: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 367248384 exceeds 10% of system memory.
2022-01-24 18:45:20.098950: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 367248384 exceeds 10% of system memory.
Killed

  1. На ноутбуке с процессором AMD Phenom II X4 N930 Quad Core не получится запустить DeepPavlov или что-то можно попробовать сделать?
  2. Реально ли вообще запустить DeepPavlov на машине с 4Гб ОЗУ? И, если да, какие настройки установить, для успешного запуска?

Спасибо!

  1. Если я не ошибаюсь, то N930 не поддерживает AVX инструкции, поэтому модели использующие TF запустить не получится.
  2. Нет, ner_ontonotes_bert_mult запустить не получится, она требует больше 4 Гб. Вам нужно решить задачу именно мультиязычного NER?

Спасибо за ответы!

Все так - мой процессор эти инструкции не поддерживает.
Буду работать с тем, что железо потянет - ner_rus запускается прекрасно.

Ещё раз спасибо за помощь!

thanks for the awesome information.