как использовать тензор для оптимизации модели openpose с входным изображением - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать tenensrt 5.0 для оптимизации кокосовой модели openpose. Я хочу ввести изображение. Но я не смог получить правильный результат, думаю, что-то не так с моими входными данными.

это мой входной код: Загрузите файл изображения и конвертируйте в CV_32F:

Mat image = cv::imread("./image.jpg", cv::IMREAD_COLOR);
cv::resize(image, image, cv::Size(inputW, inputH));
image.convertTo(image, CV_32F, 1 / 256.f, -0.5);

Затем получите данные пикселей FLOAT и сохраните их:

float *data = (float *)malloc(inputC * inputH * inputW * sizeof(float));
int height = image.rows;
int width = image.cols; 
int nc = image.channels();
for (size_t nrow = 0; nrow < image.rows; nrow++)
{
    float* row_data = image.ptr<float>(nrow);
    for (size_t ncol = 0; ncol < image.cols * image.channels(); ncol++)
    {
        int index = nrow * image.cols * image.channels() + ncol;
        data[index] = row_data[ncol];
    }
}

Наконец, поместите эти данные в буфер и сделайте вывод:

float* hostInputBuffer = static_cast<float*>(buffers.getHostBuffer(inputTensorName));
for (int i = 0; i < inputC * inputH * inputW; i++)
{
    hostInputBuffer[i] = data[i];
}

Что-то не так с ними?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...