【问题标题】:Tensorflow Serving error when loading new version of model from S3从 S3 加载新版本模型时出现 Tensorflow Serving 错误
【发布时间】:2019-11-27 05:46:58
【问题描述】:

我正在通过 TF Serving 为 TF 模型提供服务,并在 K8S 集群中进行了专门部署。我正在使用部署在与 TF Serving 相同的命名空间中的 MinIO 实例。

我使用以下环境变量配置它,以便让 TF Serving 访问 S3 并同步正确的文件

        - name: MODEL_NAME
          value: model-name
        - name: S3_ENDPOINT
          value: minio:9000
        - name: S3_USE_HTTPS
          value: '0'
        - name: S3_VERIFY_SSL
          value: '0'
        - name: AWS_REGION
          value: 'us-west-1'
        - name: AWS_ACCESS_KEY_ID
          valueFrom:
            secretKeyRef:
              key: AWS_ACCESS_KEY_ID
              name: minio-secret
        - name: AWS_SECRET_ACCESS_KEY
          valueFrom:
            secretKeyRef:
              key: AWS_SECRET_ACCESS_KEY
              name: minio-secret
        - name: MODEL_BASE_PATH
          value: s3://ROOT-BUCKET
        - name: TF_CPP_MIN_LOG_LEVEL
          value: '2'

一切顺利,我已经能够查询服务器并正确预测,但是当我加载新版本时,我总是收到以下错误:

'{ "error": "Failed to process element: 0 key: decoder_state_input_h:0 of \\\'instances\\\' list. Error: Invalid argument: JSON object: does not have named input: decoder_state_input_h:0" }'

杀死 POD(也就是重新启动 TF 服务)会导致新版本正确恢复。 此问题似乎是由于 TF 服务甚至在 S3 同步完成之前就开始加载可服务的同步问题造成的。

有什么线索吗? 谢谢!

【问题讨论】:

  • 关于您的问题的任何新信息?

标签: tensorflow kubernetes tensorflow-serving


【解决方案1】:

当您的新模型版本有变量时,可能会发生这种情况。 参考:https://github.com/tensorflow/serving/issues/1086.

尝试先上传变量dir。

【讨论】:

  • 链接中断。尝试从您问题的链接中发布相关部分。
猜你喜欢
  • 1970-01-01
  • 2022-06-21
  • 2018-05-16
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
相关资源
最近更新 更多