-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin_factory.cpp
More file actions
26 lines (21 loc) · 861 Bytes
/
plugin_factory.cpp
File metadata and controls
26 lines (21 loc) · 861 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "plugin_factory.h"
#include "yoloPlugins.h"
YOLOPluginFactory::YOLOPluginFactory() {
}
nvinfer1::IPlugin* YOLOPluginFactory::createPlugin(const char *layerName, const void *serialData, size_t serialLength) {
std::string ln = layerName;
if (ln == "YoloLayerV3_TRT") {
return this->deserialize_yolo_v3(serialData, serialLength);
} else if (ln == "LReLU_TRT") {
return this->deserialize_leaky_relu(serialData, serialLength);
}
std::cerr << "Unsurpported plugin name: " << ln << std::endl;
return NULL;
}
nvinfer1::IPlugin* YOLOPluginFactory::deserialize_yolo_v3(const void* buf, int32_t size) {
return new YoloLayerV3(buf, (size_t)size);
}
nvinfer1::IPlugin* YOLOPluginFactory::deserialize_leaky_relu(const void* buf, int32_t size) {
const float* p = (float*)buf;
return createLReLUPlugin(p[0]);
}