MCPcopy Create free account
hub / github.com/FeiYull/TensorRT-Alpha / copy

Method copy

efficientdet/efficientdet.cpp:128–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

126}
127
128void EfficientDet::copy(const std::vector<cv::Mat>& imgsBatch)
129{
130 cv::Mat img_fp32 = cv::Mat::zeros(imgsBatch[0].size(), CV_32FC3); // todo
131 cudaHostRegister(img_fp32.data, img_fp32.elemSize() * img_fp32.total(), cudaHostRegisterPortable);
132
133 // copy to device
134 float* pi = m_input_src_device;
135 //for (size_t i = 0; i < m_param.batch_size; i++)
136 for (size_t i = 0; i < imgsBatch.size(); i++)
137 {
138 //std::vector<float> img_vec = std::vector<float>(imgsBatch[i].reshape(1, 1));
139 imgsBatch[i].convertTo(img_fp32, CV_32FC3);
140 CHECK(cudaMemcpy(pi, img_fp32.data, sizeof(float) * 3 * m_param.src_h * m_param.src_w, cudaMemcpyHostToDevice));
141 /*imgsBatch[i].convertTo(imgsBatch[i], CV_32FC3);
142 CHECK(cudaMemcpy(pi, imgsBatch[i].data, sizeof(float) * 3 * m_param.src_h * m_param.src_w, cudaMemcpyHostToDevice));*/
143 pi += 3 * m_param.src_h * m_param.src_w;
144 }
145
146 cudaHostUnregister(img_fp32.data);
147}
148
149void EfficientDet::preprocess(const std::vector<cv::Mat>& imgsBatch)
150{

Callers 2

DetectFunction · 0.45
taskFunction · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected