| 290 | } |
| 291 | |
| 292 | int32_t DetectionLayer::enqueue( |
| 293 | int32_t batchSize, void const* const* inputs, void* const* outputs, void* workspace, cudaStream_t stream) noexcept |
| 294 | { |
| 295 | try |
| 296 | { |
| 297 | PLUGIN_VALIDATE(inputs != nullptr); |
| 298 | PLUGIN_VALIDATE(outputs != nullptr); |
| 299 | void* detections = outputs[0]; |
| 300 | |
| 301 | // refine detection |
| 302 | RefineDetectionWorkSpace refDetcWorkspace(batchSize, mAnchorsCnt, mParam, mType); |
| 303 | cudaError_t status = RefineBatchClassNMS(stream, batchSize, mAnchorsCnt, |
| 304 | DataType::kFLOAT, // mType, |
| 305 | mParam, refDetcWorkspace, workspace, |
| 306 | inputs[1], // inputs[InScore] |
| 307 | inputs[0], // inputs[InDelta], |
| 308 | mValidCnt->mPtr, // inputs[InCountValid], |
| 309 | inputs[2], // inputs[ROI] |
| 310 | detections); |
| 311 | |
| 312 | return status; |
| 313 | } |
| 314 | catch (std::exception const& e) |
| 315 | { |
| 316 | caughtError(e); |
| 317 | } |
| 318 | return STATUS_FAILURE; |
| 319 | } |
| 320 | |
| 321 | DataType DetectionLayer::getOutputDataType( |
| 322 | int32_t index, nvinfer1::DataType const* inputTypes, int32_t nbInputs) const noexcept |
nothing calls this directly
no test coverage detected