۲ علیرضا صادقي رونیزی
ارور A KerasTensor is symbolic
جامعه هوش مصنوعی ایجاد شده در ۱۸ آذر ۱۴۰۳

من وقتی کد خود استاد رو ران میکنم ارور 
A KerasTensor is symbolic: it's a placeholder for a shape an a dtype. It doesn't have any actual numerical value. You cannot convert it to a NumPy array.
رو دریافت میکنم و اینطور که فهمیدم به خواطر tensorflow 2.18 هستش 

با keras_hub پیش رفتم و حتی preprocess رو تست میکنم سالم کار میکنه خروجی رو هم اوکی کردم ولی این هم ارور میده ارور InvalidArgumentError: Graph execution error:
اگر میشه راهنمایی کنید و اینکه هنگام استفاده از keras_hub من فقط 
این قطعه کد رو:
bert_preprocess = hub.KerasLayer('https://tfhub.dev/tensorflow/bert_en_uncased_preprocess/3')
bert_encoder = hub.KerasLayer('https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/4')

تبدیل به:
 

bert_classificaiton_preprocess = keras_hub.models.BertTextClassifierPreprocessor.from_preset('bert_small_en_uncased')

bert_encoder = keras_hub.models.BertClassifier.from_preset('bert_small_en_uncased', num_classes=1, name='BERT_Encoder')

کردم ولی این باگ رو زد

image-4bzgy5ef.png
علیرضا صادقي رونیزی ۱۸ آذر ۱۴۰۳، ۱۵:۲۸

سلام

میتوانید از این راه استفاده کنید (استفاده از keras_nlp):

text_input = tf.keras.layers.Input(shape=(), dtype=tf.string)
preprocessor = keras_nlp.models.BertPreprocessor.from_preset("bert_base_en_uncased",trainable=True)
encoder_inputs = preprocessor(text_input)
encoder = keras_nlp.models.BertBackbone.from_preset("bert_base_en_uncased")
outputs = encoder(encoder_inputs)
pooled_output = outputs["pooled_output"]      # [batch_size, 768].
sequence_output = outputs["sequence_output"]  # [batch_size, seq_length, 768].

و یا چون از راه جدا استفاده کردید باید این دو خط کد رو اول فایل خود اجرا کنید:

from tensorflow.python.framework.ops import disable_eager_execution
disable_eager_execution()
مسعود کاویانی ۲۳ آذر ۱۴۰۳، ۰۷:۵۱