Информация о системе. Написал пользовательский код: Да. Платформа и распространение ОС: Windows 10. Мобильное устройство: Нет. TensorFlow установлено: conda install tenorflow Версия TensorFlow: 2.1.0 (только ЦП) Python версия: 3 Опишите текущую версию Поведение Я тренирую модель TF Keras (краткое описание ниже) и использую ее для классификации слотов, и она отлично работает.
Затем я сохраняю ее, используя: tf.saved_model.save(joint_model, 'BERT2.tf')
Затем загружаю модель: bertmodel = tf.keras.models.load_model('BERT2.tf', compile=False)
Она компилируется с использованием те же аргументы, что и в сохраненной модели. А затем попробуйте выполнить предсказания, используя ту же функцию, что и раньше, но я получаю следующую ошибку: ValueError: Не удалось найти подходящую функцию для вызова, загруженную из SavedModel
Опишите ожидаемое поведение, которое я запускаю для предсказания, используя ту же функцию, но загруженную модель выдает ошибку. Я попытался установить ночную сборку tenorflow, но безуспешно.
Автономный код для воспроизведения проблемы Предоставьте воспроизводимый контрольный пример, необходимый для создания проблемы. Если возможно, поделитесь ссылкой на Colab / Jupyter / любой блокнот. Модель:
Обучение:
joint_model.compile(optimizer=opt, loss=losses, metrics=metrics)
history = joint_model.fit(encoded_train, slot_train, epochs=15, batch_size=32)
Function for predictions:
def show_predictions(text, tokenizer, model, slot_names):
Другая информация / журналы Включите любые журналы или исходный код, которые будут полезны для диагностики проблемы. Если вы включили трассировку, пожалуйста, включите полную трассировку. Большие журналы и файлы должны быть прикреплены.
ValueError: Could not find matching function to call loaded from the SavedModel. Got:
Positional arguments (1 total):
* Tensor("inputs:0", shape=(1, 8), dtype=int32)
Keyword arguments: {'training': False}
Expected these arguments to match one of the following 4 option(s):
Option 1:
Positional arguments (1 total):
* {'attention_masks': TensorSpec(shape=(None, 25), dtype=tf.int32, name='inputs/attention_masks'), 'input_ids': TensorSpec(shape=(None, 25), dtype=tf.int32, name='inputs/input_ids')}
Keyword arguments: {'training': False}
Option 2:
Positional arguments (1 total):
* {'attention_masks': TensorSpec(shape=(None, 25), dtype=tf.int32, name='attention_masks'), 'input_ids': TensorSpec(shape=(None, 25), dtype=tf.int32, name='input_ids')}
Keyword arguments: {'training': False}
Option 3:
Positional arguments (1 total):
* {'attention_masks': TensorSpec(shape=(None, 25), dtype=tf.int32, name='inputs/attention_masks'), 'input_ids': TensorSpec(shape=(None, 25), dtype=tf.int32, name='inputs/input_ids')}
Keyword arguments: {'training': True}
Option 4:
Positional arguments (1 total):
* {'attention_masks': TensorSpec(shape=(None, 25), dtype=tf.int32, name='attention_masks'), 'input_ids': TensorSpec(shape=(None, 25), dtype=tf.int32, name='input_ids')}
Keyword arguments: {'training': True}