我使用 Universal Sentence Encoder Lite 版本创建了一个 SavedModel。如果我使用 tf.saved_model.loader.load 加载 SavedModel,它工作得很好。
但是,如果我尝试使用 Tensorflow Serving 为模型提供服务,我会收到以下错误:
"error": "indices[3] = 1 is not in [0, 1)\n\t [[Node: lite_module_apply_default/Encoder_en/KonaTransformer/ClipToMaxLength/GatherV2_1 = GatherV2[Taxis=DT_INT32, Tindices=DT_INT64, Tparams=DT_INT64, _output_shapes=[[?]], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_qsph_v_0_7, lite_module_apply_default/Encoder_en/KonaTransformer/ClipToMaxLength/Reshape, lite_module_apply_default_1/Encoder_en/KonaTransformer/SequenceMask/Const)]]"
为什么会发生这种情况?
python 版本:3.6
tensorflow 版本:1.9.0
tensorflow_hub 版本:0.1.1
使用 tensorflow/serving docker 1.11
最佳答案
我以行格式提供输入张量。通过将输入张量的格式更改为柱状格式,我能够纠正这个问题。可以找到行格式和列格式的详细说明 here .
关于tensorflow - 尝试通过 Tensorflow Serving 使用 Universal Sentence Encoder Lite/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52955320/