Как реализовать указатель приема данных в буфере и сохранить его как пустой указатель? ⇐ C++
Как реализовать указатель приема данных в буфере и сохранить его как пустой указатель?
класс CustomBuffer { публика: CustomBuffer(void* data_ptr, std::vector затемняется, Тип Тензордататипе ) : data_(data_ptr), shape(std::move(dims)), dtype(type) {} ~CustomBuffer() {/* Как реализовать? */} публика: std::vector shape; Тип TensorDataType; частный: void* const data_; } Как реализовать деструктор в приведенном выше примере?
Вот пример использования:
#include std::vector run_inference(std::string img_path, std::string model_path) { Ort::Session* session = ... cv::Mat image = cv::imread(img_path); интервал SW, ш; // Известно только во время выполнения cv::Mat resized_image; cv::resize(image, resized_image, cv::Size(sw, sh), 0, 0, cv::InterpolationFlags::INTER_LINEAR); std::vector input_tensor_values_list; std::vector input_tensor_shapes_list; // заполняем данные из resized_image ... Ort::MemoryInfo Memory_info = ... std::vector input_tensors; // заполняем input_tensors из input_tensor_values_list ... std::vector output_tensors = session->Run( Ort::RunOptions{nullptr}, input_names.data(), input_tensors.data(), input_tensors.size(), выходные_имена.данные(), выходные_имена.размер()); результаты std::vector; для (авто и выходной_тензор: выходные_тензоры) { Ort::TensorTypeAndShapeInfo tensor_info = output_tensor.GetTensorTypeAndShapeInfo(); ONNXTensorElementDataType elem_type = tensor_info.GetElementType(); std::vector tensor_shape = tensor_info.GetShape(); results.emplace_back(output_tensor.release(), tensor_shape, elem_type); } возврат результатов; } Основная логика приведенного выше кода:
[*]Прочитайте изображение как cv::Mat и измените его размер во время выполнения. знать только желаемую форму во время выполнения [*]Подготовьте ввод ONNXRuntime Run [*]Выполнить вывод с помощью ONNXRuntime. [*]Передать право собственности на результат вывода CustomBuffer
класс CustomBuffer { публика: CustomBuffer(void* data_ptr, std::vector затемняется, Тип Тензордататипе ) : data_(data_ptr), shape(std::move(dims)), dtype(type) {} ~CustomBuffer() {/* Как реализовать? */} публика: std::vector shape; Тип TensorDataType; частный: void* const data_; } Как реализовать деструктор в приведенном выше примере?
Вот пример использования:
#include std::vector run_inference(std::string img_path, std::string model_path) { Ort::Session* session = ... cv::Mat image = cv::imread(img_path); интервал SW, ш; // Известно только во время выполнения cv::Mat resized_image; cv::resize(image, resized_image, cv::Size(sw, sh), 0, 0, cv::InterpolationFlags::INTER_LINEAR); std::vector input_tensor_values_list; std::vector input_tensor_shapes_list; // заполняем данные из resized_image ... Ort::MemoryInfo Memory_info = ... std::vector input_tensors; // заполняем input_tensors из input_tensor_values_list ... std::vector output_tensors = session->Run( Ort::RunOptions{nullptr}, input_names.data(), input_tensors.data(), input_tensors.size(), выходные_имена.данные(), выходные_имена.размер()); результаты std::vector; для (авто и выходной_тензор: выходные_тензоры) { Ort::TensorTypeAndShapeInfo tensor_info = output_tensor.GetTensorTypeAndShapeInfo(); ONNXTensorElementDataType elem_type = tensor_info.GetElementType(); std::vector tensor_shape = tensor_info.GetShape(); results.emplace_back(output_tensor.release(), tensor_shape, elem_type); } возврат результатов; } Основная логика приведенного выше кода:
[*]Прочитайте изображение как cv::Mat и измените его размер во время выполнения. знать только желаемую форму во время выполнения [*]Подготовьте ввод ONNXRuntime Run [*]Выполнить вывод с помощью ONNXRuntime. [*]Передать право собственности на результат вывода CustomBuffer
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Структура копирования Python ctypes, расположенная во временном буфере
Anonymous » » в форуме Python - 0 Ответы
- 53 Просмотры
-
Последнее сообщение Anonymous
-