Изменить версию Tensoflow

У меня есть сервер с процессорами Intel Xeon X5675. При использовании в скриптах tensofflow 1.14 выскакивает ошибка “Illegal instruction (core dumped)”. Удалось запустить SQuAD установив tensjflow 1.5 Но у меня по-прeжнему не работает NER. Не могли бы вы помочь мне запустить NER на 1.5 ?
При запуске пишет File “/usr/local/lib/python3.6/dist-packages/deeppavlov/models/bert/bert_ner.py”, line 414, in token_from_subtoken
y_mask = tf.math.logical_not(x_mask)
AttributeError: module ‘tensorflow’ has no attribute ‘math’
Я сделал так
#y_mask = tf.math.logical_not(x_mask)
y_mask = tf.logical_not(x_mask)

Теперь стало
“/home/pi/proba/test/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”, line 866, in _TensorTensorConversionFunction
(dtype.name, t.dtype.name, str(t)))
ValueError: Tensor conversion requested dtype int32 for Tensor with dtype int64: ‘Tensor(“ner/stack:0”, shape=(2,), dtype=int64)’

Тут я уже не знаю что делать.

Можно пробовать дальше исправлять ошибки:

ValueError: Tensor conversion requested dtype int32 for Tensor with dtype int64: ‘Tensor(“ner/stack:0”, shape=(2,), dtype=int64)’

похоже она возникат в bert_ner.py:424-425:

paddings = tf.zeros(tf.stack([tf.reduce_sum(max_token_seq_len - token_seq_lenghs),
                                      nf], 0), tf.float32)

где у nf тип tf.int64, исправить можно заменив nf на tf.cast(nf, tf.int32).

Другой путь это собрать tensorflow 1.14 под ваш процессор, либо посмотреть уже собранные вот тут: https://github.com/yaroslavvb/tensorflow-community-wheels/issues

Спасибо. Буду пробовать собрать из исходников.

Собрал из исходников. Может кому полезно будет. Итак TF 1.14.0 для CPU без AVX. Уточнение официальной инструкции:
bazel нужен версии 0.25.2
на запрос при выполнении ./configure
Please specify optimization flags to use during compilation when bazel option “–config=opt” is specified [Default is -march=native -Wno-sign-compare]:
Ответить:
-march=native -mno-avx
далее:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
ждать несколько часов
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install tensorflow-1.14.0-cp36-cp36m-linux_x86_64.whl

И счастье.

1 Like