модель обучения передаче, основанная на универсальном кодировщике предложений, не может быть сохранена в модель tf для обслуживания tensorflow

#python #tensorflow #keras

Вопрос:

Я открыл сообщение об ошибке на github по следующей проблеме, но пока не получил никакого соответствующего ответа.

Чтобы воспроизвести ошибку, пожалуйста, просто создайте модель, используя приведенные ниже коды, и сохраните ее в формате «tf». никакой подготовки не требуется.

Модель создается с использованием следующих кодов,

 model = tf.keras.models.Sequential()

model.add(hub.KerasLayer("https://tfhub.dev/google/universal-sentence-encoder/4", input_shape=[], output_shape=[512], dtype=tf.string, trainable=False))

model.add(tf.keras.layers.Dense(10, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
......
model.fit(X_train, Y_train, epochs=1, validation_data=(X_test, Y_test))
model.save(model_save_loc)
......
 

Я попробовал tensorflow 2.5.0 и 2.2.0. Оба дали мне следующее исключение, когда я сохранил модель после ее полного обучения (обучение модели работает отлично).

 Traceback (most recent call last):
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/training/tracking/tracking.py", line 277, in del
self._destroy_resource()
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 889, in call
result = self._call(*args, **kwds)
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 924, in _call
results = self._stateful_fn(*args, **kwds)
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3022, in call
filtered_flat_args) = self._maybe_define_function(args, kwargs)
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3444, in _maybe_define_function
graph_function = self._create_graph_function(args, kwargs)
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3279, in _create_graph_function
func_graph_module.func_graph_from_py_func(
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/framework/func_graph.py", line 999, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/Users/feng/workspace/venv3.8/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 672, in wrapped_fn
out = weak_wrapped_fn().wrapped(*args, **kwds)
AttributeError: 'NoneType' object has no attribute 'wrapped'
 

Спасибо!