yolov8-opencv-onnxruntime-cpp
yolov8-opencv-onnxruntime-cpp copied to clipboard
yolov8_seg_onnx.cpp内存错误
onnx推理时, bool Yolov8SegOnnx::OnnxBatchDetect(std::vectorcv::Mat& srcImgs, std::vector<std::vector<OutputParams>>& output) { std::vectorcv::Vec4d params; std::vectorcv::Mat input_images; cv::Size input_size(_netWidth, _netHeight); //preprocessing PreProcessing(srcImgs, input_images, params); cv::Mat blob = cv::dnn::blobFromImages(input_images, 1 / 255.0, input_size, cv::Scalar(0, 0, 0), true, false);
int64_t input_tensor_length = VectorProduct(_inputTensorShape);
std::vector<Ort::Value> input_tensors;
std::vector<Ort::Value> output_tensors;
input_tensors.push_back(Ort::Value::CreateTensor<float>(_OrtMemoryInfo, (float*)blob.data, input_tensor_length, _inputTensorShape.data(), _inputTensorShape.size()));
output_tensors = _OrtSession->Run(Ort::RunOptions{ nullptr },
_inputNodeNames.data(),
input_tensors.data(),
_inputNodeNames.size(),
_outputNodeNames.data(),
_outputNodeNames.size()
);
最后一条语句发生了内存错误: Exception thrown at 0x00007FF9C8CA58F0 (nvcuda64.dll) in main.exe: 0xC0000005: Access violation reading location 0x000001B2913EC000. 如何修复