Add TKDNN_MODE variable to the name of the network.

This commit permits to obtain different .rt files for different
precision optimizations of the same network.

Signed-off-by: Davide Sapienza <sapienza.dav@gmail.com>
This commit is contained in:
Davide Sapienza
2020-03-30 15:08:25 +02:00
parent 42240de49a
commit 0474f019cf
26 changed files with 53 additions and 24 deletions
+1
View File
@@ -47,6 +47,7 @@ public:
bool addLayer(Layer *l);
void print();
const char *getNetworkRTName(char *network_name);
cudnnDataType_t dataType;
cudnnTensorFormat_t tensorFormat;
+28
View File
@@ -114,6 +114,34 @@ void Network::print() {
printCenteredTitle("", '=', 60);
std::cout<<"\n";
}
const char *Network::getNetworkRTName(char *network_name){
int network_name_len = strlen(network_name);
char *RTName = (char *)malloc((network_name_len + 9)*sizeof(char));
if (fp16){
strcat(RTName, network_name);
strcat(RTName, "_fp16.rt");
RTName[network_name_len + 7] = '\0';
}
else if (dla){
strcat(RTName, network_name);
strcat(RTName, "_dla.rt");
RTName[network_name_len + 6] = '\0';
}
else if (int8){
strcat(RTName, network_name);
strcat(RTName, "_int8.rt");
RTName[network_name_len + 8] = '\0';
}
else{
strcat(RTName, network_name);
strcat(RTName, "_fp32.rt");
RTName[network_name_len + 8] = '\0';
}
return RTName;
}
}}
@@ -475,7 +475,7 @@ int main()
net.print();
// //convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "csresnext50-panet-spp.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("csresnext50-panet-spp"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -301,7 +301,7 @@ int main()
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "dla34.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("dla34"));
tk::dnn::dataDim_t out_dim;
+1 -1
View File
@@ -477,7 +477,7 @@ int main()
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "dla34_cnet.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("dla34_cnet"));
tk::dnn::dataDim_t dim1 = dim; //input dim
printCenteredTitle(" CUDNN inference ", '=', 30);
+1 -1
View File
@@ -22,7 +22,7 @@ int main() {
tk::dnn::Dense l6(&net, 10, d3_bin);
tk::dnn::Softmax l7(&net);
tk::dnn::NetworkRT netRT(&net, "mnist.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("mnist"));
// Load input
dnnType *data;
+1 -1
View File
@@ -467,7 +467,7 @@ int main()
net.print();
// convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "mobilenetv2ssd.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("mobilenetv2ssd"));
tk::dnn::dataDim_t dim1 = dim; //input dim
printCenteredTitle(" CUDNN inference ", '=', 30);
@@ -466,7 +466,7 @@ int main()
net.print();
// convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "mobilenetv2ssd512.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("mobilenetv2ssd512"));
tk::dnn::dataDim_t dim1 = dim; //input dim
printCenteredTitle(" CUDNN inference ", '=', 30);
+1 -1
View File
@@ -290,7 +290,7 @@ int main()
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "resnet101.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("resnet101"));
tk::dnn::dataDim_t out_dim;
+1 -1
View File
@@ -350,7 +350,7 @@ int main()
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "resnet101_cnet.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("resnet101_cnet"));
tk::dnn::dataDim_t dim1 = dim; //input dim
+1 -1
View File
@@ -32,7 +32,7 @@ int main() {
std::cout<<"\n";
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "simple.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("simple"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -112,7 +112,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -31,7 +31,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -31,7 +31,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_512.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_512"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -29,7 +29,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_512tp.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_512tp"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -31,7 +31,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_berkeley.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_berkeley"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -24,7 +24,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_coco4.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_coco4"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -31,7 +31,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_flir.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_flir"));
// the network have 3 outputs
tk::dnn::dataDim_t out_dim[3];
+1 -1
View File
@@ -92,7 +92,7 @@ int main() {
net.print();
// convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_tiny.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_tiny"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -89,7 +89,7 @@ int main() {
net.print();
// convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_tiny512.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_tiny512"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -89,7 +89,7 @@ int main() {
net.print();
// convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo3_tiny512tp.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo3_tiny512tp"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -110,7 +110,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo_224.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo_224"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -110,7 +110,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo_berkeley.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo_berkeley"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -110,7 +110,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo_relu.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo_relu"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -62,7 +62,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo_tiny.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo_tiny"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output
+1 -1
View File
@@ -112,7 +112,7 @@ int main() {
net.print();
//convert network to tensorRT
tk::dnn::NetworkRT netRT(&net, "yolo_voc.rt");
tk::dnn::NetworkRT netRT(&net, net.getNetworkRTName("yolo_voc"));
dnnType *out_data, *out_data2; // cudnn output, tensorRT output