Tensorflow UnknownError: ошибка выполнения графика: сбой компиляции JIT. [Oп:__inference_restored_function_body_9127]

Я пытался использовать UNIVERSAL SENTENCE ENCODER из концентратора tensorflow. Скачал и извлек универсальный кодировщик предложений с хаба и когда я попытался предсказать старость, он показал ошибку, говорящую

UnknownError: Ошибка выполнения графика:

JIT-компиляция не удалась.

import tensorflow_hub as hub

#loading downloaded and untarred universal sentence encoder
embed = hub.load("./universal-sentence-encoder_4/")
  
# passed as an array in embed()
Sentences = [
    "How old are you"
]
embeddings = embed(Sentences)
  
print(embeddings)
  

и получил ошибку

2022-11-25 06:29:46.006767: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2630 MB memory:  -> device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5
error: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice
2022-11-25 06:29:50.652156: W tensorflow/core/framework/op_kernel.cc:1768] UNKNOWN: JIT compilation failed.
---------------------------------------------------------------------------
UnknownError                              Traceback (most recent call last)
Input In [1], in <cell line: 25>()
     17 # Load pre-trained universal sentence encoder model
     18 # embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder/4")
     19   
     20 # Sentences for which you want to create embeddings,
     21 # passed as an array in embed()
     22 Sentences = [
     23     "How old are you"
     24 ]
---> 25 embeddings = embed(Sentences)
     27 # Printing embeddings of each sentence
     28 print(embeddings)

File ~/miniconda3/envs/tf/lib/python3.10/site-packages/tensorflow/python/saved_model/load.py:704, in _call_attribute(instance, *args, **kwargs)
    703 def _call_attribute(instance, *args, **kwargs):
--> 704   return instance.__call__(*args, **kwargs)

File ~/miniconda3/envs/tf/lib/python3.10/site-packages/tensorflow/python/util/traceback_utils.py:153, in filter_traceback.<locals>.error_handler(*args, **kwargs)
    151 except Exception as e:
    152   filtered_tb = _process_traceback_frames(e.__traceback__)
--> 153   raise e.with_traceback(filtered_tb) from None
    154 finally:
    155   del filtered_tb

File ~/miniconda3/envs/tf/lib/python3.10/site-packages/tensorflow/python/eager/execute.py:54, in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     52 try:
     53   ctx.ensure_initialized()
---> 54   tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
     55                                       inputs, attrs, num_outputs)
     56 except core._NotOkStatusException as e:
     57   if name is not None:

UnknownError: Graph execution error:

JIT compilation failed.
     [[{{node EncoderDNN/EmbeddingLookup/EmbeddingLookupUnique/embedding_lookup/mod}}]] [Op:__inference_restored_function_body_4561]

как мне это исправить? Я просто хочу, чтобы это работало.

Udacity Nanodegree Capstone Project: Классификатор пород собак
Udacity Nanodegree Capstone Project: Классификатор пород собак
Вы можете ознакомиться со скриптами проекта и данными на github .
0
0
644
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

во-первых, есть ошибка с использованием резервных копий GPU вместо CPU, tf.estimators() и TensorFlow-hub требуют выделенного оборудования. встраивание-4

Пример: Попробуйте добавить путь CUDA к локальным переменным вашей ОС, у вас были ошибки, следуйте инструкциям. Ошибки, указывающие на незавершенную установку или настройку.

import tensorflow as tf
import tensorflow_hub as hub

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
None
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
physical_devices = tf.config.experimental.list_physical_devices('GPU')
assert len(physical_devices) > 0, "Not enough GPU hardware devices available"
config = tf.config.experimental.set_memory_growth(physical_devices[0], True)
print(physical_devices)
print(config)

embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder/4")


embeddings = embed([
    "The quick brown fox jumps over the lazy dog.",
    "I am a sentence for which I would like to get its embedding"])
  
print(embeddings)

Вывод: Просто встроенный слой, преобразование слова в последовательность, работающую по принципам.

tf.Tensor(
[[-0.03133015 -0.06338634 -0.01607501 ... -0.03242781 -0.0457574
   0.05370456]
 [ 0.05080863 -0.01652433  0.0157378  ...  0.00976659  0.03170122
   0.01788119]], shape=(2, 512), dtype=float32)

Столкнулся с подобными проблемами. У меня был тензорный поток 2.10.1. Исправлено путем деградации до 2.8.0

Привет, как ты это сделал? Я пытался, но при понижении версии Tensorflow с помощью pip я получил ошибку из-за несовместимости зависимостей.

Alberto De Benedittis 07.02.2023 18:00
Ответ принят как подходящий

У меня тоже была ошибка, и я просто сделал это с моим процессором, и это сработало.

with tf.device('/CPU:0'):
    embeddings = embed(Sentences)

Другие вопросы по теме