Проблема с предварительно обученной моделью ALBERT на TF Hub
Я пробовал протестировать модель ALBERT на TF Hub. При попытке загрузить ALBERT из TF Hub возникла следующая ошибка:
python
Python 3.6.8 (default, May 16 2019, 05:58:38)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow_hub as hub
>>> albert_module = hub.Module(
... "https://tfhub.dev/google/albert_base/1",
... trainable=True)
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "/home/opc/vuh/tools/pyvenv3-gpu-tf-hub/lib64/python3.6/site-packages/tensorflow_hub/module.py", line 170, in __init__
tags=self._tags)
File "/home/opc/vuh/tools/pyvenv3-gpu-tf-hub/lib64/python3.6/site-packages/tensorflow_hub/native_module.py", line 340, in _create_impl
name=name)
File "/home/opc/vuh/tools/pyvenv3-gpu-tf-hub/lib64/python3.6/site-packages/tensorflow_hub/native_module.py", line 382, in __init__
op.name for op in self._meta_graph.meta_info_def.stripped_op_list.op})
File "/home/opc/vuh/tools/pyvenv3-gpu-tf-hub/lib64/python3.6/site-packages/tensorflow_hub/native_module.py", line 822, in register_ops_if_needed
% missing_ops.difference(set(cpp_registry_ops.keys())))
tensorflow.python.framework.errors_impl.NotFoundError: Graph ops missing from the python registry ({'BatchMatMulV2'}) are also absent from the c++ registry.
Кто-нибудь знает почему? Большое спасибо заранее?
К вашему сведению, в моем python3 venv я использую:
tenorflow-datasets 1.1.0 tensorflow-Estimator 1.13.0 tensorflow-gpu 1.13.1 tensorflow-hub 0.6.0 tensorflow-metadata 0,14.0 тензор потока-вероятность 0,7.0 tf-предложение piece 0.1.83 предложение piece 0.1.82
1 ответ
Похоже, вы сами ответили на свой вопрос, но чтобы сделать это более очевидным для других:
Вам нужно использовать тензорный поток>= 1.14.0. Необходимый op (BatchMatMulV2) отсутствовал в более старых версиях TF.