NetworkRT (deallocations to be done)
This commit is contained in:
+32
-13
@@ -21,33 +21,52 @@ int main() {
|
||||
tkDNN::Activation l5(&net, CUDNN_ACTIVATION_RELU);
|
||||
tkDNN::Dense l6(&net, 10, d3_bin);
|
||||
tkDNN::Softmax l7(&net);
|
||||
|
||||
|
||||
tkDNN::NetworkRT netRT(&net);
|
||||
|
||||
// Load input
|
||||
value_type *data;
|
||||
value_type *input_h;
|
||||
readBinaryFile(input_bin, dim.tot(), &input_h, &data);
|
||||
|
||||
printDeviceVector(dim.tot(), data);
|
||||
dim.print(); //print initial dimension
|
||||
|
||||
TIMER_START
|
||||
value_type *out_data, *out_data2;
|
||||
|
||||
// Inference
|
||||
data = net.infer(dim, data);
|
||||
|
||||
TIMER_STOP
|
||||
dim.print();
|
||||
std::cout<<"CUDNN inference:\n"; {
|
||||
dim.print(); //print initial dimension
|
||||
TIMER_START
|
||||
out_data = net.infer(dim, data);
|
||||
TIMER_STOP
|
||||
dim.print();
|
||||
}
|
||||
|
||||
// Print result
|
||||
std::cout<<"\n======= RESULT =======\n";
|
||||
printDeviceVector(dim.tot(), data);
|
||||
//std::cout<<"\n======= CUDNN RESULT =======\n";
|
||||
//printDeviceVector(10, out_data);
|
||||
|
||||
tkDNN::dataDim_t dim2(1, 1, 28, 28, 1);
|
||||
|
||||
std::cout<<"TENSORRT inference:\n"; {
|
||||
dim2.print();
|
||||
TIMER_START
|
||||
out_data2 = netRT.infer(dim2, data);
|
||||
TIMER_STOP
|
||||
dim2.print();
|
||||
}
|
||||
|
||||
// Print result
|
||||
//std::cout<<"\n======= TENRT RESULT =======\n";
|
||||
//printDeviceVector(10, out_data);
|
||||
|
||||
std::cout<<"\n======= CHECK RESULT =======\n";
|
||||
std::cout<<"Diffs: "<<checkResult(dim.tot(), out_data, out_data2)<<"\n";
|
||||
|
||||
/*
|
||||
// Print real test
|
||||
std::cout<<"\n==== CHECK RESULT ====\n";
|
||||
value_type *out;
|
||||
value_type *out_h;
|
||||
readBinaryFile(output_bin, dim.tot(), &out_h, &out);
|
||||
printDeviceVector(dim.tot(), out);
|
||||
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
+23
-15
@@ -104,22 +104,30 @@ int main() {
|
||||
value_type *input_h;
|
||||
readBinaryFile(input_bin, dim.tot(), &input_h, &data);
|
||||
|
||||
dim.print(); //print initial dimension
|
||||
|
||||
TIMER_START
|
||||
tkDNN::NetworkRT netRT(&net);
|
||||
|
||||
// Inference
|
||||
data = net.infer(dim, data);
|
||||
|
||||
TIMER_STOP
|
||||
dim.print();
|
||||
value_type *out_data, *out_data2;
|
||||
|
||||
std::cout<<"CUDNN inference:\n"; {
|
||||
dim.print(); //print initial dimension
|
||||
TIMER_START
|
||||
out_data = net.infer(dim, data);
|
||||
TIMER_STOP
|
||||
dim.print();
|
||||
}
|
||||
|
||||
// Print real test
|
||||
std::cout<<"\n==== CHECK RESULT ====\n";
|
||||
value_type *out;
|
||||
value_type *out_h;
|
||||
readBinaryFile(output_bin, dim.tot(), &out_h, &out);
|
||||
int diff = checkResult(dim.tot(), data, out);
|
||||
printf("Output diffs: %d\n", diff);
|
||||
tkDNN::dataDim_t dim2(1, 3, 608, 608, 1);
|
||||
|
||||
std::cout<<"TENSORRT inference:\n"; {
|
||||
dim2.print();
|
||||
TIMER_START
|
||||
out_data2 = netRT.infer(dim2, data);
|
||||
TIMER_STOP
|
||||
dim2.print();
|
||||
}
|
||||
|
||||
std::cout<<"\n======= CHECK RESULT =======\n";
|
||||
std::cout<<"Diffs: "<<checkResult(dim.tot(), out_data, out_data2)<<"\n";
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user