MCPcopy Create free account
hub / github.com/KumarRobotics/sloam / speedTest

Method speedTest

sloam/src/segmentation/inference.cpp:450–494  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

448}
449
450void Segmentation::speedTest(const Cloud::Ptr cloud, size_t numTests){
451 std::vector<float> cloudVector;
452 for (const auto& point : cloud->points) {
453 cloudVector.push_back(point.x); cloudVector.push_back(point.y);
454 cloudVector.push_back(point.z); cloudVector.push_back(point.intensity);
455 }
456
457 std::cout << "PROJECTION" << std::endl;
458 auto netInput = _doProjection(cloudVector, cloud->width*cloud->height);
459
460 std::cout << "TO TENSOR" << std::endl;
461 std::vector<float> outputTensorValues(_outputTensorSize);
462 std::vector<float> inputTensorValues(_inputTensorSize);
463 std::vector<size_t> invalid_idxs;
464 _makeTensor(netInput, inputTensorValues, invalid_idxs);
465
466 std::cout << "SETUP" << std::endl;
467 std::vector<Ort::Value> inputTensors;
468 std::vector<Ort::Value> outputTensors;
469 inputTensors.push_back(Ort::Value::CreateTensor<float>(
470 *_memoryInfo, inputTensorValues.data(), _inputTensorSize, _inputDims.data(),
471 _inputDims.size()));
472
473 outputTensors.push_back(Ort::Value::CreateTensor<float>(
474 *_memoryInfo, outputTensorValues.data(), _outputTensorSize,
475 _outputDims.data(), _outputDims.size()));
476
477 // Measure latency
478 std::chrono::steady_clock::time_point begin =
479 std::chrono::steady_clock::now();
480 for (int i = 0; i < numTests; i++)
481 {
482 _session->Run(Ort::RunOptions{nullptr}, _inputNames.data(),
483 inputTensors.data(), 1, _outputNames.data(),
484 outputTensors.data(), 1);
485 }
486 std::chrono::steady_clock::time_point end =
487 std::chrono::steady_clock::now();
488 std::cout << "Minimum Inference Latency: "
489 << std::chrono::duration_cast<std::chrono::milliseconds>(end -
490 begin)
491 .count() /
492 static_cast<float>(numTests)
493 << " ms" << std::endl;
494}
495} //namespace segmentation

Callers

nothing calls this directly

Calls 1

RunMethod · 0.80

Tested by

no test coverage detected