我使用以下链接准备了一个包含USE4的Keras模型:https://tfhub.dev/google/universal-sentence-encoder-large/4
使用TensorFlow 2.3,我将其添加到我的模型中并保存了模型
tf.saved_model.save(model,export_dir= '/directory/model/1',)
在Docker中服务后,我能够获取元数据,但预测请求无法工作。以下是请求内容:
{"inputs":{"text":["Hello"]}}
响应如下:
{ "error": "[_Derived_]{{function_node __inference_pruned_16231}} {{function_node __inference_pruned_16231}} 表未初始化。\n\t [[{{node text_preprocessor_1/hash_table_Lookup/hash_table_Lookup/LookupTableFindV2}}]]\n\t [[StatefulPartitionedCall/StatefulPartitionedCall/sequential/keras_layer/StatefulPartitionedCall/StatefulPartitionedCall/StatefulPartitionedCall]]" }
我在这里读到https://github.com/awslabs/amazon-sagemaker-examples/issues/773#issuecomment-509433290,在旧版本的TensorFlow中可以通过在旧的tf.saved_model.simple_save()函数中使用tf.tables_initializer()命令来解决这个问题。但在2.3.0版本中有什么替代方法?
回答:
你能尝试使用该模型的版本5吗(链接)?你的问题似乎与这个GitHub问题相关,该问题通过使用模型的v5版本解决。如果这不能解决问题,一个能够重现问题的简短代码片段将会有帮助。