簡體   English   中英

對 nvidia triton 使用字符串參數

[英]Using String parameter for nvidia triton

我正在嘗試在 Triton 推理服務器上部署一個簡單的模型。 它加載得很好,但我無法格式化輸入以執行正確的推理請求。

我的模型有一個像這樣設置的 config.pbtxt

  max_batch_size: 1
  input: [
    {
      name: "examples"
      data_type: TYPE_STRING
      format: FORMAT_NONE
      dims: [ -1 ]
      is_shape_tensor: false
      allow_ragged_batch: false
      optional: false
    }
  ]

我嘗試使用非常簡單的 python 代碼來設置這樣的輸入數據(輸出未寫入但設置正確)

        bytes_data = [input_data.encode('utf-8')]
        bytes_data = np.array(bytes_data, dtype=np.object_)
        bytes_data = bytes_data.reshape([-1, 1])
        inputs = [
            httpclient.InferInput('examples', bytes_data.shape, "BYTES"),
        ]
        inputs[0].set_data_from_numpy(bytes_data)

但我不斷收到相同的錯誤消息

tritonclient.utils.InferenceServerException: Could not parse example input, value: '[my text input here]'
         [[{{node ParseExample/ParseExampleV2}}]]

我已經嘗試了多種編碼輸入的方​​法,作為字節,甚至作為 TFX 服務曾經像這樣詢問{ "instances": [{"b64": "CjEKLwoJdXR0ZXJhbmNlEiIKIAoecmVuZGV6LXZvdXMgYXZlYyB1biBjb25zZWlsbGVy"}]}

如果有人知道,我不確定問題出在哪里?

如果有人遇到同樣的問題,這解決了它。 我必須創建一個 tf.train.Example() 並正確設置數據

example = tf.train.Example()
example_bytes = str.encode(input_data)
example.features.feature['utterance'].bytes_list.value.extend([example_bytes])
inputs = [
    httpclient.InferInput('examples', [1], "BYTES"),
]
inputs[0].set_data_from_numpy(np.asarray(example.SerializeToString()).reshape([1]), binary_data=False)
    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM