如何为图像分割模型设置TFX服务

问题描述

我正在使用TFX和kubeflow生成语义分割模型。我在示例中看到的唯一基于图像的模型在这里(https://github.com/tensorflow/tfx/blob/master/tfx/examples/cifar10/cifar10_utils_native_keras.py)。

我能够在管道中训练模型,但是TF服务有问题。 该模型与签名一起保存

def _get_serve_image_fn(model):
    """Returns a function that parses a serialized tf.Example.""" 
    @tf.function
    def serve_tf_image_fn(img):
        """Returns the output to be used in the serving signature."""
        return model(img)
    return serve_tf_image_fn


 signatures = {
        'serving_default':
            _get_serve_image_fn(
                model).get_concrete_function(
                tf.TensorSpec(
                    shape=[1,360,480,3],dtype=tf.int64,name=_transformed_name(_IMAGE_KEY)))
            } 

 model.save(fn_args.serving_model_dir,save_format='tf',signatures=signatures)

我可以使用此签名保存模型。但是当Evaluator组件运行并且测试数据通过推理时,出现以下错误

RuntimeError: tensorflow.python.framework.errors_impl.InvalidArgumentError: cannot compute __inference_signature_wrapper_239460 as input #0(zero-based) was expected to be a int64 tensor but is a int32 tensor [Op:__inference_signature_wrapper_239460] [while running 'ExtractEvaluateAndWriteResults/ExtractAndEvaluate/ExtractPredictions/Predict']

评估者代码为

evaluator = Evaluator(
    examples=transform.outputs['transformed_examples'],model=trainer.outputs['model'],baseline_model=model_resolver.outputs['model'],eval_config=eval_config)

transform.outputs ['transformed_examples']的输出应该是“ int64”。如果我将签名更改为int32,则出现以下错误

RuntimeError: tensorflow.python.framework.errors_impl.InvalidArgumentError:  transpose expects a vector of size 2. But input(1) is a vector of size 4
     [[{{node StatefulPartitionedCall/model_1/stem_conv/Conv2D-0-TransposeNHWCToNCHW-LayoutOptimizer}}]] [Op:__inference_signature_wrapper_507776]
Function call stack:
signature_wrapper [while running 'ExtractEvaluateAndWriteResults/ExtractAndEvaluate/ExtractPredictions/Predict']

欢迎提供调试或解决问题的任何有用评论。预先谢谢你!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...