mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-12 17:57:38 +00:00
Add TRT uint8 support (#12570)
* uint8 support Signed-off-by: Kevin Chen <kevinch@nvidia.com> * Handle outputs as well Signed-off-by: Kevin Chen <kevinch@nvidia.com> Signed-off-by: Kevin Chen <kevinch@nvidia.com>
This commit is contained in:
parent
95f2a3e7e0
commit
73da3f3705
1 changed files with 20 additions and 0 deletions
|
|
@ -1737,6 +1737,16 @@ common::Status TensorrtExecutionProvider::Compile(const std::vector<FusedNodeAnd
|
|||
}
|
||||
break;
|
||||
}
|
||||
case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8: {
|
||||
auto input_tensor_ptr = ort.GetTensorData<uint8_t>(input_tensor);
|
||||
if (input_tensor_ptr == nullptr) {
|
||||
scratch_buffers.push_back(IAllocator::MakeUniquePtr<void>(alloc, sizeof(uint8_t)));
|
||||
buffers[binding_index] = scratch_buffers.back().get();
|
||||
} else {
|
||||
buffers[binding_index] = const_cast<uint8_t*>(input_tensor_ptr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32: {
|
||||
auto input_tensor_ptr = ort.GetTensorData<int32_t>(input_tensor);
|
||||
if (input_tensor_ptr == nullptr) {
|
||||
|
|
@ -1870,6 +1880,16 @@ common::Status TensorrtExecutionProvider::Compile(const std::vector<FusedNodeAnd
|
|||
}
|
||||
break;
|
||||
}
|
||||
case ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8: {
|
||||
auto output_tensor_ptr = ort.GetTensorMutableData<uint8_t>(output_tensor[i]);
|
||||
if (output_tensor_ptr == nullptr) {
|
||||
scratch_buffers.push_back(IAllocator::MakeUniquePtr<void>(alloc, sizeof(uint8_t)));
|
||||
buffers[binding_index] = scratch_buffers.back().get();
|
||||
} else {
|
||||
buffers[binding_index] = output_tensor_ptr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32: {
|
||||
auto output_tensor_ptr = ort.GetTensorMutableData<int32_t>(output_tensor[i]);
|
||||
if (output_tensor_ptr == nullptr) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue