为 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)
我正在尝试在 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)