merge tree

This commit is contained in:
Francesco Gatti
2020-05-01 15:39:00 +02:00
49 changed files with 1002 additions and 961 deletions
+10 -5
View File
@@ -29,7 +29,7 @@ This branch works on every NVIDIA GPU that supports the dependencies:
* CUDA 10.0
* CUDNN 7.603
* TENSORRT 6.01
* OPENCV 4.1
* OPENCV 3.4
* yaml-cpp 0.5.2 (sudo apt install libyaml-cpp-dev)
## About OpenCV
@@ -60,10 +60,9 @@ Steps needed to do inference on tkDNN with a custom neural network.
## How to export weights
Weights are essential for any network to run inference. For each test a folder organized as follow is needed:
Weights are essential for any network to run inference. For each test a folder organized as follow is needed (in the build folder):
```
test_nn
|---- test_nn.cpp (nn definition in tkDNN)
|---- layers/ (folder containing a binary file for each layer with the corresponding wieghts and bias)
|---- debug/ (folder containing a binary file for each layer with the corresponding outputs)
```
@@ -119,14 +118,15 @@ rm yolo3_FP32.rt # be sure to delete(or move) old tensorRT files
./test_yolo3 # run the yolo test (is slow)
./demo yolo3_FP32.rt ../demo/yolo_test.mp4 y
```
In general the demo program takes 3 parameters:
In general the demo program takes 4 parameters:
```
./demo <network-rt-file> <path-to-video> <kind-of-network>
./demo <network-rt-file> <path-to-video> <kind-of-network> <number-of-classes>
```
where
* ```<network-rt-file>``` is the rt file generated by a test
* ```<<path-to-video>``` is the path to a video file or a camera input
* ```<kind-of-network>``` is the type of network. Thee types are currently supported: ```y``` (YOLO family), ```c``` (CenterNet family) and ```m``` (MobileNet-SSD family)
* ```<number-of-classes>```is the number of classes the network is trained on
N.b. By default it is used FP32 inference
![demo](https://user-images.githubusercontent.com/11562617/72547657-540e7800-388d-11ea-83c6-49dfea2a0607.gif)
@@ -163,6 +163,11 @@ N.b. The test will be slower: this is due to the INT8 calibration, which may tak
N.b. INT8 calibration requires TensorRT version greater than or equal to 6.0
### BatchSize bigger than 1
```
export TKDNN_BATCHSIZE=2
```
## mAP demo
To compute mAP, precision, recall and f1score, run the map_demo.
+1
View File
@@ -62,6 +62,7 @@ public:
dataDim_t getOutputDim();
bool fp16, dla, int8;
int maxBatchSize;
bool dontLoadWeights;
std::string fileImgList;
std::string fileLabelList;
+16 -1
View File
@@ -63,6 +63,7 @@ public:
const static int MAX_BUFFERS_RT = 10;
void* buffersRT[MAX_BUFFERS_RT];
dataDim_t buffersDIM[MAX_BUFFERS_RT];
int buf_input_idx, buf_output_idx;
dataDim_t input_dim, output_dim;
@@ -74,11 +75,25 @@ public:
NetworkRT(Network *net, const char *name);
virtual ~NetworkRT();
int getMaxBatchSize() {
if(engineRT != nullptr)
return engineRT->getMaxBatchSize();
else
return 0;
}
int getBuffersN() {
if(engineRT != nullptr)
return engineRT->getNbBindings();
else
return 0;
}
/**
Do inferece
*/
dnnType* infer(dataDim_t &dim, dnnType* data);
void enqueue();
void enqueue(int batchSize = 1);
nvinfer1::ILayer* convert_layer(nvinfer1::ITensor *input, Layer *l);
nvinfer1::ILayer* convert_layer(nvinfer1::ITensor *input, Conv2d *l);
+1 -1
View File
@@ -41,7 +41,7 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle,
const int stride_h, const int stride_w,
const int pad_h, const int pad_w,
const int dilation_h, const int dilation_w,
const int deformable_group,
const int deformable_group, const int batch_id,
const int in_n, const int in_c, const int in_h, const int in_w,
const int out_n, const int out_c, const int out_h, const int out_w,
const int dst_dim, cudaStream_t stream = cudaStream_t(0));
+1 -1
View File
@@ -42,7 +42,7 @@ public:
virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override {
activationLEAKYForward((dnnType*)reinterpret_cast<const dnnType*>(inputs[0]),
reinterpret_cast<dnnType*>(outputs[0]), size, stream);
reinterpret_cast<dnnType*>(outputs[0]), batchSize*size, stream);
return 0;
}
@@ -41,7 +41,7 @@ public:
virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override {
activationReLUCeilingForward((dnnType*)reinterpret_cast<const dnnType*>(inputs[0]),
reinterpret_cast<dnnType*>(outputs[0]), size, ceiling, stream);
reinterpret_cast<dnnType*>(outputs[0]), batchSize*size, ceiling, stream);
return 0;
}
@@ -42,7 +42,7 @@ public:
virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override {
activationSIGMOIDForward((dnnType*)reinterpret_cast<const dnnType*>(inputs[0]),
reinterpret_cast<dnnType*>(outputs[0]), size, stream);
reinterpret_cast<dnnType*>(outputs[0]), batchSize*size, stream);
return 0;
}
+25 -20
View File
@@ -86,26 +86,26 @@ public:
dnnType *output_conv = (dnnType*)reinterpret_cast<const dnnType*>(inputs[1]);
// split conv2d outputs into offset to mask
checkCuda(cudaMemcpy(offset, output_conv, 2*chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice));
checkCuda(cudaMemcpy(mask, output_conv + 2*chunk_dim, chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice));
// kernel sigmoide
activationSIGMOIDForward(mask, mask, chunk_dim);
// deformable convolution
dcnV2CudaForward(stat, handle,
srcData, data_d,
bias2_d, ones_d1,
offset, mask,
reinterpret_cast<dnnType*>(outputs[0]), ones_d2,
kh, kw,
sh, sw,
ph, pw,
1, 1,
deformableGroup,
i_n, i_c, i_h, i_w,
o_n, o_c, o_h, o_w,
chunk_dim);
for(int b=0; b<batchSize; b++) {
checkCuda(cudaMemcpy(offset, output_conv + b * 3 * chunk_dim, 2*chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice));
checkCuda(cudaMemcpy(mask, output_conv + b * 3 * chunk_dim + 2*chunk_dim, chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice));
// kernel sigmoide
activationSIGMOIDForward(mask, mask, chunk_dim);
// deformable convolution
dcnV2CudaForward(stat, handle,
srcData, data_d,
bias2_d, ones_d1,
offset, mask,
reinterpret_cast<dnnType*>(outputs[0]), ones_d2,
kh, kw,
sh, sw,
ph, pw,
1, 1,
deformableGroup, b,
i_n, i_c, i_h, i_w,
o_n, o_c, o_h, o_w,
chunk_dim);
}
return 0;
}
@@ -185,6 +185,11 @@ public:
dnnType * offset;
dnnType * mask;
dnnType *ones_d2;
// dnnType *input_n;
// dnnType *offset_n;
// dnnType *mask_n;
// dnnType *output_n;
tk::dnn::DeformConv2d *defRT;
};
+9 -5
View File
@@ -47,11 +47,15 @@ public:
virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override {
dnnType *srcData = (dnnType*)reinterpret_cast<const dnnType*>(inputs[0]);
dnnType *dstData = reinterpret_cast<dnnType*>(outputs[0]);
checkCuda( cudaMemcpy(dstData, srcData, rows*cols*sizeof(dnnType), cudaMemcpyDeviceToDevice));
float const alpha(1.0);
float const beta(0.0);
checkERROR( cublasSgeam( handle, CUBLAS_OP_T, CUBLAS_OP_N, rows, cols, &alpha, srcData, cols, &beta, srcData, rows, dstData, rows ));
checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*rows*cols*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
checkERROR( cublasSetStream(handle, stream) );
for(int i=0; i<batchSize; i++) {
float const alpha(1.0);
float const beta(0.0);
int offset = i*rows*cols;
checkERROR( cublasSgeam( handle, CUBLAS_OP_T, CUBLAS_OP_N, rows, cols, &alpha, srcData + offset, cols, &beta, srcData + offset, rows, dstData + offset, rows ));
}
return 0;
}
@@ -42,10 +42,10 @@ public:
virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override {
std::cout<<this->n<<" "<<this->c<<" "<<this->h<<" "<<this->w<<" "<<this->stride_H<<" "<<this->stride_W<<" "<<this->winSize<<" "<<this->padding<<std::endl;
//std::cout<<this->n<<" "<<this->c<<" "<<this->h<<" "<<this->w<<" "<<this->stride_H<<" "<<this->stride_W<<" "<<this->winSize<<" "<<this->padding<<std::endl;
dnnType *srcData = (dnnType*)reinterpret_cast<const dnnType*>(inputs[0]);
dnnType *dstData = reinterpret_cast<dnnType*>(outputs[0]);
MaxPoolingForward(srcData, dstData, this->n, this->c, this->h, this->w, this->stride_H, this->stride_W, this->winSize, this->padding);
MaxPoolingForward(srcData, dstData, batchSize, this->c, this->h, this->w, this->stride_H, this->stride_W, this->winSize, this->padding, stream);
return 0;
}
+6 -6
View File
@@ -50,18 +50,18 @@ public:
for (int b = 0; b < batchSize; ++b){
for(int n = 0; n < num; ++n){
int index = entry_index(b, n*w*h, 0, batchSize);
int index = entry_index(b, n*w*h, 0);
activationLOGISTICForward(srcData + index, dstData + index, 2*w*h, stream);
index = entry_index(b, n*w*h, coords, batchSize);
index = entry_index(b, n*w*h, coords);
activationLOGISTICForward(srcData + index, dstData + index, w*h, stream);
}
}
//softmax start
int index = entry_index(0, 0, coords + 1, batchSize);
int index = entry_index(0, 0, coords + 1);
softmaxForward( srcData + index, classes, batchSize*num,
(batchSize*c*h*w)/num,
(c*h*w)/num,
w*h, 1, w*h, 1, dstData + index, stream);
return 0;
@@ -85,10 +85,10 @@ public:
int c, h, w;
int classes, coords, num;
int entry_index(int batch, int location, int entry, int batchSize) {
int entry_index(int batch, int location, int entry) {
int n = location / (w*h);
int loc = location % (w*h);
return batch*c*h*w*batchSize + n*w*h*(coords+classes+1) + entry*w*h + loc;
return batch*c*h*w + n*w*h*(coords+classes+1) + entry*w*h + loc;
}
};
+1 -1
View File
@@ -40,7 +40,7 @@ public:
dnnType *srcData = (dnnType*)reinterpret_cast<const dnnType*>(inputs[0]);
dnnType *dstData = reinterpret_cast<dnnType*>(outputs[0]);
checkCuda( cudaMemcpy(dstData, srcData, c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice));
checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
return 0;
}
+4
View File
@@ -3,6 +3,10 @@
class RouteRT : public IPlugin {
/**
THIS IS NOT USED ANYMORE
*/
public:
RouteRT() {
}
+2 -1
View File
@@ -47,7 +47,8 @@ public:
dnnType *dstData = reinterpret_cast<dnnType*>(outputs[0]);
checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
shortcutForward(srcDataBack, dstData, batchSize, c, h, w, 1, batchSize, bc, bh, bw, 1, stream);
for(int b=0; b < batchSize; ++b)
shortcutForward(srcDataBack + b*bc*bh*bw, dstData + b*c*h*w, 1, c, h, w, 1, 1, bc, bh, bw, 1, stream);
return 0;
}
+4 -4
View File
@@ -62,10 +62,10 @@ public:
for (int b = 0; b < batchSize; ++b){
for(int n = 0; n < n_masks; ++n){
int index = entry_index(b, n*w*h, 0, batchSize);
int index = entry_index(b, n*w*h, 0);
activationLOGISTICForward(srcData + index, dstData + index, 2*w*h, stream);
index = entry_index(b, n*w*h, 4, batchSize);
index = entry_index(b, n*w*h, 4);
activationLOGISTICForward(srcData + index, dstData + index, (1+classes)*w*h, stream);
}
}
@@ -109,10 +109,10 @@ public:
dnnType *mask;
dnnType *bias;
int entry_index(int batch, int location, int entry, int batchSize) {
int entry_index(int batch, int location, int entry) {
int n = location / (w*h);
int loc = location % (w*h);
return batch*c*h*w*batchSize + n*w*h*(4+classes+1) + entry*w*h + loc;
return batch*c*h*w + n*w*h*(4+classes+1) + entry*w*h + loc;
}
};
+28 -65
View File
@@ -32,6 +32,14 @@ function print_output {
out_file=results.log
rm $out_file
function test_net {
./test_$1 &>> $out_file
print_output $? $1
./test_rtinference $1*.rt $TKDNN_BATCHSIZE &>> $out_file
print_output $? "batched $1"
}
modes=( 1 ) # only FP32
# modes=( 1 2 ) # FP32 and FP16
# modes=( 1 2 3 ) # FP32, FP16 and INT8
@@ -57,73 +65,28 @@ do
echo -e "${ORANGE}Test INT8${NC}"
fi
export TKDNN_BATCHSIZE=2
echo -e "${ORANGE}Batch $TKDNN_BATCHSIZE ${NC}"
./test_imuodom &>> $out_file
res_imuodom=$?
print_output $res_imuodom test_imuodom
print_output $? imuodom
./test_resnet101_cnet &>> $out_file
res_resnet101_cnet=$?
print_output $res_resnet101_cnet test_resnet101_cnet
./test_yolo3 &>> $out_file
res_yolo3=$?
print_output $res_yolo3 test_yolo3
./test_yolo3_flir &>> $out_file
res_yolo3_flir=$?
print_output $res_yolo3_flir test_yolo3_flir
./test_yolo3_512 &>> $out_file
res_yolo3_512=$?
print_output $res_yolo3_512 test_yolo3_512
./test_yolo3_tiny &>> $out_file
res_yolo3_tiny=$?
print_output $res_yolo3_tiny test_yolo3_tiny
./test_csresnext50-panet-spp &>> $out_file
res_csresnext50panetspp=$?
print_output $res_csresnext50panetspp "test_csresnext50-panet-spp"
./test_mobilenetv2ssd &>> $out_file
res_mobilenetv2ssd=$?
print_output $res_mobilenetv2ssd test_mobilenetv2ssd
./test_yolo3_tiny512 &>> $out_file
res_yolo3_tiny512=$?
print_output $res_yolo3_tiny512 test_yolo3_tiny512
./test_yolo_tiny &>> $out_file
res_yolo_tiny=$?
print_output $res_yolo_tiny test_yolo_tiny
./test_mobilenetv2ssd512 &>> $out_file
res_mobilenetv2ssd512=$?
print_output $res_mobilenetv2ssd512 test_mobilenetv2ssd512
./test_mnist &>> $out_file
res_mnist=$?
print_output $res_mnist test_mnist
./test_yolo &>> $out_file
res_yolo=$?
print_output $res_yolo test_yolo
./test_yolo3_berkeley &>> $out_file
res_yolo3_berkeley=$?
print_output $res_yolo3_berkeley test_yolo3_berkeley
./test_yolo_voc &>> $out_file
res_yolo_voc=$?
print_output $res_yolo_voc test_yolo_voc
./test_dla34_cnet &>> $out_file
res_dla34_cnet=$?
print_output $res_dla34_cnet test_dla34_cnet
./test_yolo3_coco4 &>> $out_file
res_yolo3_coco4=$?
print_output $res_yolo3_coco4 test_yolo3_coco4
test_net resnet101_cnet
test_net yolo3
test_net yolo3_flir
test_net yolo3_512
test_net yolo3_tiny
test_net csresnext50-panet-spp
test_net mobilenetv2ssd
test_net yolo3_tiny512
test_net yolo_tiny
test_net mobilenetv2ssd512
test_net mnist
test_net yolo
test_net yolo3_berkeley
test_net yolo_voc
test_net dla34_cnet
test_net yolo3_coco4
done
+2 -2
View File
@@ -102,13 +102,13 @@ dnnType* DeformConv2d::infer(dataDim_t &dim, dnnType* srcData) {
dcnV2CudaForward(stat, handle,
srcData, this->data_d,
this->bias2_d, ones_d1,
offset, mask,
offset, mask,
dstData, ones_d2,
this->kernelH, this->kernelW,
this->strideH, this->strideW,
this->paddingH, this->paddingW,
1, 1,
this->deformableGroup,
this->deformableGroup, 0, //batch_id for cudnn is set to 0 (no batch)
preconv->input_dim.n, preconv->input_dim.c, preconv->input_dim.h, preconv->input_dim.w,
this->output_dim.n, this->output_dim.c, this->output_dim.h, this->output_dim.w,
chunk_dim);
+4
View File
@@ -34,6 +34,10 @@ Network::Network(dataDim_t input_dim) {
int8 = true;
}
}
maxBatchSize = 1;
if(const char* env_p = std::getenv("TKDNN_BATCHSIZE")) {
maxBatchSize = atoi(env_p);
}
if(const char* env_p = std::getenv("TKDNN_CALIB_IMG_PATH"))
fileImgList = env_p;
+24 -16
View File
@@ -58,7 +58,7 @@ NetworkRT::NetworkRT(Network *net, const char *name) {
dataDim_t dim = net->layers[0]->input_dim;
dtRT = DataType::kFLOAT;
builderRT->setMaxBatchSize(1);
builderRT->setMaxBatchSize(net->maxBatchSize);
builderRT->setMaxWorkspaceSize(1 << 30);
if(net->fp16 && builderRT->platformHasFastFp16()) {
@@ -90,8 +90,8 @@ NetworkRT::NetworkRT(Network *net, const char *name) {
* Each network is located in a folder with the same name as the network.
* If the folder has a different name, the calibration table is saved in build/ folder.
*/
std::string calib_table_name = "../tests/"+ net->networkName + "/" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table";
std::string calib_table_path = "../tests/"+ net->networkName;
std::string calib_table_name = net->networkName + "/" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table";
std::string calib_table_path = net->networkName;
if(!fileExist((const char *)calib_table_path.c_str()))
calib_table_name = "./" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table";
@@ -133,6 +133,7 @@ NetworkRT::NetworkRT(Network *net, const char *name) {
input->setName("out");
networkRT->markOutput(*input);
std::cout<<"Selected maxBatchSize: "<<builderRT->getMaxBatchSize()<<"\n";
std::cout<<"Building tensorRT cuda engine...\n";
#if NV_TENSORRT_MAJOR >= 6
engineRT = builderRT->buildEngineWithConfig(*networkRT, *configRT);
@@ -181,9 +182,11 @@ NetworkRT::NetworkRT(Network *net, const char *name) {
// create GPU buffers and a stream
for(int i=0; i<engineRT->getNbBindings(); i++) {
Dims dim = engineRT->getBindingDimensions(i);
checkCuda(cudaMalloc(&buffersRT[i], dim.d[0]*dim.d[1]*dim.d[2]*sizeof(dnnType)));
buffersDIM[i] = dataDim_t(1, dim.d[0], dim.d[1], dim.d[2]);
std::cout<<"RtBuffer "<<i<<" dim: "; buffersDIM[i].print();
checkCuda(cudaMalloc(&buffersRT[i], engineRT->getMaxBatchSize()*dim.d[0]*dim.d[1]*dim.d[2]*sizeof(dnnType)));
}
checkCuda(cudaMalloc(&output, output_dim.tot()*sizeof(dnnType)));
checkCuda(cudaMalloc(&output, engineRT->getMaxBatchSize()*output_dim.tot()*sizeof(dnnType)));
checkCuda(cudaStreamCreate(&stream));
}
@@ -192,19 +195,24 @@ NetworkRT::~NetworkRT() {
}
dnnType* NetworkRT::infer(dataDim_t &dim, dnnType* data) {
int batches = dim.n;
if(batches > getMaxBatchSize()) {
FatalError("input batch size too large");
}
checkCuda(cudaMemcpyAsync(buffersRT[buf_input_idx], data, input_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
contextRT->enqueue(1, buffersRT, stream, nullptr);
checkCuda(cudaMemcpyAsync(output, buffersRT[buf_output_idx], output_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
cudaStreamSynchronize(stream);
checkCuda(cudaMemcpyAsync(buffersRT[buf_input_idx], data, batches*input_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
contextRT->enqueue(batches, buffersRT, stream, nullptr);
checkCuda(cudaMemcpyAsync(output, buffersRT[buf_output_idx], batches*output_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream));
checkCuda(cudaStreamSynchronize(stream));
dim = output_dim;
dim.n = batches;
return output;
}
void NetworkRT::enqueue() {
contextRT->enqueue(1, buffersRT, stream, nullptr);
void NetworkRT::enqueue(int batchSize) {
contextRT->enqueue(batchSize, buffersRT, stream, nullptr);
}
ILayer* NetworkRT::convert_layer(ITensor *input, Layer *l) {
@@ -320,7 +328,7 @@ ILayer* NetworkRT::convert_layer(ITensor *input, Conv2d *l) {
lRT = (ILayer*) lRTconv;
Dims d = lRTconv->getOutput(0)->getDimensions();
std::cout<<"DECONV: "<<d.d[0]<<" "<<d.d[1]<<" "<<d.d[2]<<" "<<d.d[3]<<"\n";
//std::cout<<"DECONV: "<<d.d[0]<<" "<<d.d[1]<<" "<<d.d[2]<<" "<<d.d[3]<<"\n";
}
checkNULL(lRT);
@@ -527,7 +535,7 @@ ILayer* NetworkRT::convert_layer(ITensor *input, Upsample *l) {
}
ILayer* NetworkRT::convert_layer(ITensor *input, DeformConv2d *l) {
std::cout<<"convert DEFORMABLE\n";
//std::cout<<"convert DEFORMABLE\n";
ILayer *preconv = convert_layer(input, l->preconv);
checkNULL(preconv);
@@ -535,7 +543,7 @@ ILayer* NetworkRT::convert_layer(ITensor *input, DeformConv2d *l) {
inputs[0] = input;
inputs[1] = preconv->getOutput(0);
std::cout<<"New plugin DEFORMABLE\n";
//std::cout<<"New plugin DEFORMABLE\n";
IPlugin *plugin = new DeformableConvRT(l->chunk_dim, l->kernelH, l->kernelW, l->strideH, l->strideW, l->paddingH, l->paddingW,
l->deformableGroup, l->input_dim.n, l->input_dim.c, l->input_dim.h, l->input_dim.w,
l->output_dim.n, l->output_dim.c, l->output_dim.h, l->output_dim.w, l);
@@ -562,7 +570,7 @@ ILayer* NetworkRT::convert_layer(ITensor *input, DeformConv2d *l) {
Weights power{dtRT, power_b, l->outputs};
Weights shift{dtRT, mean_b, l->outputs};
Weights scale{dtRT, variance_b, l->outputs};
std::cout<<lRT->getNbOutputs()<<std::endl;
//std::cout<<lRT->getNbOutputs()<<std::endl;
IScaleLayer *lRT2 = networkRT->addScale(*lRT->getOutput(0), ScaleMode::kCHANNEL,
shift, scale, power);
@@ -622,7 +630,7 @@ IPlugin* PluginFactory::createPlugin(const char* layerName, const void* serialDa
const char * buf = reinterpret_cast<const char*>(serialData);
std::string name(layerName);
std::cout<<name<<std::endl;
//std::cout<<name<<std::endl;
if(name.find("ActivationLeaky") == 0) {
ActivationLeakyRT *a = new ActivationLeakyRT();
+7 -5
View File
@@ -241,12 +241,13 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle,
const int stride_h, const int stride_w,
const int pad_h, const int pad_w,
const int dilation_h, const int dilation_w,
const int deformable_group,
const int deformable_group, const int batch_id,
const int in_n, const int in_c, const int in_h, const int in_w,
const int out_n, const int out_c, const int out_h, const int out_w,
const int chunk_dim, cudaStream_t stream)
{
// stat and handle have be moved out to preserve 2 - 6 milliseconds every 100.
const int batch = batch_id;
const int channels = in_c;
const int height = in_h;
const int width = in_w;
@@ -265,13 +266,14 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle,
stat = cublasSgemm(handle, CUBLAS_OP_T, CUBLAS_OP_N,
n, m, k, &alpha,
ones, k, bias, k,
&beta, output, n);
&beta, output + batch * out_c * out_h * out_w, n);
if (stat != CUBLAS_STATUS_SUCCESS)
FatalError("CUBLAS initialization failed\n");
modulatedDeformableIm2colCuda(stream,
input, offset,
mask,
input + batch * channels * height * width,
offset,// + b * 2 * int((float)chunk_dim / batch),
mask,// + b * int((float)chunk_dim / batch),
1, channels, height, width,
height_out, width_out, deformable_group, columns);
// modulatedDeformableIm2colCudaGeneralVersion(stream,
@@ -290,7 +292,7 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle,
stat = cublasSgemm(handle, CUBLAS_OP_N, CUBLAS_OP_N,
n, m, k, &alpha,
columns, n, weight, k,
&beta, output, n);
&beta, output + batch * out_c * out_h * out_w, n);
if (stat != CUBLAS_STATUS_SUCCESS)
FatalError("CUBLAS initialization failed\n");
+2
View File
@@ -22,10 +22,12 @@ bool fileExist(const char *fname) {
void downloadWeightsifDoNotExist(const std::string& input_bin, const std::string& test_folder, const std::string& weights_url){
if(!fileExist(input_bin.c_str())){
std::string mkdir_cmd = "mkdir " + test_folder;
std::string wget_cmd = "wget " + weights_url + " -O " + test_folder + "/weights.zip";
std::string unzip_cmd = "unzip " + test_folder + "/weights.zip -d" + test_folder;
std::string rm_cmd = "rm " + test_folder + "/weights.zip";
int err = 0;
err = system(mkdir_cmd.c_str());
err = system(wget_cmd.c_str());
err = system(unzip_cmd.c_str());
err = system(rm_cmd.c_str());
@@ -10,7 +10,7 @@ int main()
tk::dnn::Network net(dim);
// create csresnext50-panet-spp model
std::string bin_path = "../tests/csresnext50-panet-spp";
std::string bin_path = "csresnext50-panet-spp";
int classes = 80;
tk::dnn::Yolo *yolo[3];
+40 -40
View File
@@ -1,50 +1,50 @@
#include <iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/dla34/debug/input.bin";
const char *conv1_bin = "../tests/dla34/layers/features-init_block-conv1-conv.bin";
const char *conv2_bin = "../tests/dla34/layers/features-init_block-conv2-conv.bin";
const char *conv3_bin = "../tests/dla34/layers/features-init_block-conv3-conv.bin";
const char *input_bin = "dla34/debug/input.bin";
const char *conv1_bin = "dla34/layers/features-init_block-conv1-conv.bin";
const char *conv2_bin = "dla34/layers/features-init_block-conv2-conv.bin";
const char *conv3_bin = "dla34/layers/features-init_block-conv3-conv.bin";
// s - stage, t - tree
const char *s1_t1_conv1_bin = "../tests/dla34/layers/features-stage1-tree1-body-conv1-conv.bin";
const char *s1_t1_conv2_bin = "../tests/dla34/layers/features-stage1-tree1-body-conv2-conv.bin";
const char *s1_t1_project = "../tests/dla34/layers/features-stage1-tree1-project_conv-conv.bin";
const char *s1_t2_conv1_bin = "../tests/dla34/layers/features-stage1-tree2-body-conv1-conv.bin";
const char *s1_t2_conv2_bin = "../tests/dla34/layers/features-stage1-tree2-body-conv2-conv.bin";
const char *s1_root_conv1_bin = "../tests/dla34/layers/features-stage1-root-conv-conv.bin";
const char *s2_t1_t1_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-tree1-body-conv1-conv.bin";
const char *s2_t1_t1_conv2_bin = "../tests/dla34/layers/features-stage2-tree1-tree1-body-conv2-conv.bin";
const char *s2_t1_t1_project = "../tests/dla34/layers/features-stage2-tree1-tree1-project_conv-conv.bin";
const char *s2_t1_t2_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-tree2-body-conv1-conv.bin";
const char *s2_t1_t2_conv2_bin = "../tests/dla34/layers/features-stage2-tree1-tree2-body-conv2-conv.bin";
const char *s2_t1_root_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-root-conv-conv.bin";
const char *s2_t2_t1_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-tree1-body-conv1-conv.bin";
const char *s2_t2_t1_conv2_bin = "../tests/dla34/layers/features-stage2-tree2-tree1-body-conv2-conv.bin";
const char *s2_t2_t2_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-tree2-body-conv1-conv.bin";
const char *s2_t2_t2_conv2_bin = "../tests/dla34/layers/features-stage2-tree2-tree2-body-conv2-conv.bin";
const char *s2_t2_root_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-root-conv-conv.bin";
const char *s3_t1_t1_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-tree1-body-conv1-conv.bin";
const char *s3_t1_t1_conv2_bin = "../tests/dla34/layers/features-stage3-tree1-tree1-body-conv2-conv.bin";
const char *s3_t1_t1_project = "../tests/dla34/layers/features-stage3-tree1-tree1-project_conv-conv.bin";
const char *s3_t1_t2_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-tree2-body-conv1-conv.bin";
const char *s3_t1_t2_conv2_bin = "../tests/dla34/layers/features-stage3-tree1-tree2-body-conv2-conv.bin";
const char *s3_t1_root_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-root-conv-conv.bin";
const char *s3_t2_t1_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-tree1-body-conv1-conv.bin";
const char *s3_t2_t1_conv2_bin = "../tests/dla34/layers/features-stage3-tree2-tree1-body-conv2-conv.bin";
const char *s3_t2_t2_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-tree2-body-conv1-conv.bin";
const char *s3_t2_t2_conv2_bin = "../tests/dla34/layers/features-stage3-tree2-tree2-body-conv2-conv.bin";
const char *s3_t2_root_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-root-conv-conv.bin";
const char *s4_t1_conv1_bin = "../tests/dla34/layers/features-stage4-tree1-body-conv1-conv.bin";
const char *s4_t1_conv2_bin = "../tests/dla34/layers/features-stage4-tree1-body-conv2-conv.bin";
const char *s4_t1_project = "../tests/dla34/layers/features-stage4-tree1-project_conv-conv.bin";
const char *s4_t2_conv1_bin = "../tests/dla34/layers/features-stage4-tree2-body-conv1-conv.bin";
const char *s4_t2_conv2_bin = "../tests/dla34/layers/features-stage4-tree2-body-conv2-conv.bin";
const char *s4_root_conv1_bin = "../tests/dla34/layers/features-stage4-root-conv-conv.bin";
const char *s1_t1_conv1_bin = "dla34/layers/features-stage1-tree1-body-conv1-conv.bin";
const char *s1_t1_conv2_bin = "dla34/layers/features-stage1-tree1-body-conv2-conv.bin";
const char *s1_t1_project = "dla34/layers/features-stage1-tree1-project_conv-conv.bin";
const char *s1_t2_conv1_bin = "dla34/layers/features-stage1-tree2-body-conv1-conv.bin";
const char *s1_t2_conv2_bin = "dla34/layers/features-stage1-tree2-body-conv2-conv.bin";
const char *s1_root_conv1_bin = "dla34/layers/features-stage1-root-conv-conv.bin";
const char *s2_t1_t1_conv1_bin = "dla34/layers/features-stage2-tree1-tree1-body-conv1-conv.bin";
const char *s2_t1_t1_conv2_bin = "dla34/layers/features-stage2-tree1-tree1-body-conv2-conv.bin";
const char *s2_t1_t1_project = "dla34/layers/features-stage2-tree1-tree1-project_conv-conv.bin";
const char *s2_t1_t2_conv1_bin = "dla34/layers/features-stage2-tree1-tree2-body-conv1-conv.bin";
const char *s2_t1_t2_conv2_bin = "dla34/layers/features-stage2-tree1-tree2-body-conv2-conv.bin";
const char *s2_t1_root_conv1_bin = "dla34/layers/features-stage2-tree1-root-conv-conv.bin";
const char *s2_t2_t1_conv1_bin = "dla34/layers/features-stage2-tree2-tree1-body-conv1-conv.bin";
const char *s2_t2_t1_conv2_bin = "dla34/layers/features-stage2-tree2-tree1-body-conv2-conv.bin";
const char *s2_t2_t2_conv1_bin = "dla34/layers/features-stage2-tree2-tree2-body-conv1-conv.bin";
const char *s2_t2_t2_conv2_bin = "dla34/layers/features-stage2-tree2-tree2-body-conv2-conv.bin";
const char *s2_t2_root_conv1_bin = "dla34/layers/features-stage2-tree2-root-conv-conv.bin";
const char *s3_t1_t1_conv1_bin = "dla34/layers/features-stage3-tree1-tree1-body-conv1-conv.bin";
const char *s3_t1_t1_conv2_bin = "dla34/layers/features-stage3-tree1-tree1-body-conv2-conv.bin";
const char *s3_t1_t1_project = "dla34/layers/features-stage3-tree1-tree1-project_conv-conv.bin";
const char *s3_t1_t2_conv1_bin = "dla34/layers/features-stage3-tree1-tree2-body-conv1-conv.bin";
const char *s3_t1_t2_conv2_bin = "dla34/layers/features-stage3-tree1-tree2-body-conv2-conv.bin";
const char *s3_t1_root_conv1_bin = "dla34/layers/features-stage3-tree1-root-conv-conv.bin";
const char *s3_t2_t1_conv1_bin = "dla34/layers/features-stage3-tree2-tree1-body-conv1-conv.bin";
const char *s3_t2_t1_conv2_bin = "dla34/layers/features-stage3-tree2-tree1-body-conv2-conv.bin";
const char *s3_t2_t2_conv1_bin = "dla34/layers/features-stage3-tree2-tree2-body-conv1-conv.bin";
const char *s3_t2_t2_conv2_bin = "dla34/layers/features-stage3-tree2-tree2-body-conv2-conv.bin";
const char *s3_t2_root_conv1_bin = "dla34/layers/features-stage3-tree2-root-conv-conv.bin";
const char *s4_t1_conv1_bin = "dla34/layers/features-stage4-tree1-body-conv1-conv.bin";
const char *s4_t1_conv2_bin = "dla34/layers/features-stage4-tree1-body-conv2-conv.bin";
const char *s4_t1_project = "dla34/layers/features-stage4-tree1-project_conv-conv.bin";
const char *s4_t2_conv1_bin = "dla34/layers/features-stage4-tree2-body-conv1-conv.bin";
const char *s4_t2_conv2_bin = "dla34/layers/features-stage4-tree2-body-conv2-conv.bin";
const char *s4_root_conv1_bin = "dla34/layers/features-stage4-root-conv-conv.bin";
//final
const char *fc_bin = "../tests/dla34/layers/output.bin";
const char *fc_bin = "dla34/layers/output.bin";
const char *output_bin = "../tests/dla34/debug/output.bin";
const char *output_bin = "dla34/debug/output.bin";
int main()
{
+89 -89
View File
@@ -1,109 +1,109 @@
#include <iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/dla34_cnet/debug/input.bin";
const char *conv1_bin = "../tests/dla34_cnet/layers/base-base_layer-0.bin";
const char *conv2_bin = "../tests/dla34_cnet/layers/base-level0-0.bin";
const char *conv3_bin = "../tests/dla34_cnet/layers/base-level1-0.bin";
const char *input_bin = "dla34_cnet/debug/input.bin";
const char *conv1_bin = "dla34_cnet/layers/base-base_layer-0.bin";
const char *conv2_bin = "dla34_cnet/layers/base-level0-0.bin";
const char *conv3_bin = "dla34_cnet/layers/base-level1-0.bin";
// s - stage, t - tree
const char *s1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level2-tree1-conv1.bin";
const char *s1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level2-tree1-conv2.bin";
const char *s1_t1_project = "../tests/dla34_cnet/layers/base-level2-project-0.bin";
const char *s1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level2-tree2-conv1.bin";
const char *s1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level2-tree2-conv2.bin";
const char *s1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level2-root-conv.bin";
const char *s2_t1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree1-conv1.bin";
const char *s2_t1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree1-conv2.bin";
const char *s2_t1_t1_project = "../tests/dla34_cnet/layers/base-level3-tree1-project-0.bin";
const char *s2_t1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree2-conv1.bin";
const char *s2_t1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree2-conv2.bin";
const char *s2_t1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-root-conv.bin";
const char *s2_t2_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree1-conv1.bin";
const char *s2_t2_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree1-conv2.bin";
const char *s2_t2_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree2-conv1.bin";
const char *s2_t2_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree2-conv2.bin";
const char *s2_t2_root_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-root-conv.bin";
const char *s3_t1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree1-conv1.bin";
const char *s3_t1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree1-conv2.bin";
const char *s3_t1_t1_project = "../tests/dla34_cnet/layers/base-level4-tree1-project-0.bin";
const char *s3_t1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree2-conv1.bin";
const char *s3_t1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree2-conv2.bin";
const char *s3_t1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-root-conv.bin";
const char *s3_t2_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree1-conv1.bin";
const char *s3_t2_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree1-conv2.bin";
const char *s3_t2_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree2-conv1.bin";
const char *s3_t2_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree2-conv2.bin";
const char *s3_t2_root_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-root-conv.bin";
const char *s4_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level5-tree1-conv1.bin";
const char *s4_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level5-tree1-conv2.bin";
const char *s4_t1_project = "../tests/dla34_cnet/layers/base-level5-project-0.bin";
const char *s4_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level5-tree2-conv1.bin";
const char *s4_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level5-tree2-conv2.bin";
const char *s4_root_conv1_bin = "../tests/dla34_cnet/layers/base-level5-root-conv.bin";
const char *s1_t1_conv1_bin = "dla34_cnet/layers/base-level2-tree1-conv1.bin";
const char *s1_t1_conv2_bin = "dla34_cnet/layers/base-level2-tree1-conv2.bin";
const char *s1_t1_project = "dla34_cnet/layers/base-level2-project-0.bin";
const char *s1_t2_conv1_bin = "dla34_cnet/layers/base-level2-tree2-conv1.bin";
const char *s1_t2_conv2_bin = "dla34_cnet/layers/base-level2-tree2-conv2.bin";
const char *s1_root_conv1_bin = "dla34_cnet/layers/base-level2-root-conv.bin";
const char *s2_t1_t1_conv1_bin = "dla34_cnet/layers/base-level3-tree1-tree1-conv1.bin";
const char *s2_t1_t1_conv2_bin = "dla34_cnet/layers/base-level3-tree1-tree1-conv2.bin";
const char *s2_t1_t1_project = "dla34_cnet/layers/base-level3-tree1-project-0.bin";
const char *s2_t1_t2_conv1_bin = "dla34_cnet/layers/base-level3-tree1-tree2-conv1.bin";
const char *s2_t1_t2_conv2_bin = "dla34_cnet/layers/base-level3-tree1-tree2-conv2.bin";
const char *s2_t1_root_conv1_bin = "dla34_cnet/layers/base-level3-tree1-root-conv.bin";
const char *s2_t2_t1_conv1_bin = "dla34_cnet/layers/base-level3-tree2-tree1-conv1.bin";
const char *s2_t2_t1_conv2_bin = "dla34_cnet/layers/base-level3-tree2-tree1-conv2.bin";
const char *s2_t2_t2_conv1_bin = "dla34_cnet/layers/base-level3-tree2-tree2-conv1.bin";
const char *s2_t2_t2_conv2_bin = "dla34_cnet/layers/base-level3-tree2-tree2-conv2.bin";
const char *s2_t2_root_conv1_bin = "dla34_cnet/layers/base-level3-tree2-root-conv.bin";
const char *s3_t1_t1_conv1_bin = "dla34_cnet/layers/base-level4-tree1-tree1-conv1.bin";
const char *s3_t1_t1_conv2_bin = "dla34_cnet/layers/base-level4-tree1-tree1-conv2.bin";
const char *s3_t1_t1_project = "dla34_cnet/layers/base-level4-tree1-project-0.bin";
const char *s3_t1_t2_conv1_bin = "dla34_cnet/layers/base-level4-tree1-tree2-conv1.bin";
const char *s3_t1_t2_conv2_bin = "dla34_cnet/layers/base-level4-tree1-tree2-conv2.bin";
const char *s3_t1_root_conv1_bin = "dla34_cnet/layers/base-level4-tree1-root-conv.bin";
const char *s3_t2_t1_conv1_bin = "dla34_cnet/layers/base-level4-tree2-tree1-conv1.bin";
const char *s3_t2_t1_conv2_bin = "dla34_cnet/layers/base-level4-tree2-tree1-conv2.bin";
const char *s3_t2_t2_conv1_bin = "dla34_cnet/layers/base-level4-tree2-tree2-conv1.bin";
const char *s3_t2_t2_conv2_bin = "dla34_cnet/layers/base-level4-tree2-tree2-conv2.bin";
const char *s3_t2_root_conv1_bin = "dla34_cnet/layers/base-level4-tree2-root-conv.bin";
const char *s4_t1_conv1_bin = "dla34_cnet/layers/base-level5-tree1-conv1.bin";
const char *s4_t1_conv2_bin = "dla34_cnet/layers/base-level5-tree1-conv2.bin";
const char *s4_t1_project = "dla34_cnet/layers/base-level5-project-0.bin";
const char *s4_t2_conv1_bin = "dla34_cnet/layers/base-level5-tree2-conv1.bin";
const char *s4_t2_conv2_bin = "dla34_cnet/layers/base-level5-tree2-conv2.bin";
const char *s4_root_conv1_bin = "dla34_cnet/layers/base-level5-root-conv.bin";
//final
// const char *fc_bin = "../tests/dla34_cnet/layers/output.bin";
// const char *fc_bin = "dla34_cnet/layers/output.bin";
const char *ida_0_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-proj_1-conv.bin";
const char *ida_0_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-proj_1-conv-conv_offset_mask.bin";
const char *ida_0_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-up_1.bin";
const char *ida_0_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-node_1-conv.bin";
const char *ida_0_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-node_1-conv-conv_offset_mask.bin";
const char *ida_0_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_0-proj_1-conv.bin";
const char *ida_0_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_0-proj_1-conv-conv_offset_mask.bin";
const char *ida_0_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_0-up_1.bin";
const char *ida_0_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_0-node_1-conv.bin";
const char *ida_0_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_0-node_1-conv-conv_offset_mask.bin";
const char *ida_1_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_1-conv.bin";
const char *ida_1_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_1-conv-conv_offset_mask.bin";
const char *ida_1_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-up_1.bin";
const char *ida_1_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_1-conv.bin";
const char *ida_1_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_1-conv-conv_offset_mask.bin";
const char *ida_1_p_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_2-conv.bin";
const char *ida_1_p_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_2-conv-conv_offset_mask.bin";
const char *ida_1_up_2_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-up_2.bin";
const char *ida_1_n_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_2-conv.bin";
const char *ida_1_n_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_2-conv-conv_offset_mask.bin";
const char *ida_1_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-proj_1-conv.bin";
const char *ida_1_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_1-proj_1-conv-conv_offset_mask.bin";
const char *ida_1_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_1-up_1.bin";
const char *ida_1_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-node_1-conv.bin";
const char *ida_1_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_1-node_1-conv-conv_offset_mask.bin";
const char *ida_1_p_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-proj_2-conv.bin";
const char *ida_1_p_2_conv_bin = "dla34_cnet/layers/dla_up-ida_1-proj_2-conv-conv_offset_mask.bin";
const char *ida_1_up_2_deconv_bin = "dla34_cnet/layers/dla_up-ida_1-up_2.bin";
const char *ida_1_n_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-node_2-conv.bin";
const char *ida_1_n_2_conv_bin = "dla34_cnet/layers/dla_up-ida_1-node_2-conv-conv_offset_mask.bin";
const char *ida_2_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_1-conv.bin";
const char *ida_2_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_1-conv-conv_offset_mask.bin";
const char *ida_2_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_1.bin";
const char *ida_2_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_1-conv.bin";
const char *ida_2_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_1-conv-conv_offset_mask.bin";
const char *ida_2_p_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_2-conv.bin";
const char *ida_2_p_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_2-conv-conv_offset_mask.bin";
const char *ida_2_up_2_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_2.bin";
const char *ida_2_n_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_2-conv.bin";
const char *ida_2_n_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_2-conv-conv_offset_mask.bin";
const char *ida_2_p_3_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_3-conv.bin";
const char *ida_2_p_3_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_3-conv-conv_offset_mask.bin";
const char *ida_2_up_3_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_3.bin";
const char *ida_2_n_3_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_3-conv.bin";
const char *ida_2_n_3_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_3-conv-conv_offset_mask.bin";
const char *ida_2_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_1-conv.bin";
const char *ida_2_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_1-conv-conv_offset_mask.bin";
const char *ida_2_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_1.bin";
const char *ida_2_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_1-conv.bin";
const char *ida_2_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_1-conv-conv_offset_mask.bin";
const char *ida_2_p_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_2-conv.bin";
const char *ida_2_p_2_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_2-conv-conv_offset_mask.bin";
const char *ida_2_up_2_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_2.bin";
const char *ida_2_n_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_2-conv.bin";
const char *ida_2_n_2_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_2-conv-conv_offset_mask.bin";
const char *ida_2_p_3_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_3-conv.bin";
const char *ida_2_p_3_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_3-conv-conv_offset_mask.bin";
const char *ida_2_up_3_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_3.bin";
const char *ida_2_n_3_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_3-conv.bin";
const char *ida_2_n_3_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_3-conv-conv_offset_mask.bin";
const char *ida_up_p_1_dcn_bin = "../tests/dla34_cnet/layers/ida_up-proj_1-conv.bin";
const char *ida_up_p_1_conv_bin = "../tests/dla34_cnet/layers/ida_up-proj_1-conv-conv_offset_mask.bin";
const char *ida_up_up_1_deconv_bin = "../tests/dla34_cnet/layers/ida_up-up_1.bin";
const char *ida_up_n_1_dcn_bin = "../tests/dla34_cnet/layers/ida_up-node_1-conv.bin";
const char *ida_up_n_1_conv_bin = "../tests/dla34_cnet/layers/ida_up-node_1-conv-conv_offset_mask.bin";
const char *ida_up_p_2_dcn_bin = "../tests/dla34_cnet/layers/ida_up-proj_2-conv.bin";
const char *ida_up_p_2_conv_bin = "../tests/dla34_cnet/layers/ida_up-proj_2-conv-conv_offset_mask.bin";
const char *ida_up_up_2_deconv_bin = "../tests/dla34_cnet/layers/ida_up-up_2.bin";
const char *ida_up_n_2_dcn_bin = "../tests/dla34_cnet/layers/ida_up-node_2-conv.bin";
const char *ida_up_n_2_conv_bin = "../tests/dla34_cnet/layers/ida_up-node_2-conv-conv_offset_mask.bin";
const char *ida_up_p_1_dcn_bin = "dla34_cnet/layers/ida_up-proj_1-conv.bin";
const char *ida_up_p_1_conv_bin = "dla34_cnet/layers/ida_up-proj_1-conv-conv_offset_mask.bin";
const char *ida_up_up_1_deconv_bin = "dla34_cnet/layers/ida_up-up_1.bin";
const char *ida_up_n_1_dcn_bin = "dla34_cnet/layers/ida_up-node_1-conv.bin";
const char *ida_up_n_1_conv_bin = "dla34_cnet/layers/ida_up-node_1-conv-conv_offset_mask.bin";
const char *ida_up_p_2_dcn_bin = "dla34_cnet/layers/ida_up-proj_2-conv.bin";
const char *ida_up_p_2_conv_bin = "dla34_cnet/layers/ida_up-proj_2-conv-conv_offset_mask.bin";
const char *ida_up_up_2_deconv_bin = "dla34_cnet/layers/ida_up-up_2.bin";
const char *ida_up_n_2_dcn_bin = "dla34_cnet/layers/ida_up-node_2-conv.bin";
const char *ida_up_n_2_conv_bin = "dla34_cnet/layers/ida_up-node_2-conv-conv_offset_mask.bin";
const char *hm_conv1_bin = "../tests/dla34_cnet/layers/hm-0.bin";
const char *hm_conv2_bin = "../tests/dla34_cnet/layers/hm-2.bin";
const char *wh_conv1_bin = "../tests/dla34_cnet/layers/wh-0.bin";
const char *wh_conv2_bin = "../tests/dla34_cnet/layers/wh-2.bin";
const char *reg_conv1_bin = "../tests/dla34_cnet/layers/reg-0.bin";
const char *reg_conv2_bin = "../tests/dla34_cnet/layers/reg-2.bin";
const char *hm_conv1_bin = "dla34_cnet/layers/hm-0.bin";
const char *hm_conv2_bin = "dla34_cnet/layers/hm-2.bin";
const char *wh_conv1_bin = "dla34_cnet/layers/wh-0.bin";
const char *wh_conv2_bin = "dla34_cnet/layers/wh-2.bin";
const char *reg_conv1_bin = "dla34_cnet/layers/reg-0.bin";
const char *reg_conv2_bin = "dla34_cnet/layers/reg-2.bin";
const char *output_bin[]={
"../tests/dla34_cnet/debug/hm.bin",
"../tests/dla34_cnet/debug/wh.bin",
"../tests/dla34_cnet/debug/reg.bin"};
"dla34_cnet/debug/hm.bin",
"dla34_cnet/debug/wh.bin",
"dla34_cnet/debug/reg.bin"};
int main()
{
downloadWeightsifDoNotExist(input_bin, "../tests/dla34_cnet", "https://cloud.hipert.unimore.it/s/KRZBbCQsKAtQwpZ/download");
downloadWeightsifDoNotExist(input_bin, "dla34_cnet", "https://cloud.hipert.unimore.it/s/KRZBbCQsKAtQwpZ/download");
// Network layout
tk::dnn::dataDim_t dim(1, 3, 512, 512, 1);
+17 -17
View File
@@ -1,30 +1,30 @@
#include<iostream>
#include "tkDNN/ImuOdom.h"
const char *i0_bin = "../tests/imuodom/layers/input0.bin";
const char *i1_bin = "../tests/imuodom/layers/input1.bin";
const char *i2_bin = "../tests/imuodom/layers/input2.bin";
const char *o0_bin = "../tests/imuodom/layers/output0.bin";
const char *o1_bin = "../tests/imuodom/layers/output1.bin";
const char *i0_bin = "imuodom/layers/input0.bin";
const char *i1_bin = "imuodom/layers/input1.bin";
const char *i2_bin = "imuodom/layers/input2.bin";
const char *o0_bin = "imuodom/layers/output0.bin";
const char *o1_bin = "imuodom/layers/output1.bin";
const char *c0_bin = "../tests/imuodom/layers/conv1d_7.bin";
const char *c1_bin = "../tests/imuodom/layers/conv1d_8.bin";
const char *c2_bin = "../tests/imuodom/layers/conv1d_9.bin";
const char *c3_bin = "../tests/imuodom/layers/conv1d_10.bin";
const char *c4_bin = "../tests/imuodom/layers/conv1d_11.bin";
const char *c5_bin = "../tests/imuodom/layers/conv1d_12.bin";
const char *l0_bin = "../tests/imuodom/layers/bidirectional_3.bin";
const char *l1_bin = "../tests/imuodom/layers/bidirectional_4.bin";
const char *d0_bin = "../tests/imuodom/layers/dense_3.bin";
const char *d1_bin = "../tests/imuodom/layers/dense_4.bin";
const char *c0_bin = "imuodom/layers/conv1d_7.bin";
const char *c1_bin = "imuodom/layers/conv1d_8.bin";
const char *c2_bin = "imuodom/layers/conv1d_9.bin";
const char *c3_bin = "imuodom/layers/conv1d_10.bin";
const char *c4_bin = "imuodom/layers/conv1d_11.bin";
const char *c5_bin = "imuodom/layers/conv1d_12.bin";
const char *l0_bin = "imuodom/layers/bidirectional_3.bin";
const char *l1_bin = "imuodom/layers/bidirectional_4.bin";
const char *d0_bin = "imuodom/layers/dense_3.bin";
const char *d1_bin = "imuodom/layers/dense_4.bin";
int main() {
downloadWeightsifDoNotExist(i0_bin, "../tests/imuodom", "https://cloud.hipert.unimore.it/s/ZAy34K5w2ixED6x/download");
downloadWeightsifDoNotExist(i0_bin, "imuodom", "https://cloud.hipert.unimore.it/s/ZAy34K5w2ixED6x/download");
tk::dnn::ImuOdom ImuNet;
ImuNet.init("../tests/imuodom/layers/");
ImuNet.init("imuodom/layers/");
const int N = 10000; //19513;
+7 -7
View File
@@ -1,16 +1,16 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/mnist/input.bin";
const char *c0_bin = "../tests/mnist/layers/c0.bin";
const char *c1_bin = "../tests/mnist/layers/c1.bin";
const char *d2_bin = "../tests/mnist/layers/d2.bin";
const char *d3_bin = "../tests/mnist/layers/d3.bin";
const char *output_bin = "../tests/mnist/output.bin";
const char *input_bin = "mnist/input.bin";
const char *c0_bin = "mnist/layers/c0.bin";
const char *c1_bin = "mnist/layers/c1.bin";
const char *d2_bin = "mnist/layers/d2.bin";
const char *d3_bin = "mnist/layers/d3.bin";
const char *output_bin = "mnist/output.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download");
downloadWeightsifDoNotExist(input_bin, "mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download");
// Network layout
tk::dnn::dataDim_t dim(1, 1, 28, 28, 1);
+7 -7
View File
@@ -3,12 +3,12 @@
#include "tkdnn.h"
#include "NvInfer.h"
const char *input_bin = "../tests/mnist/input.bin";
const char *c0_bin = "../tests/mnist/layers/c0.bin";
const char *c1_bin = "../tests/mnist/layers/c1.bin";
const char *d2_bin = "../tests/mnist/layers/d2.bin";
const char *d3_bin = "../tests/mnist/layers/d3.bin";
const char *output_bin = "../tests/mnist/output.bin";
const char *input_bin = "mnist/input.bin";
const char *c0_bin = "mnist/layers/c0.bin";
const char *c1_bin = "mnist/layers/c1.bin";
const char *d2_bin = "mnist/layers/d2.bin";
const char *d3_bin = "mnist/layers/d3.bin";
const char *output_bin = "mnist/output.bin";
using namespace nvinfer1;
@@ -25,7 +25,7 @@ class Logger : public ILogger
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download");
downloadWeightsifDoNotExist(input_bin, "mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download");
std::cout<<"\n==== CUDNN ====\n";
// Network layout
+90 -90
View File
@@ -2,139 +2,139 @@
#include "tkdnn.h"
const char *output_bin1 = "../tests/mobilenetv2ssd/debug/classification_headers-5.bin";
const char *output_bin2 = "../tests/mobilenetv2ssd/debug/regression_headers-5.bin";
const char *input_bin = "../tests/mobilenetv2ssd/debug/input.bin";
const char *output_bin1 = "mobilenetv2ssd/debug/classification_headers-5.bin";
const char *output_bin2 = "mobilenetv2ssd/debug/regression_headers-5.bin";
const char *input_bin = "mobilenetv2ssd/debug/input.bin";
const char *conv0_bin = "../tests/mobilenetv2ssd/layers/base_net-0-0.bin";
const char *conv0_bin = "mobilenetv2ssd/layers/base_net-0-0.bin";
const char *inverted_residual1[] = {
"../tests/mobilenetv2ssd/layers/base_net-1-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-1-conv-3.bin"};
"mobilenetv2ssd/layers/base_net-1-conv-0.bin",
"mobilenetv2ssd/layers/base_net-1-conv-3.bin"};
const char *inverted_residual2[] = {
"../tests/mobilenetv2ssd/layers/base_net-2-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-2-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-2-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-2-conv-0.bin",
"mobilenetv2ssd/layers/base_net-2-conv-3.bin",
"mobilenetv2ssd/layers/base_net-2-conv-6.bin"};
const char *inverted_residual3[] = {
"../tests/mobilenetv2ssd/layers/base_net-3-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-3-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-3-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-3-conv-0.bin",
"mobilenetv2ssd/layers/base_net-3-conv-3.bin",
"mobilenetv2ssd/layers/base_net-3-conv-6.bin"};
const char *inverted_residual4[] = {
"../tests/mobilenetv2ssd/layers/base_net-4-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-4-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-4-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-4-conv-0.bin",
"mobilenetv2ssd/layers/base_net-4-conv-3.bin",
"mobilenetv2ssd/layers/base_net-4-conv-6.bin"};
const char *inverted_residual5[] = {
"../tests/mobilenetv2ssd/layers/base_net-5-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-5-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-5-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-5-conv-0.bin",
"mobilenetv2ssd/layers/base_net-5-conv-3.bin",
"mobilenetv2ssd/layers/base_net-5-conv-6.bin"};
const char *inverted_residual6[] = {
"../tests/mobilenetv2ssd/layers/base_net-6-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-6-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-6-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-6-conv-0.bin",
"mobilenetv2ssd/layers/base_net-6-conv-3.bin",
"mobilenetv2ssd/layers/base_net-6-conv-6.bin"};
const char *inverted_residual7[] = {
"../tests/mobilenetv2ssd/layers/base_net-7-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-7-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-7-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-7-conv-0.bin",
"mobilenetv2ssd/layers/base_net-7-conv-3.bin",
"mobilenetv2ssd/layers/base_net-7-conv-6.bin"};
const char *inverted_residual8[] = {
"../tests/mobilenetv2ssd/layers/base_net-8-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-8-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-8-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-8-conv-0.bin",
"mobilenetv2ssd/layers/base_net-8-conv-3.bin",
"mobilenetv2ssd/layers/base_net-8-conv-6.bin"};
const char *inverted_residual9[] = {
"../tests/mobilenetv2ssd/layers/base_net-9-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-9-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-9-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-9-conv-0.bin",
"mobilenetv2ssd/layers/base_net-9-conv-3.bin",
"mobilenetv2ssd/layers/base_net-9-conv-6.bin"};
const char *inverted_residual10[] = {
"../tests/mobilenetv2ssd/layers/base_net-10-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-10-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-10-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-10-conv-0.bin",
"mobilenetv2ssd/layers/base_net-10-conv-3.bin",
"mobilenetv2ssd/layers/base_net-10-conv-6.bin"};
const char *inverted_residual11[] = {
"../tests/mobilenetv2ssd/layers/base_net-11-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-11-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-11-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-11-conv-0.bin",
"mobilenetv2ssd/layers/base_net-11-conv-3.bin",
"mobilenetv2ssd/layers/base_net-11-conv-6.bin"};
const char *inverted_residual12[] = {
"../tests/mobilenetv2ssd/layers/base_net-12-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-12-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-12-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-12-conv-0.bin",
"mobilenetv2ssd/layers/base_net-12-conv-3.bin",
"mobilenetv2ssd/layers/base_net-12-conv-6.bin"};
const char *inverted_residual13[] = {
"../tests/mobilenetv2ssd/layers/base_net-13-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-13-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-13-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-13-conv-0.bin",
"mobilenetv2ssd/layers/base_net-13-conv-3.bin",
"mobilenetv2ssd/layers/base_net-13-conv-6.bin"};
const char *inverted_residual14[] = {
"../tests/mobilenetv2ssd/layers/base_net-14-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-14-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-14-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-14-conv-0.bin",
"mobilenetv2ssd/layers/base_net-14-conv-3.bin",
"mobilenetv2ssd/layers/base_net-14-conv-6.bin"};
const char *inverted_residual15[] = {
"../tests/mobilenetv2ssd/layers/base_net-15-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-15-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-15-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-15-conv-0.bin",
"mobilenetv2ssd/layers/base_net-15-conv-3.bin",
"mobilenetv2ssd/layers/base_net-15-conv-6.bin"};
const char *inverted_residual16[] = {
"../tests/mobilenetv2ssd/layers/base_net-16-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-16-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-16-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-16-conv-0.bin",
"mobilenetv2ssd/layers/base_net-16-conv-3.bin",
"mobilenetv2ssd/layers/base_net-16-conv-6.bin"};
const char *inverted_residual17[] = {
"../tests/mobilenetv2ssd/layers/base_net-17-conv-0.bin",
"../tests/mobilenetv2ssd/layers/base_net-17-conv-3.bin",
"../tests/mobilenetv2ssd/layers/base_net-17-conv-6.bin"};
"mobilenetv2ssd/layers/base_net-17-conv-0.bin",
"mobilenetv2ssd/layers/base_net-17-conv-3.bin",
"mobilenetv2ssd/layers/base_net-17-conv-6.bin"};
const char *conv18 = "../tests/mobilenetv2ssd/layers/base_net-18-0.bin";
const char *conv18 = "mobilenetv2ssd/layers/base_net-18-0.bin";
const char *extras0[] = {
"../tests/mobilenetv2ssd/layers/extras-0-conv-0.bin",
"../tests/mobilenetv2ssd/layers/extras-0-conv-3.bin",
"../tests/mobilenetv2ssd/layers/extras-0-conv-6.bin"};
"mobilenetv2ssd/layers/extras-0-conv-0.bin",
"mobilenetv2ssd/layers/extras-0-conv-3.bin",
"mobilenetv2ssd/layers/extras-0-conv-6.bin"};
const char *extras1[] = {
"../tests/mobilenetv2ssd/layers/extras-1-conv-0.bin",
"../tests/mobilenetv2ssd/layers/extras-1-conv-3.bin",
"../tests/mobilenetv2ssd/layers/extras-1-conv-6.bin"};
"mobilenetv2ssd/layers/extras-1-conv-0.bin",
"mobilenetv2ssd/layers/extras-1-conv-3.bin",
"mobilenetv2ssd/layers/extras-1-conv-6.bin"};
const char *extras2[] = {
"../tests/mobilenetv2ssd/layers/extras-2-conv-0.bin",
"../tests/mobilenetv2ssd/layers/extras-2-conv-3.bin",
"../tests/mobilenetv2ssd/layers/extras-2-conv-6.bin"};
"mobilenetv2ssd/layers/extras-2-conv-0.bin",
"mobilenetv2ssd/layers/extras-2-conv-3.bin",
"mobilenetv2ssd/layers/extras-2-conv-6.bin"};
const char *extras3[] = {
"../tests/mobilenetv2ssd/layers/extras-3-conv-0.bin",
"../tests/mobilenetv2ssd/layers/extras-3-conv-3.bin",
"../tests/mobilenetv2ssd/layers/extras-3-conv-6.bin"};
"mobilenetv2ssd/layers/extras-3-conv-0.bin",
"mobilenetv2ssd/layers/extras-3-conv-3.bin",
"mobilenetv2ssd/layers/extras-3-conv-6.bin"};
const char *classification_header0[] = {
"../tests/mobilenetv2ssd/layers/classification_headers-0-0.bin",
"../tests/mobilenetv2ssd/layers/classification_headers-0-3.bin"};
"mobilenetv2ssd/layers/classification_headers-0-0.bin",
"mobilenetv2ssd/layers/classification_headers-0-3.bin"};
const char *classification_header1[] = {
"../tests/mobilenetv2ssd/layers/classification_headers-1-0.bin",
"../tests/mobilenetv2ssd/layers/classification_headers-1-3.bin"};
"mobilenetv2ssd/layers/classification_headers-1-0.bin",
"mobilenetv2ssd/layers/classification_headers-1-3.bin"};
const char *classification_header2[] = {
"../tests/mobilenetv2ssd/layers/classification_headers-2-0.bin",
"../tests/mobilenetv2ssd/layers/classification_headers-2-3.bin"};
"mobilenetv2ssd/layers/classification_headers-2-0.bin",
"mobilenetv2ssd/layers/classification_headers-2-3.bin"};
const char *classification_header3[] = {
"../tests/mobilenetv2ssd/layers/classification_headers-3-0.bin",
"../tests/mobilenetv2ssd/layers/classification_headers-3-3.bin"};
"mobilenetv2ssd/layers/classification_headers-3-0.bin",
"mobilenetv2ssd/layers/classification_headers-3-3.bin"};
const char *classification_header4[] = {
"../tests/mobilenetv2ssd/layers/classification_headers-4-0.bin",
"../tests/mobilenetv2ssd/layers/classification_headers-4-3.bin"};
"mobilenetv2ssd/layers/classification_headers-4-0.bin",
"mobilenetv2ssd/layers/classification_headers-4-3.bin"};
const char *classification_header5 = "../tests/mobilenetv2ssd/layers/classification_headers-5.bin";
const char *classification_header5 = "mobilenetv2ssd/layers/classification_headers-5.bin";
const char *regression_header0[] = {
"../tests/mobilenetv2ssd/layers/regression_headers-0-0.bin",
"../tests/mobilenetv2ssd/layers/regression_headers-0-3.bin"};
"mobilenetv2ssd/layers/regression_headers-0-0.bin",
"mobilenetv2ssd/layers/regression_headers-0-3.bin"};
const char *regression_header1[] = {
"../tests/mobilenetv2ssd/layers/regression_headers-1-0.bin",
"../tests/mobilenetv2ssd/layers/regression_headers-1-3.bin"};
"mobilenetv2ssd/layers/regression_headers-1-0.bin",
"mobilenetv2ssd/layers/regression_headers-1-3.bin"};
const char *regression_header2[] = {
"../tests/mobilenetv2ssd/layers/regression_headers-2-0.bin",
"../tests/mobilenetv2ssd/layers/regression_headers-2-3.bin"};
"mobilenetv2ssd/layers/regression_headers-2-0.bin",
"mobilenetv2ssd/layers/regression_headers-2-3.bin"};
const char *regression_header3[] = {
"../tests/mobilenetv2ssd/layers/regression_headers-3-0.bin",
"../tests/mobilenetv2ssd/layers/regression_headers-3-3.bin"};
"mobilenetv2ssd/layers/regression_headers-3-0.bin",
"mobilenetv2ssd/layers/regression_headers-3-3.bin"};
const char *regression_header4[] = {
"../tests/mobilenetv2ssd/layers/regression_headers-4-0.bin",
"../tests/mobilenetv2ssd/layers/regression_headers-4-3.bin"};
"mobilenetv2ssd/layers/regression_headers-4-0.bin",
"mobilenetv2ssd/layers/regression_headers-4-3.bin"};
const char *regression_header5 = "../tests/mobilenetv2ssd/layers/regression_headers-5.bin";
const char *regression_header5 = "mobilenetv2ssd/layers/regression_headers-5.bin";
int main()
{
downloadWeightsifDoNotExist(input_bin, "../tests/mobilenetv2ssd", "https://cloud.hipert.unimore.it/s/x4ZfxBKN23zAJQp/download");
downloadWeightsifDoNotExist(input_bin, "mobilenetv2ssd", "https://cloud.hipert.unimore.it/s/x4ZfxBKN23zAJQp/download");
int classes = 21;
+90 -90
View File
@@ -2,139 +2,139 @@
#include "tkdnn.h"
const char *output_bin1 = "../tests/mobilenetv2ssd512/debug/classification_headers-5.bin";
const char *output_bin2 = "../tests/mobilenetv2ssd512/debug/regression_headers-5.bin";
const char *input_bin = "../tests/mobilenetv2ssd512/debug/input.bin";
const char *output_bin1 = "mobilenetv2ssd512/debug/classification_headers-5.bin";
const char *output_bin2 = "mobilenetv2ssd512/debug/regression_headers-5.bin";
const char *input_bin = "mobilenetv2ssd512/debug/input.bin";
const char *conv0_bin = "../tests/mobilenetv2ssd512/layers/base_net-0-0.bin";
const char *conv0_bin = "mobilenetv2ssd512/layers/base_net-0-0.bin";
const char *inverted_residual1[] = {
"../tests/mobilenetv2ssd512/layers/base_net-1-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-1-conv-3.bin"};
"mobilenetv2ssd512/layers/base_net-1-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-1-conv-3.bin"};
const char *inverted_residual2[] = {
"../tests/mobilenetv2ssd512/layers/base_net-2-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-2-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-2-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-2-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-2-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-2-conv-6.bin"};
const char *inverted_residual3[] = {
"../tests/mobilenetv2ssd512/layers/base_net-3-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-3-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-3-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-3-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-3-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-3-conv-6.bin"};
const char *inverted_residual4[] = {
"../tests/mobilenetv2ssd512/layers/base_net-4-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-4-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-4-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-4-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-4-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-4-conv-6.bin"};
const char *inverted_residual5[] = {
"../tests/mobilenetv2ssd512/layers/base_net-5-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-5-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-5-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-5-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-5-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-5-conv-6.bin"};
const char *inverted_residual6[] = {
"../tests/mobilenetv2ssd512/layers/base_net-6-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-6-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-6-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-6-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-6-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-6-conv-6.bin"};
const char *inverted_residual7[] = {
"../tests/mobilenetv2ssd512/layers/base_net-7-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-7-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-7-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-7-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-7-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-7-conv-6.bin"};
const char *inverted_residual8[] = {
"../tests/mobilenetv2ssd512/layers/base_net-8-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-8-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-8-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-8-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-8-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-8-conv-6.bin"};
const char *inverted_residual9[] = {
"../tests/mobilenetv2ssd512/layers/base_net-9-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-9-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-9-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-9-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-9-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-9-conv-6.bin"};
const char *inverted_residual10[] = {
"../tests/mobilenetv2ssd512/layers/base_net-10-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-10-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-10-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-10-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-10-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-10-conv-6.bin"};
const char *inverted_residual11[] = {
"../tests/mobilenetv2ssd512/layers/base_net-11-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-11-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-11-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-11-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-11-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-11-conv-6.bin"};
const char *inverted_residual12[] = {
"../tests/mobilenetv2ssd512/layers/base_net-12-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-12-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-12-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-12-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-12-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-12-conv-6.bin"};
const char *inverted_residual13[] = {
"../tests/mobilenetv2ssd512/layers/base_net-13-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-13-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-13-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-13-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-13-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-13-conv-6.bin"};
const char *inverted_residual14[] = {
"../tests/mobilenetv2ssd512/layers/base_net-14-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-14-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-14-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-14-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-14-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-14-conv-6.bin"};
const char *inverted_residual15[] = {
"../tests/mobilenetv2ssd512/layers/base_net-15-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-15-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-15-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-15-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-15-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-15-conv-6.bin"};
const char *inverted_residual16[] = {
"../tests/mobilenetv2ssd512/layers/base_net-16-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-16-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-16-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-16-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-16-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-16-conv-6.bin"};
const char *inverted_residual17[] = {
"../tests/mobilenetv2ssd512/layers/base_net-17-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/base_net-17-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/base_net-17-conv-6.bin"};
"mobilenetv2ssd512/layers/base_net-17-conv-0.bin",
"mobilenetv2ssd512/layers/base_net-17-conv-3.bin",
"mobilenetv2ssd512/layers/base_net-17-conv-6.bin"};
const char *conv18 = "../tests/mobilenetv2ssd512/layers/base_net-18-0.bin";
const char *conv18 = "mobilenetv2ssd512/layers/base_net-18-0.bin";
const char *extras0[] = {
"../tests/mobilenetv2ssd512/layers/extras-0-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/extras-0-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/extras-0-conv-6.bin"};
"mobilenetv2ssd512/layers/extras-0-conv-0.bin",
"mobilenetv2ssd512/layers/extras-0-conv-3.bin",
"mobilenetv2ssd512/layers/extras-0-conv-6.bin"};
const char *extras1[] = {
"../tests/mobilenetv2ssd512/layers/extras-1-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/extras-1-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/extras-1-conv-6.bin"};
"mobilenetv2ssd512/layers/extras-1-conv-0.bin",
"mobilenetv2ssd512/layers/extras-1-conv-3.bin",
"mobilenetv2ssd512/layers/extras-1-conv-6.bin"};
const char *extras2[] = {
"../tests/mobilenetv2ssd512/layers/extras-2-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/extras-2-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/extras-2-conv-6.bin"};
"mobilenetv2ssd512/layers/extras-2-conv-0.bin",
"mobilenetv2ssd512/layers/extras-2-conv-3.bin",
"mobilenetv2ssd512/layers/extras-2-conv-6.bin"};
const char *extras3[] = {
"../tests/mobilenetv2ssd512/layers/extras-3-conv-0.bin",
"../tests/mobilenetv2ssd512/layers/extras-3-conv-3.bin",
"../tests/mobilenetv2ssd512/layers/extras-3-conv-6.bin"};
"mobilenetv2ssd512/layers/extras-3-conv-0.bin",
"mobilenetv2ssd512/layers/extras-3-conv-3.bin",
"mobilenetv2ssd512/layers/extras-3-conv-6.bin"};
const char *classification_header0[] = {
"../tests/mobilenetv2ssd512/layers/classification_headers-0-0.bin",
"../tests/mobilenetv2ssd512/layers/classification_headers-0-3.bin"};
"mobilenetv2ssd512/layers/classification_headers-0-0.bin",
"mobilenetv2ssd512/layers/classification_headers-0-3.bin"};
const char *classification_header1[] = {
"../tests/mobilenetv2ssd512/layers/classification_headers-1-0.bin",
"../tests/mobilenetv2ssd512/layers/classification_headers-1-3.bin"};
"mobilenetv2ssd512/layers/classification_headers-1-0.bin",
"mobilenetv2ssd512/layers/classification_headers-1-3.bin"};
const char *classification_header2[] = {
"../tests/mobilenetv2ssd512/layers/classification_headers-2-0.bin",
"../tests/mobilenetv2ssd512/layers/classification_headers-2-3.bin"};
"mobilenetv2ssd512/layers/classification_headers-2-0.bin",
"mobilenetv2ssd512/layers/classification_headers-2-3.bin"};
const char *classification_header3[] = {
"../tests/mobilenetv2ssd512/layers/classification_headers-3-0.bin",
"../tests/mobilenetv2ssd512/layers/classification_headers-3-3.bin"};
"mobilenetv2ssd512/layers/classification_headers-3-0.bin",
"mobilenetv2ssd512/layers/classification_headers-3-3.bin"};
const char *classification_header4[] = {
"../tests/mobilenetv2ssd512/layers/classification_headers-4-0.bin",
"../tests/mobilenetv2ssd512/layers/classification_headers-4-3.bin"};
"mobilenetv2ssd512/layers/classification_headers-4-0.bin",
"mobilenetv2ssd512/layers/classification_headers-4-3.bin"};
const char *classification_header5 = "../tests/mobilenetv2ssd512/layers/classification_headers-5.bin";
const char *classification_header5 = "mobilenetv2ssd512/layers/classification_headers-5.bin";
const char *regression_header0[] = {
"../tests/mobilenetv2ssd512/layers/regression_headers-0-0.bin",
"../tests/mobilenetv2ssd512/layers/regression_headers-0-3.bin"};
"mobilenetv2ssd512/layers/regression_headers-0-0.bin",
"mobilenetv2ssd512/layers/regression_headers-0-3.bin"};
const char *regression_header1[] = {
"../tests/mobilenetv2ssd512/layers/regression_headers-1-0.bin",
"../tests/mobilenetv2ssd512/layers/regression_headers-1-3.bin"};
"mobilenetv2ssd512/layers/regression_headers-1-0.bin",
"mobilenetv2ssd512/layers/regression_headers-1-3.bin"};
const char *regression_header2[] = {
"../tests/mobilenetv2ssd512/layers/regression_headers-2-0.bin",
"../tests/mobilenetv2ssd512/layers/regression_headers-2-3.bin"};
"mobilenetv2ssd512/layers/regression_headers-2-0.bin",
"mobilenetv2ssd512/layers/regression_headers-2-3.bin"};
const char *regression_header3[] = {
"../tests/mobilenetv2ssd512/layers/regression_headers-3-0.bin",
"../tests/mobilenetv2ssd512/layers/regression_headers-3-3.bin"};
"mobilenetv2ssd512/layers/regression_headers-3-0.bin",
"mobilenetv2ssd512/layers/regression_headers-3-3.bin"};
const char *regression_header4[] = {
"../tests/mobilenetv2ssd512/layers/regression_headers-4-0.bin",
"../tests/mobilenetv2ssd512/layers/regression_headers-4-3.bin"};
"mobilenetv2ssd512/layers/regression_headers-4-0.bin",
"mobilenetv2ssd512/layers/regression_headers-4-3.bin"};
const char *regression_header5 = "../tests/mobilenetv2ssd512/layers/regression_headers-5.bin";
const char *regression_header5 = "mobilenetv2ssd512/layers/regression_headers-5.bin";
int main()
{
downloadWeightsifDoNotExist(input_bin, "../tests/mobilenetv2ssd512", "https://cloud.hipert.unimore.it/s/pdCw2dYyHMJrcEM/download");
downloadWeightsifDoNotExist(input_bin, "mobilenetv2ssd512", "https://cloud.hipert.unimore.it/s/pdCw2dYyHMJrcEM/download");
int classes = 81;
+107 -107
View File
@@ -1,159 +1,159 @@
#include <iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/resnet101/debug/input.bin";
const char *conv1_bin = "../tests/resnet101/layers/conv1.bin";
const char *input_bin = "resnet101/debug/input.bin";
const char *conv1_bin = "resnet101/layers/conv1.bin";
//layer1
const char *layer1_bin[]={
"../tests/resnet101/layers/layer1-0-conv1.bin",
"../tests/resnet101/layers/layer1-0-conv2.bin",
"../tests/resnet101/layers/layer1-0-conv3.bin",
"../tests/resnet101/layers/layer1-0-downsample-0.bin",
"resnet101/layers/layer1-0-conv1.bin",
"resnet101/layers/layer1-0-conv2.bin",
"resnet101/layers/layer1-0-conv3.bin",
"resnet101/layers/layer1-0-downsample-0.bin",
"../tests/resnet101/layers/layer1-1-conv1.bin",
"../tests/resnet101/layers/layer1-1-conv2.bin",
"../tests/resnet101/layers/layer1-1-conv3.bin",
"resnet101/layers/layer1-1-conv1.bin",
"resnet101/layers/layer1-1-conv2.bin",
"resnet101/layers/layer1-1-conv3.bin",
"../tests/resnet101/layers/layer1-2-conv1.bin",
"../tests/resnet101/layers/layer1-2-conv2.bin",
"../tests/resnet101/layers/layer1-2-conv3.bin"};
"resnet101/layers/layer1-2-conv1.bin",
"resnet101/layers/layer1-2-conv2.bin",
"resnet101/layers/layer1-2-conv3.bin"};
//layer2
const char *layer2_bin[]={
"../tests/resnet101/layers/layer2-0-conv1.bin",
"../tests/resnet101/layers/layer2-0-conv2.bin",
"../tests/resnet101/layers/layer2-0-conv3.bin",
"../tests/resnet101/layers/layer2-0-downsample-0.bin",
"resnet101/layers/layer2-0-conv1.bin",
"resnet101/layers/layer2-0-conv2.bin",
"resnet101/layers/layer2-0-conv3.bin",
"resnet101/layers/layer2-0-downsample-0.bin",
"../tests/resnet101/layers/layer2-1-conv1.bin",
"../tests/resnet101/layers/layer2-1-conv2.bin",
"../tests/resnet101/layers/layer2-1-conv3.bin",
"resnet101/layers/layer2-1-conv1.bin",
"resnet101/layers/layer2-1-conv2.bin",
"resnet101/layers/layer2-1-conv3.bin",
"../tests/resnet101/layers/layer2-2-conv1.bin",
"../tests/resnet101/layers/layer2-2-conv2.bin",
"../tests/resnet101/layers/layer2-2-conv3.bin",
"resnet101/layers/layer2-2-conv1.bin",
"resnet101/layers/layer2-2-conv2.bin",
"resnet101/layers/layer2-2-conv3.bin",
"../tests/resnet101/layers/layer2-3-conv1.bin",
"../tests/resnet101/layers/layer2-3-conv2.bin",
"../tests/resnet101/layers/layer2-3-conv3.bin"
"resnet101/layers/layer2-3-conv1.bin",
"resnet101/layers/layer2-3-conv2.bin",
"resnet101/layers/layer2-3-conv3.bin"
};
//layer3
const char *layer3_bin[]={
"../tests/resnet101/layers/layer3-0-conv1.bin",
"../tests/resnet101/layers/layer3-0-conv2.bin",
"../tests/resnet101/layers/layer3-0-conv3.bin",
"../tests/resnet101/layers/layer3-0-downsample-0.bin",
"resnet101/layers/layer3-0-conv1.bin",
"resnet101/layers/layer3-0-conv2.bin",
"resnet101/layers/layer3-0-conv3.bin",
"resnet101/layers/layer3-0-downsample-0.bin",
"../tests/resnet101/layers/layer3-1-conv1.bin",
"../tests/resnet101/layers/layer3-1-conv2.bin",
"../tests/resnet101/layers/layer3-1-conv3.bin",
"resnet101/layers/layer3-1-conv1.bin",
"resnet101/layers/layer3-1-conv2.bin",
"resnet101/layers/layer3-1-conv3.bin",
"../tests/resnet101/layers/layer3-2-conv1.bin",
"../tests/resnet101/layers/layer3-2-conv2.bin",
"../tests/resnet101/layers/layer3-2-conv3.bin",
"resnet101/layers/layer3-2-conv1.bin",
"resnet101/layers/layer3-2-conv2.bin",
"resnet101/layers/layer3-2-conv3.bin",
"../tests/resnet101/layers/layer3-3-conv1.bin",
"../tests/resnet101/layers/layer3-3-conv2.bin",
"../tests/resnet101/layers/layer3-3-conv3.bin",
"resnet101/layers/layer3-3-conv1.bin",
"resnet101/layers/layer3-3-conv2.bin",
"resnet101/layers/layer3-3-conv3.bin",
"../tests/resnet101/layers/layer3-4-conv1.bin",
"../tests/resnet101/layers/layer3-4-conv2.bin",
"../tests/resnet101/layers/layer3-4-conv3.bin",
"resnet101/layers/layer3-4-conv1.bin",
"resnet101/layers/layer3-4-conv2.bin",
"resnet101/layers/layer3-4-conv3.bin",
"../tests/resnet101/layers/layer3-5-conv1.bin",
"../tests/resnet101/layers/layer3-5-conv2.bin",
"../tests/resnet101/layers/layer3-5-conv3.bin",
"resnet101/layers/layer3-5-conv1.bin",
"resnet101/layers/layer3-5-conv2.bin",
"resnet101/layers/layer3-5-conv3.bin",
"../tests/resnet101/layers/layer3-6-conv1.bin",
"../tests/resnet101/layers/layer3-6-conv2.bin",
"../tests/resnet101/layers/layer3-6-conv3.bin",
"resnet101/layers/layer3-6-conv1.bin",
"resnet101/layers/layer3-6-conv2.bin",
"resnet101/layers/layer3-6-conv3.bin",
"../tests/resnet101/layers/layer3-7-conv1.bin",
"../tests/resnet101/layers/layer3-7-conv2.bin",
"../tests/resnet101/layers/layer3-7-conv3.bin",
"resnet101/layers/layer3-7-conv1.bin",
"resnet101/layers/layer3-7-conv2.bin",
"resnet101/layers/layer3-7-conv3.bin",
"../tests/resnet101/layers/layer3-8-conv1.bin",
"../tests/resnet101/layers/layer3-8-conv2.bin",
"../tests/resnet101/layers/layer3-8-conv3.bin",
"resnet101/layers/layer3-8-conv1.bin",
"resnet101/layers/layer3-8-conv2.bin",
"resnet101/layers/layer3-8-conv3.bin",
"../tests/resnet101/layers/layer3-9-conv1.bin",
"../tests/resnet101/layers/layer3-9-conv2.bin",
"../tests/resnet101/layers/layer3-9-conv3.bin",
"resnet101/layers/layer3-9-conv1.bin",
"resnet101/layers/layer3-9-conv2.bin",
"resnet101/layers/layer3-9-conv3.bin",
"../tests/resnet101/layers/layer3-10-conv1.bin",
"../tests/resnet101/layers/layer3-10-conv2.bin",
"../tests/resnet101/layers/layer3-10-conv3.bin",
"resnet101/layers/layer3-10-conv1.bin",
"resnet101/layers/layer3-10-conv2.bin",
"resnet101/layers/layer3-10-conv3.bin",
"../tests/resnet101/layers/layer3-11-conv1.bin",
"../tests/resnet101/layers/layer3-11-conv2.bin",
"../tests/resnet101/layers/layer3-11-conv3.bin",
"resnet101/layers/layer3-11-conv1.bin",
"resnet101/layers/layer3-11-conv2.bin",
"resnet101/layers/layer3-11-conv3.bin",
"../tests/resnet101/layers/layer3-12-conv1.bin",
"../tests/resnet101/layers/layer3-12-conv2.bin",
"../tests/resnet101/layers/layer3-12-conv3.bin",
"resnet101/layers/layer3-12-conv1.bin",
"resnet101/layers/layer3-12-conv2.bin",
"resnet101/layers/layer3-12-conv3.bin",
"../tests/resnet101/layers/layer3-13-conv1.bin",
"../tests/resnet101/layers/layer3-13-conv2.bin",
"../tests/resnet101/layers/layer3-13-conv3.bin",
"resnet101/layers/layer3-13-conv1.bin",
"resnet101/layers/layer3-13-conv2.bin",
"resnet101/layers/layer3-13-conv3.bin",
"../tests/resnet101/layers/layer3-14-conv1.bin",
"../tests/resnet101/layers/layer3-14-conv2.bin",
"../tests/resnet101/layers/layer3-14-conv3.bin",
"resnet101/layers/layer3-14-conv1.bin",
"resnet101/layers/layer3-14-conv2.bin",
"resnet101/layers/layer3-14-conv3.bin",
"../tests/resnet101/layers/layer3-15-conv1.bin",
"../tests/resnet101/layers/layer3-15-conv2.bin",
"../tests/resnet101/layers/layer3-15-conv3.bin",
"resnet101/layers/layer3-15-conv1.bin",
"resnet101/layers/layer3-15-conv2.bin",
"resnet101/layers/layer3-15-conv3.bin",
"../tests/resnet101/layers/layer3-16-conv1.bin",
"../tests/resnet101/layers/layer3-16-conv2.bin",
"../tests/resnet101/layers/layer3-16-conv3.bin",
"resnet101/layers/layer3-16-conv1.bin",
"resnet101/layers/layer3-16-conv2.bin",
"resnet101/layers/layer3-16-conv3.bin",
"../tests/resnet101/layers/layer3-17-conv1.bin",
"../tests/resnet101/layers/layer3-17-conv2.bin",
"../tests/resnet101/layers/layer3-17-conv3.bin",
"resnet101/layers/layer3-17-conv1.bin",
"resnet101/layers/layer3-17-conv2.bin",
"resnet101/layers/layer3-17-conv3.bin",
"../tests/resnet101/layers/layer3-18-conv1.bin",
"../tests/resnet101/layers/layer3-18-conv2.bin",
"../tests/resnet101/layers/layer3-18-conv3.bin",
"resnet101/layers/layer3-18-conv1.bin",
"resnet101/layers/layer3-18-conv2.bin",
"resnet101/layers/layer3-18-conv3.bin",
"../tests/resnet101/layers/layer3-19-conv1.bin",
"../tests/resnet101/layers/layer3-19-conv2.bin",
"../tests/resnet101/layers/layer3-19-conv3.bin",
"resnet101/layers/layer3-19-conv1.bin",
"resnet101/layers/layer3-19-conv2.bin",
"resnet101/layers/layer3-19-conv3.bin",
"../tests/resnet101/layers/layer3-20-conv1.bin",
"../tests/resnet101/layers/layer3-20-conv2.bin",
"../tests/resnet101/layers/layer3-20-conv3.bin",
"resnet101/layers/layer3-20-conv1.bin",
"resnet101/layers/layer3-20-conv2.bin",
"resnet101/layers/layer3-20-conv3.bin",
"../tests/resnet101/layers/layer3-21-conv1.bin",
"../tests/resnet101/layers/layer3-21-conv2.bin",
"../tests/resnet101/layers/layer3-21-conv3.bin",
"resnet101/layers/layer3-21-conv1.bin",
"resnet101/layers/layer3-21-conv2.bin",
"resnet101/layers/layer3-21-conv3.bin",
"../tests/resnet101/layers/layer3-22-conv1.bin",
"../tests/resnet101/layers/layer3-22-conv2.bin",
"../tests/resnet101/layers/layer3-22-conv3.bin"};
"resnet101/layers/layer3-22-conv1.bin",
"resnet101/layers/layer3-22-conv2.bin",
"resnet101/layers/layer3-22-conv3.bin"};
//layer4
const char *layer4_bin[]={
"../tests/resnet101/layers/layer4-0-conv1.bin",
"../tests/resnet101/layers/layer4-0-conv2.bin",
"../tests/resnet101/layers/layer4-0-conv3.bin",
"../tests/resnet101/layers/layer4-0-downsample-0.bin",
"resnet101/layers/layer4-0-conv1.bin",
"resnet101/layers/layer4-0-conv2.bin",
"resnet101/layers/layer4-0-conv3.bin",
"resnet101/layers/layer4-0-downsample-0.bin",
"../tests/resnet101/layers/layer4-1-conv1.bin",
"../tests/resnet101/layers/layer4-1-conv2.bin",
"../tests/resnet101/layers/layer4-1-conv3.bin",
"resnet101/layers/layer4-1-conv1.bin",
"resnet101/layers/layer4-1-conv2.bin",
"resnet101/layers/layer4-1-conv3.bin",
"../tests/resnet101/layers/layer4-2-conv1.bin",
"../tests/resnet101/layers/layer4-2-conv2.bin",
"../tests/resnet101/layers/layer4-2-conv3.bin"};
"resnet101/layers/layer4-2-conv1.bin",
"resnet101/layers/layer4-2-conv2.bin",
"resnet101/layers/layer4-2-conv3.bin"};
//final
const char *fc_bin = "../tests/resnet101/layers/fc.bin";
const char *fc_bin = "resnet101/layers/fc.bin";
const char *output_bin = "../tests/resnet101/debug/fc.bin";
const char *output_bin = "resnet101/debug/fc.bin";
int main()
{
+125 -125
View File
@@ -8,184 +8,184 @@
#include <algorithm> // std::sort
// #include "utils.h"
const char *input_bin = "../tests/resnet101_cnet/debug/input.bin";
const char *conv1_bin = "../tests/resnet101_cnet/layers/conv1.bin";
const char *input_bin = "resnet101_cnet/debug/input.bin";
const char *conv1_bin = "resnet101_cnet/layers/conv1.bin";
//layer1
const char *layer1_bin[]={
"../tests/resnet101_cnet/layers/layer1-0-conv1.bin",
"../tests/resnet101_cnet/layers/layer1-0-conv2.bin",
"../tests/resnet101_cnet/layers/layer1-0-conv3.bin",
"../tests/resnet101_cnet/layers/layer1-0-downsample-0.bin",
"resnet101_cnet/layers/layer1-0-conv1.bin",
"resnet101_cnet/layers/layer1-0-conv2.bin",
"resnet101_cnet/layers/layer1-0-conv3.bin",
"resnet101_cnet/layers/layer1-0-downsample-0.bin",
"../tests/resnet101_cnet/layers/layer1-1-conv1.bin",
"../tests/resnet101_cnet/layers/layer1-1-conv2.bin",
"../tests/resnet101_cnet/layers/layer1-1-conv3.bin",
"resnet101_cnet/layers/layer1-1-conv1.bin",
"resnet101_cnet/layers/layer1-1-conv2.bin",
"resnet101_cnet/layers/layer1-1-conv3.bin",
"../tests/resnet101_cnet/layers/layer1-2-conv1.bin",
"../tests/resnet101_cnet/layers/layer1-2-conv2.bin",
"../tests/resnet101_cnet/layers/layer1-2-conv3.bin"};
"resnet101_cnet/layers/layer1-2-conv1.bin",
"resnet101_cnet/layers/layer1-2-conv2.bin",
"resnet101_cnet/layers/layer1-2-conv3.bin"};
//layer2
const char *layer2_bin[]={
"../tests/resnet101_cnet/layers/layer2-0-conv1.bin",
"../tests/resnet101_cnet/layers/layer2-0-conv2.bin",
"../tests/resnet101_cnet/layers/layer2-0-conv3.bin",
"../tests/resnet101_cnet/layers/layer2-0-downsample-0.bin",
"resnet101_cnet/layers/layer2-0-conv1.bin",
"resnet101_cnet/layers/layer2-0-conv2.bin",
"resnet101_cnet/layers/layer2-0-conv3.bin",
"resnet101_cnet/layers/layer2-0-downsample-0.bin",
"../tests/resnet101_cnet/layers/layer2-1-conv1.bin",
"../tests/resnet101_cnet/layers/layer2-1-conv2.bin",
"../tests/resnet101_cnet/layers/layer2-1-conv3.bin",
"resnet101_cnet/layers/layer2-1-conv1.bin",
"resnet101_cnet/layers/layer2-1-conv2.bin",
"resnet101_cnet/layers/layer2-1-conv3.bin",
"../tests/resnet101_cnet/layers/layer2-2-conv1.bin",
"../tests/resnet101_cnet/layers/layer2-2-conv2.bin",
"../tests/resnet101_cnet/layers/layer2-2-conv3.bin",
"resnet101_cnet/layers/layer2-2-conv1.bin",
"resnet101_cnet/layers/layer2-2-conv2.bin",
"resnet101_cnet/layers/layer2-2-conv3.bin",
"../tests/resnet101_cnet/layers/layer2-3-conv1.bin",
"../tests/resnet101_cnet/layers/layer2-3-conv2.bin",
"../tests/resnet101_cnet/layers/layer2-3-conv3.bin"
"resnet101_cnet/layers/layer2-3-conv1.bin",
"resnet101_cnet/layers/layer2-3-conv2.bin",
"resnet101_cnet/layers/layer2-3-conv3.bin"
};
//layer3
const char *layer3_bin[]={
"../tests/resnet101_cnet/layers/layer3-0-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-0-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-0-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-0-downsample-0.bin",
"resnet101_cnet/layers/layer3-0-conv1.bin",
"resnet101_cnet/layers/layer3-0-conv2.bin",
"resnet101_cnet/layers/layer3-0-conv3.bin",
"resnet101_cnet/layers/layer3-0-downsample-0.bin",
"../tests/resnet101_cnet/layers/layer3-1-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-1-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-1-conv3.bin",
"resnet101_cnet/layers/layer3-1-conv1.bin",
"resnet101_cnet/layers/layer3-1-conv2.bin",
"resnet101_cnet/layers/layer3-1-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-2-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-2-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-2-conv3.bin",
"resnet101_cnet/layers/layer3-2-conv1.bin",
"resnet101_cnet/layers/layer3-2-conv2.bin",
"resnet101_cnet/layers/layer3-2-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-3-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-3-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-3-conv3.bin",
"resnet101_cnet/layers/layer3-3-conv1.bin",
"resnet101_cnet/layers/layer3-3-conv2.bin",
"resnet101_cnet/layers/layer3-3-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-4-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-4-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-4-conv3.bin",
"resnet101_cnet/layers/layer3-4-conv1.bin",
"resnet101_cnet/layers/layer3-4-conv2.bin",
"resnet101_cnet/layers/layer3-4-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-5-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-5-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-5-conv3.bin",
"resnet101_cnet/layers/layer3-5-conv1.bin",
"resnet101_cnet/layers/layer3-5-conv2.bin",
"resnet101_cnet/layers/layer3-5-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-6-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-6-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-6-conv3.bin",
"resnet101_cnet/layers/layer3-6-conv1.bin",
"resnet101_cnet/layers/layer3-6-conv2.bin",
"resnet101_cnet/layers/layer3-6-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-7-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-7-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-7-conv3.bin",
"resnet101_cnet/layers/layer3-7-conv1.bin",
"resnet101_cnet/layers/layer3-7-conv2.bin",
"resnet101_cnet/layers/layer3-7-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-8-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-8-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-8-conv3.bin",
"resnet101_cnet/layers/layer3-8-conv1.bin",
"resnet101_cnet/layers/layer3-8-conv2.bin",
"resnet101_cnet/layers/layer3-8-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-9-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-9-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-9-conv3.bin",
"resnet101_cnet/layers/layer3-9-conv1.bin",
"resnet101_cnet/layers/layer3-9-conv2.bin",
"resnet101_cnet/layers/layer3-9-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-10-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-10-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-10-conv3.bin",
"resnet101_cnet/layers/layer3-10-conv1.bin",
"resnet101_cnet/layers/layer3-10-conv2.bin",
"resnet101_cnet/layers/layer3-10-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-11-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-11-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-11-conv3.bin",
"resnet101_cnet/layers/layer3-11-conv1.bin",
"resnet101_cnet/layers/layer3-11-conv2.bin",
"resnet101_cnet/layers/layer3-11-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-12-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-12-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-12-conv3.bin",
"resnet101_cnet/layers/layer3-12-conv1.bin",
"resnet101_cnet/layers/layer3-12-conv2.bin",
"resnet101_cnet/layers/layer3-12-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-13-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-13-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-13-conv3.bin",
"resnet101_cnet/layers/layer3-13-conv1.bin",
"resnet101_cnet/layers/layer3-13-conv2.bin",
"resnet101_cnet/layers/layer3-13-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-14-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-14-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-14-conv3.bin",
"resnet101_cnet/layers/layer3-14-conv1.bin",
"resnet101_cnet/layers/layer3-14-conv2.bin",
"resnet101_cnet/layers/layer3-14-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-15-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-15-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-15-conv3.bin",
"resnet101_cnet/layers/layer3-15-conv1.bin",
"resnet101_cnet/layers/layer3-15-conv2.bin",
"resnet101_cnet/layers/layer3-15-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-16-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-16-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-16-conv3.bin",
"resnet101_cnet/layers/layer3-16-conv1.bin",
"resnet101_cnet/layers/layer3-16-conv2.bin",
"resnet101_cnet/layers/layer3-16-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-17-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-17-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-17-conv3.bin",
"resnet101_cnet/layers/layer3-17-conv1.bin",
"resnet101_cnet/layers/layer3-17-conv2.bin",
"resnet101_cnet/layers/layer3-17-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-18-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-18-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-18-conv3.bin",
"resnet101_cnet/layers/layer3-18-conv1.bin",
"resnet101_cnet/layers/layer3-18-conv2.bin",
"resnet101_cnet/layers/layer3-18-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-19-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-19-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-19-conv3.bin",
"resnet101_cnet/layers/layer3-19-conv1.bin",
"resnet101_cnet/layers/layer3-19-conv2.bin",
"resnet101_cnet/layers/layer3-19-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-20-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-20-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-20-conv3.bin",
"resnet101_cnet/layers/layer3-20-conv1.bin",
"resnet101_cnet/layers/layer3-20-conv2.bin",
"resnet101_cnet/layers/layer3-20-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-21-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-21-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-21-conv3.bin",
"resnet101_cnet/layers/layer3-21-conv1.bin",
"resnet101_cnet/layers/layer3-21-conv2.bin",
"resnet101_cnet/layers/layer3-21-conv3.bin",
"../tests/resnet101_cnet/layers/layer3-22-conv1.bin",
"../tests/resnet101_cnet/layers/layer3-22-conv2.bin",
"../tests/resnet101_cnet/layers/layer3-22-conv3.bin"};
"resnet101_cnet/layers/layer3-22-conv1.bin",
"resnet101_cnet/layers/layer3-22-conv2.bin",
"resnet101_cnet/layers/layer3-22-conv3.bin"};
//layer4
const char *layer4_bin[]={
"../tests/resnet101_cnet/layers/layer4-0-conv1.bin",
"../tests/resnet101_cnet/layers/layer4-0-conv2.bin",
"../tests/resnet101_cnet/layers/layer4-0-conv3.bin",
"../tests/resnet101_cnet/layers/layer4-0-downsample-0.bin",
"resnet101_cnet/layers/layer4-0-conv1.bin",
"resnet101_cnet/layers/layer4-0-conv2.bin",
"resnet101_cnet/layers/layer4-0-conv3.bin",
"resnet101_cnet/layers/layer4-0-downsample-0.bin",
"../tests/resnet101_cnet/layers/layer4-1-conv1.bin",
"../tests/resnet101_cnet/layers/layer4-1-conv2.bin",
"../tests/resnet101_cnet/layers/layer4-1-conv3.bin",
"resnet101_cnet/layers/layer4-1-conv1.bin",
"resnet101_cnet/layers/layer4-1-conv2.bin",
"resnet101_cnet/layers/layer4-1-conv3.bin",
"../tests/resnet101_cnet/layers/layer4-2-conv1.bin",
"../tests/resnet101_cnet/layers/layer4-2-conv2.bin",
"../tests/resnet101_cnet/layers/layer4-2-conv3.bin"};
"resnet101_cnet/layers/layer4-2-conv1.bin",
"resnet101_cnet/layers/layer4-2-conv2.bin",
"resnet101_cnet/layers/layer4-2-conv3.bin"};
const char *d_conv1_bin = "../tests/resnet101_cnet/layers/deconv_layers-0-conv_offset_mask.bin";
const char *deform1_bin = "../tests/resnet101_cnet/layers/deconv_layers-0.bin";
const char *deconv1_bin = "../tests/resnet101_cnet/layers/deconv_layers-3.bin";
const char *d_conv1_bin = "resnet101_cnet/layers/deconv_layers-0-conv_offset_mask.bin";
const char *deform1_bin = "resnet101_cnet/layers/deconv_layers-0.bin";
const char *deconv1_bin = "resnet101_cnet/layers/deconv_layers-3.bin";
const char *d_conv2_bin = "../tests/resnet101_cnet/layers/deconv_layers-6-conv_offset_mask.bin";
const char *deform2_bin = "../tests/resnet101_cnet/layers/deconv_layers-6.bin";
const char *deconv2_bin = "../tests/resnet101_cnet/layers/deconv_layers-9.bin";
const char *d_conv2_bin = "resnet101_cnet/layers/deconv_layers-6-conv_offset_mask.bin";
const char *deform2_bin = "resnet101_cnet/layers/deconv_layers-6.bin";
const char *deconv2_bin = "resnet101_cnet/layers/deconv_layers-9.bin";
const char *d_conv3_bin = "../tests/resnet101_cnet/layers/deconv_layers-12-conv_offset_mask.bin";
const char *deform3_bin = "../tests/resnet101_cnet/layers/deconv_layers-12.bin";
const char *deconv3_bin = "../tests/resnet101_cnet/layers/deconv_layers-15.bin";
const char *d_conv3_bin = "resnet101_cnet/layers/deconv_layers-12-conv_offset_mask.bin";
const char *deform3_bin = "resnet101_cnet/layers/deconv_layers-12.bin";
const char *deconv3_bin = "resnet101_cnet/layers/deconv_layers-15.bin";
const char *hm_conv1_bin = "../tests/resnet101_cnet/layers/hm-0.bin";
const char *hm_conv2_bin = "../tests/resnet101_cnet/layers/hm-2.bin";
const char *wh_conv1_bin = "../tests/resnet101_cnet/layers/wh-0.bin";
const char *wh_conv2_bin = "../tests/resnet101_cnet/layers/wh-2.bin";
const char *reg_conv1_bin = "../tests/resnet101_cnet/layers/reg-0.bin";
const char *reg_conv2_bin = "../tests/resnet101_cnet/layers/reg-2.bin";
const char *hm_conv1_bin = "resnet101_cnet/layers/hm-0.bin";
const char *hm_conv2_bin = "resnet101_cnet/layers/hm-2.bin";
const char *wh_conv1_bin = "resnet101_cnet/layers/wh-0.bin";
const char *wh_conv2_bin = "resnet101_cnet/layers/wh-2.bin";
const char *reg_conv1_bin = "resnet101_cnet/layers/reg-0.bin";
const char *reg_conv2_bin = "resnet101_cnet/layers/reg-2.bin";
//final
const char *fc_bin = "../tests/resnet101_cnet/layers/fc.bin";
const char *fc_bin = "resnet101_cnet/layers/fc.bin";
const char *output_bin[]={
"../tests/resnet101_cnet/debug/hm.bin",
"../tests/resnet101_cnet/debug/wh.bin",
"../tests/resnet101_cnet/debug/reg.bin"};
"resnet101_cnet/debug/hm.bin",
"resnet101_cnet/debug/wh.bin",
"resnet101_cnet/debug/reg.bin"};
int main()
{
downloadWeightsifDoNotExist(input_bin, "../tests/resnet101_cnet", "https://cloud.hipert.unimore.it/s/5BTjHMWBcJk8g3i/download");
downloadWeightsifDoNotExist(input_bin, "resnet101_cnet", "https://cloud.hipert.unimore.it/s/5BTjHMWBcJk8g3i/download");
// Network layout
tk::dnn::dataDim_t dim(1, 3, 512, 512, 1);
+5 -5
View File
@@ -1,11 +1,11 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/simple/input.bin";
const char *c0_bin = "../tests/simple/layers/conv1d_1.bin";
const char *l1_bin = "../tests/simple/layers/bidirectional_1.bin";
const char *l2_bin = "../tests/simple/layers/bidirectional_2.bin";
const char *output_bin = "../tests/simple/output.bin";
const char *input_bin = "simple/input.bin";
const char *c0_bin = "simple/layers/conv1d_1.bin";
const char *l1_bin = "simple/layers/bidirectional_1.bin";
const char *l2_bin = "simple/layers/bidirectional_2.bin";
const char *output_bin = "simple/output.bin";
int main() {
+40 -13
View File
@@ -2,33 +2,60 @@
#include "tkdnn.h"
#include <stdlib.h> /* srand, rand */
int main(int argc, char *argv[]) {
if(argc < 2 || !fileExist(argv[1]))
FatalError("unable to read serialRT file");
int BATCH_SIZE = 1;
if(argc >2)
BATCH_SIZE = atoi(argv[2]);
//always same test
srand (0);
//convert network to tensorRT
tk::dnn::NetworkRT netRT(NULL, argv[1]);
tk::dnn::dataDim_t idim = netRT.input_dim;
tk::dnn::dataDim_t odim = netRT.output_dim;
idim.n = BATCH_SIZE;
odim.n = BATCH_SIZE;
dnnType *input = new float[idim.tot()];
dnnType *output = new float[odim.tot()];
dnnType *input_d;
checkCuda( cudaMalloc(&input_d, idim.tot()*sizeof(dnnType)));
dnnType *input = new float[netRT.input_dim.tot()];
dnnType *output = new float[netRT.input_dim.tot()];
int ret_tensorrt = 0;
std::cout<<"Testing with batchsize: "<<BATCH_SIZE<<"\n";
printCenteredTitle(" TENSORRT inference ", '=', 30);
for(int i=0; i<100; i++) {
for(int j=0; j<netRT.input_dim.tot(); j++)
input[j] = ((float) rand() / (RAND_MAX));
for(int i=0; i<10; i++) {
// generate input
for(int j=0; j<netRT.input_dim.tot(); j++) {
dnnType val = ((float) rand() / (RAND_MAX));
for(int b=0; b<BATCH_SIZE; b++)
input[netRT.input_dim.tot()*b + j] = val;
}
checkCuda(cudaMemcpy(input_d, input, idim.tot()*sizeof(dnnType), cudaMemcpyHostToDevice));
tk::dnn::dataDim_t dim = idim;
TIMER_START
checkCuda( cudaMemcpyAsync(netRT.buffersRT[netRT.buf_input_idx], input,
netRT.input_dim.tot()*sizeof(float), cudaMemcpyHostToDevice, netRT.stream));
netRT.enqueue();
checkCuda( cudaMemcpyAsync(output, netRT.buffersRT[netRT.buf_output_idx],
netRT.output_dim.tot()*sizeof(float), cudaMemcpyDeviceToHost, netRT.stream));
cudaStreamSynchronize(netRT.stream);
netRT.infer(dim, input_d);
TIMER_STOP
// control output
std::cout<<"Output Buffers: "<<netRT.getBuffersN()-1<<"\n";
for(int o=1; o<netRT.getBuffersN(); o++) {
for(int b=1; b<BATCH_SIZE; b++) {
dnnType *out_d = (dnnType*) netRT.buffersRT[o];
dnnType *out0_d = out_d;
dnnType *outI_d = out_d + netRT.buffersDIM[o].tot()*b;
ret_tensorrt |= checkResult(netRT.buffersDIM[o].tot(), outI_d, out0_d) == 0 ? 0 : ERROR_TENSORRT;
}
}
}
return 0;
return ret_tensorrt;
}
+27 -27
View File
@@ -1,36 +1,36 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo/layers/input.bin";
const char *c0_bin = "../tests/yolo/layers/c0.bin";
const char *c2_bin = "../tests/yolo/layers/c2.bin";
const char *c4_bin = "../tests/yolo/layers/c4.bin";
const char *c5_bin = "../tests/yolo/layers/c5.bin";
const char *c6_bin = "../tests/yolo/layers/c6.bin";
const char *c8_bin = "../tests/yolo/layers/c8.bin";
const char *c9_bin = "../tests/yolo/layers/c9.bin";
const char *c10_bin = "../tests/yolo/layers/c10.bin";
const char *c12_bin = "../tests/yolo/layers/c12.bin";
const char *c13_bin = "../tests/yolo/layers/c13.bin";
const char *c14_bin = "../tests/yolo/layers/c14.bin";
const char *c15_bin = "../tests/yolo/layers/c15.bin";
const char *c16_bin = "../tests/yolo/layers/c16.bin";
const char *c18_bin = "../tests/yolo/layers/c18.bin";
const char *c19_bin = "../tests/yolo/layers/c19.bin";
const char *c20_bin = "../tests/yolo/layers/c20.bin";
const char *c21_bin = "../tests/yolo/layers/c21.bin";
const char *c22_bin = "../tests/yolo/layers/c22.bin";
const char *c23_bin = "../tests/yolo/layers/c23.bin";
const char *c24_bin = "../tests/yolo/layers/c24.bin";
const char *c26_bin = "../tests/yolo/layers/c26.bin";
const char *c29_bin = "../tests/yolo/layers/c29.bin";
const char *c30_bin = "../tests/yolo/layers/c30.bin";
const char *g31_bin = "../tests/yolo/layers/g31.bin";
const char *output_bin = "../tests/yolo/layers/output.bin";
const char *input_bin = "yolo/layers/input.bin";
const char *c0_bin = "yolo/layers/c0.bin";
const char *c2_bin = "yolo/layers/c2.bin";
const char *c4_bin = "yolo/layers/c4.bin";
const char *c5_bin = "yolo/layers/c5.bin";
const char *c6_bin = "yolo/layers/c6.bin";
const char *c8_bin = "yolo/layers/c8.bin";
const char *c9_bin = "yolo/layers/c9.bin";
const char *c10_bin = "yolo/layers/c10.bin";
const char *c12_bin = "yolo/layers/c12.bin";
const char *c13_bin = "yolo/layers/c13.bin";
const char *c14_bin = "yolo/layers/c14.bin";
const char *c15_bin = "yolo/layers/c15.bin";
const char *c16_bin = "yolo/layers/c16.bin";
const char *c18_bin = "yolo/layers/c18.bin";
const char *c19_bin = "yolo/layers/c19.bin";
const char *c20_bin = "yolo/layers/c20.bin";
const char *c21_bin = "yolo/layers/c21.bin";
const char *c22_bin = "yolo/layers/c22.bin";
const char *c23_bin = "yolo/layers/c23.bin";
const char *c24_bin = "yolo/layers/c24.bin";
const char *c26_bin = "yolo/layers/c26.bin";
const char *c29_bin = "yolo/layers/c29.bin";
const char *c30_bin = "yolo/layers/c30.bin";
const char *g31_bin = "yolo/layers/g31.bin";
const char *output_bin = "yolo/layers/output.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/yolo", "https://cloud.hipert.unimore.it/s/nf4PJ3k8bxBETwL/download");
downloadWeightsifDoNotExist(input_bin, "yolo", "https://cloud.hipert.unimore.it/s/nf4PJ3k8bxBETwL/download");
// Network layout
tk::dnn::dataDim_t dim(1, 3, 608, 608, 1);
+2 -2
View File
@@ -9,8 +9,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3";
downloadWeightsifDoNotExist("../tests/yolo3/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/jPXmHyptpLoNdNR/download");
std::string bin_path = "yolo3";
downloadWeightsifDoNotExist("yolo3/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/jPXmHyptpLoNdNR/download");
int classes = 80;
tk::dnn::Yolo *yolo [3];
#include "models/Yolo3.h"
+2 -2
View File
@@ -9,8 +9,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3_512";
downloadWeightsifDoNotExist("../tests/yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/e7HfScx77JEHeYb/download");
std::string bin_path = "yolo3_512";
downloadWeightsifDoNotExist("yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/RGecMeGLD4cXEWL/download");
int classes = 80;
tk::dnn::Yolo *yolo [3];
#include "models/Yolo3.h"
+2 -2
View File
@@ -9,8 +9,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3_512tp";
// downloadWeightsifDoNotExist("../tests/yolo3_512tp/layers/input.bin", bin_path, );
std::string bin_path = "yolo3_512tp";
// downloadWeightsifDoNotExist("yolo3_512tp/layers/input.bin", bin_path, );
int classes = 3;
tk::dnn::Yolo *yolo [3];
#include "models/Yolo3.h"
+2 -2
View File
@@ -9,8 +9,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3_berkeley";
downloadWeightsifDoNotExist("../tests/yolo3_berkeley/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o5cHa4AjTKS64oD/download");
std::string bin_path = "yolo3_berkeley";
downloadWeightsifDoNotExist("yolo3_berkeley/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o5cHa4AjTKS64oD/download");
int classes = 10;
tk::dnn::Yolo *yolo [3];
#include "models/Yolo3.h"
+2 -2
View File
@@ -9,8 +9,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3_coco4";
downloadWeightsifDoNotExist("../tests/yolo3_coco4/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o27NDzSAartbyc4/download");
std::string bin_path = "yolo3_coco4";
downloadWeightsifDoNotExist("yolo3_coco4/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o27NDzSAartbyc4/download");
int classes = 4;
tk::dnn::Yolo *yolo [3];
#include "models/Yolo3.h"
+2 -2
View File
@@ -10,8 +10,8 @@ int main() {
tk::dnn::Network net(dim);
// create yolo3 model
std::string bin_path = "../tests/yolo3_flir";
downloadWeightsifDoNotExist("../tests/yolo3_flir/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/62DECncmF6bMMiH/download");
std::string bin_path = "yolo3_flir";
downloadWeightsifDoNotExist("yolo3_flir/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/62DECncmF6bMMiH/download");
int classes = 3;
tk::dnn::Yolo *yolo [3];
+19 -19
View File
@@ -2,29 +2,29 @@
// #include<cstdlib>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo3_tiny/layers/input.bin";
const char *c0_bin = "../tests/yolo3_tiny/layers/c0.bin";
const char *c2_bin = "../tests/yolo3_tiny/layers/c2.bin";
const char *c4_bin = "../tests/yolo3_tiny/layers/c4.bin";
const char *c6_bin = "../tests/yolo3_tiny/layers/c6.bin";
const char *c8_bin = "../tests/yolo3_tiny/layers/c8.bin";
const char *c10_bin = "../tests/yolo3_tiny/layers/c10.bin";
const char *c12_bin = "../tests/yolo3_tiny/layers/c12.bin";
const char *c13_bin = "../tests/yolo3_tiny/layers/c13.bin";
const char *c14_bin = "../tests/yolo3_tiny/layers/c14.bin";
const char *c15_bin = "../tests/yolo3_tiny/layers/c15.bin";
const char *c18_bin = "../tests/yolo3_tiny/layers/c18.bin";
const char *c21_bin = "../tests/yolo3_tiny/layers/c21.bin";
const char *c22_bin = "../tests/yolo3_tiny/layers/c22.bin";
const char *g16_bin = "../tests/yolo3_tiny/layers/g16.bin";
const char *g23_bin = "../tests/yolo3_tiny/layers/g23.bin";
// const char *output_bin = "../tests/yolo3_tiny/layers/output.bin";
const char *input_bin = "yolo3_tiny/layers/input.bin";
const char *c0_bin = "yolo3_tiny/layers/c0.bin";
const char *c2_bin = "yolo3_tiny/layers/c2.bin";
const char *c4_bin = "yolo3_tiny/layers/c4.bin";
const char *c6_bin = "yolo3_tiny/layers/c6.bin";
const char *c8_bin = "yolo3_tiny/layers/c8.bin";
const char *c10_bin = "yolo3_tiny/layers/c10.bin";
const char *c12_bin = "yolo3_tiny/layers/c12.bin";
const char *c13_bin = "yolo3_tiny/layers/c13.bin";
const char *c14_bin = "yolo3_tiny/layers/c14.bin";
const char *c15_bin = "yolo3_tiny/layers/c15.bin";
const char *c18_bin = "yolo3_tiny/layers/c18.bin";
const char *c21_bin = "yolo3_tiny/layers/c21.bin";
const char *c22_bin = "yolo3_tiny/layers/c22.bin";
const char *g16_bin = "yolo3_tiny/layers/g16.bin";
const char *g23_bin = "yolo3_tiny/layers/g23.bin";
// const char *output_bin = "yolo3_tiny/layers/output.bin";
const char *output_bin = "../tests/yolo3_tiny/debug/layer23_out.bin";
const char *output_bin = "yolo3_tiny/debug/layer23_out.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tiny", "https://cloud.hipert.unimore.it/s/LMcSHtWaLeps8yN/download");
downloadWeightsifDoNotExist(input_bin, "yolo3_tiny", "https://cloud.hipert.unimore.it/s/LMcSHtWaLeps8yN/download");
int classes = 80;
+19 -19
View File
@@ -1,29 +1,29 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo3_tiny512/layers/input.bin";
const char *c0_bin = "../tests/yolo3_tiny512/layers/c0.bin";
const char *c2_bin = "../tests/yolo3_tiny512/layers/c2.bin";
const char *c4_bin = "../tests/yolo3_tiny512/layers/c4.bin";
const char *c6_bin = "../tests/yolo3_tiny512/layers/c6.bin";
const char *c8_bin = "../tests/yolo3_tiny512/layers/c8.bin";
const char *c10_bin = "../tests/yolo3_tiny512/layers/c10.bin";
const char *c12_bin = "../tests/yolo3_tiny512/layers/c12.bin";
const char *c13_bin = "../tests/yolo3_tiny512/layers/c13.bin";
const char *c14_bin = "../tests/yolo3_tiny512/layers/c14.bin";
const char *c15_bin = "../tests/yolo3_tiny512/layers/c15.bin";
const char *c18_bin = "../tests/yolo3_tiny512/layers/c18.bin";
const char *c21_bin = "../tests/yolo3_tiny512/layers/c21.bin";
const char *c22_bin = "../tests/yolo3_tiny512/layers/c22.bin";
const char *g16_bin = "../tests/yolo3_tiny512/layers/g16.bin";
const char *g23_bin = "../tests/yolo3_tiny512/layers/g23.bin";
// const char *output_bin = "../tests/yolo3_tiny512/layers/output.bin";
const char *input_bin = "yolo3_tiny512/layers/input.bin";
const char *c0_bin = "yolo3_tiny512/layers/c0.bin";
const char *c2_bin = "yolo3_tiny512/layers/c2.bin";
const char *c4_bin = "yolo3_tiny512/layers/c4.bin";
const char *c6_bin = "yolo3_tiny512/layers/c6.bin";
const char *c8_bin = "yolo3_tiny512/layers/c8.bin";
const char *c10_bin = "yolo3_tiny512/layers/c10.bin";
const char *c12_bin = "yolo3_tiny512/layers/c12.bin";
const char *c13_bin = "yolo3_tiny512/layers/c13.bin";
const char *c14_bin = "yolo3_tiny512/layers/c14.bin";
const char *c15_bin = "yolo3_tiny512/layers/c15.bin";
const char *c18_bin = "yolo3_tiny512/layers/c18.bin";
const char *c21_bin = "yolo3_tiny512/layers/c21.bin";
const char *c22_bin = "yolo3_tiny512/layers/c22.bin";
const char *g16_bin = "yolo3_tiny512/layers/g16.bin";
const char *g23_bin = "yolo3_tiny512/layers/g23.bin";
// const char *output_bin = "yolo3_tiny512/layers/output.bin";
const char *output_bin = "../tests/yolo3_tiny512/debug/layer23_out.bin";
const char *output_bin = "yolo3_tiny512/debug/layer23_out.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tiny512", "https://cloud.hipert.unimore.it/s/8Zt6bHwHADqP4JC/download");
downloadWeightsifDoNotExist(input_bin, "yolo3_tiny512", "https://cloud.hipert.unimore.it/s/8Zt6bHwHADqP4JC/download");
int classes = 80;
+18 -18
View File
@@ -1,25 +1,25 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo3_tiny512tp/layers/input.bin";
const char *c0_bin = "../tests/yolo3_tiny512tp/layers/c0.bin";
const char *c2_bin = "../tests/yolo3_tiny512tp/layers/c2.bin";
const char *c4_bin = "../tests/yolo3_tiny512tp/layers/c4.bin";
const char *c6_bin = "../tests/yolo3_tiny512tp/layers/c6.bin";
const char *c8_bin = "../tests/yolo3_tiny512tp/layers/c8.bin";
const char *c10_bin = "../tests/yolo3_tiny512tp/layers/c10.bin";
const char *c12_bin = "../tests/yolo3_tiny512tp/layers/c12.bin";
const char *c13_bin = "../tests/yolo3_tiny512tp/layers/c13.bin";
const char *c14_bin = "../tests/yolo3_tiny512tp/layers/c14.bin";
const char *c15_bin = "../tests/yolo3_tiny512tp/layers/c15.bin";
const char *c18_bin = "../tests/yolo3_tiny512tp/layers/c18.bin";
const char *c21_bin = "../tests/yolo3_tiny512tp/layers/c21.bin";
const char *c22_bin = "../tests/yolo3_tiny512tp/layers/c22.bin";
const char *g16_bin = "../tests/yolo3_tiny512tp/layers/g16.bin";
const char *g23_bin = "../tests/yolo3_tiny512tp/layers/g23.bin";
// const char *output_bin = "../tests/yolo3_tiny512tp/layers/output.bin";
const char *input_bin = "yolo3_tiny512tp/layers/input.bin";
const char *c0_bin = "yolo3_tiny512tp/layers/c0.bin";
const char *c2_bin = "yolo3_tiny512tp/layers/c2.bin";
const char *c4_bin = "yolo3_tiny512tp/layers/c4.bin";
const char *c6_bin = "yolo3_tiny512tp/layers/c6.bin";
const char *c8_bin = "yolo3_tiny512tp/layers/c8.bin";
const char *c10_bin = "yolo3_tiny512tp/layers/c10.bin";
const char *c12_bin = "yolo3_tiny512tp/layers/c12.bin";
const char *c13_bin = "yolo3_tiny512tp/layers/c13.bin";
const char *c14_bin = "yolo3_tiny512tp/layers/c14.bin";
const char *c15_bin = "yolo3_tiny512tp/layers/c15.bin";
const char *c18_bin = "yolo3_tiny512tp/layers/c18.bin";
const char *c21_bin = "yolo3_tiny512tp/layers/c21.bin";
const char *c22_bin = "yolo3_tiny512tp/layers/c22.bin";
const char *g16_bin = "yolo3_tiny512tp/layers/g16.bin";
const char *g23_bin = "yolo3_tiny512tp/layers/g23.bin";
// const char *output_bin = "yolo3_tiny512tp/layers/output.bin";
const char *output_bin = "../tests/yolo3_tiny512tp/debug/layer23_out.bin";
const char *output_bin = "yolo3_tiny512tp/debug/layer23_out.bin";
int main() {
+19 -19
View File
@@ -1,29 +1,29 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo3_tinyNM512/layers/input.bin";
const char *c0_bin = "../tests/yolo3_tinyNM512/layers/c0.bin";
const char *c2_bin = "../tests/yolo3_tinyNM512/layers/c2.bin";
const char *c4_bin = "../tests/yolo3_tinyNM512/layers/c4.bin";
const char *c6_bin = "../tests/yolo3_tinyNM512/layers/c6.bin";
const char *c8_bin = "../tests/yolo3_tinyNM512/layers/c8.bin";
const char *c10_bin = "../tests/yolo3_tinyNM512/layers/c10.bin";
const char *c11_bin = "../tests/yolo3_tinyNM512/layers/c11.bin";
const char *c12_bin = "../tests/yolo3_tinyNM512/layers/c12.bin";
const char *c13_bin = "../tests/yolo3_tinyNM512/layers/c13.bin";
const char *c14_bin = "../tests/yolo3_tinyNM512/layers/c14.bin";
const char *c17_bin = "../tests/yolo3_tinyNM512/layers/c17.bin";
const char *c20_bin = "../tests/yolo3_tinyNM512/layers/c20.bin";
const char *c21_bin = "../tests/yolo3_tinyNM512/layers/c21.bin";
const char *g15_bin = "../tests/yolo3_tinyNM512/layers/g15.bin";
const char *g22_bin = "../tests/yolo3_tinyNM512/layers/g22.bin";
// const char *output_bin = "../tests/yolo3_tinyNM512/layers/output.bin";
const char *input_bin = "yolo3_tinyNM512/layers/input.bin";
const char *c0_bin = "yolo3_tinyNM512/layers/c0.bin";
const char *c2_bin = "yolo3_tinyNM512/layers/c2.bin";
const char *c4_bin = "yolo3_tinyNM512/layers/c4.bin";
const char *c6_bin = "yolo3_tinyNM512/layers/c6.bin";
const char *c8_bin = "yolo3_tinyNM512/layers/c8.bin";
const char *c10_bin = "yolo3_tinyNM512/layers/c10.bin";
const char *c11_bin = "yolo3_tinyNM512/layers/c11.bin";
const char *c12_bin = "yolo3_tinyNM512/layers/c12.bin";
const char *c13_bin = "yolo3_tinyNM512/layers/c13.bin";
const char *c14_bin = "yolo3_tinyNM512/layers/c14.bin";
const char *c17_bin = "yolo3_tinyNM512/layers/c17.bin";
const char *c20_bin = "yolo3_tinyNM512/layers/c20.bin";
const char *c21_bin = "yolo3_tinyNM512/layers/c21.bin";
const char *g15_bin = "yolo3_tinyNM512/layers/g15.bin";
const char *g22_bin = "yolo3_tinyNM512/layers/g22.bin";
// const char *output_bin = "yolo3_tinyNM512/layers/output.bin";
const char *output_bin = "../tests/yolo3_tinyNM512/debug/layer22_out.bin";
const char *output_bin = "yolo3_tinyNM512/debug/layer22_out.bin";
int main() {
// downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tinyNM512", "https://cloud.hipert.unimore.it/s/wRW9nmkibSe5HoS/download");
// downloadWeightsifDoNotExist(input_bin, "yolo3_tinyNM512", "https://cloud.hipert.unimore.it/s/wRW9nmkibSe5HoS/download");
int classes = 80;
+26 -26
View File
@@ -1,32 +1,32 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo_224/layers/input.bin";
const char *c0_bin = "../tests/yolo_224/layers/c0.bin";
const char *c2_bin = "../tests/yolo_224/layers/c2.bin";
const char *c4_bin = "../tests/yolo_224/layers/c4.bin";
const char *c5_bin = "../tests/yolo_224/layers/c5.bin";
const char *c6_bin = "../tests/yolo_224/layers/c6.bin";
const char *c8_bin = "../tests/yolo_224/layers/c8.bin";
const char *c9_bin = "../tests/yolo_224/layers/c9.bin";
const char *c10_bin = "../tests/yolo_224/layers/c10.bin";
const char *c12_bin = "../tests/yolo_224/layers/c12.bin";
const char *c13_bin = "../tests/yolo_224/layers/c13.bin";
const char *c14_bin = "../tests/yolo_224/layers/c14.bin";
const char *c15_bin = "../tests/yolo_224/layers/c15.bin";
const char *c16_bin = "../tests/yolo_224/layers/c16.bin";
const char *c18_bin = "../tests/yolo_224/layers/c18.bin";
const char *c19_bin = "../tests/yolo_224/layers/c19.bin";
const char *c20_bin = "../tests/yolo_224/layers/c20.bin";
const char *c21_bin = "../tests/yolo_224/layers/c21.bin";
const char *c22_bin = "../tests/yolo_224/layers/c22.bin";
const char *c23_bin = "../tests/yolo_224/layers/c23.bin";
const char *c24_bin = "../tests/yolo_224/layers/c24.bin";
const char *c26_bin = "../tests/yolo_224/layers/c26.bin";
const char *c29_bin = "../tests/yolo_224/layers/c29.bin";
const char *c30_bin = "../tests/yolo_224/layers/c30.bin";
const char *g31_bin = "../tests/yolo_224/layers/g31.bin";
const char *output_bin = "../tests/yolo_224/layers/output.bin";
const char *input_bin = "yolo_224/layers/input.bin";
const char *c0_bin = "yolo_224/layers/c0.bin";
const char *c2_bin = "yolo_224/layers/c2.bin";
const char *c4_bin = "yolo_224/layers/c4.bin";
const char *c5_bin = "yolo_224/layers/c5.bin";
const char *c6_bin = "yolo_224/layers/c6.bin";
const char *c8_bin = "yolo_224/layers/c8.bin";
const char *c9_bin = "yolo_224/layers/c9.bin";
const char *c10_bin = "yolo_224/layers/c10.bin";
const char *c12_bin = "yolo_224/layers/c12.bin";
const char *c13_bin = "yolo_224/layers/c13.bin";
const char *c14_bin = "yolo_224/layers/c14.bin";
const char *c15_bin = "yolo_224/layers/c15.bin";
const char *c16_bin = "yolo_224/layers/c16.bin";
const char *c18_bin = "yolo_224/layers/c18.bin";
const char *c19_bin = "yolo_224/layers/c19.bin";
const char *c20_bin = "yolo_224/layers/c20.bin";
const char *c21_bin = "yolo_224/layers/c21.bin";
const char *c22_bin = "yolo_224/layers/c22.bin";
const char *c23_bin = "yolo_224/layers/c23.bin";
const char *c24_bin = "yolo_224/layers/c24.bin";
const char *c26_bin = "yolo_224/layers/c26.bin";
const char *c29_bin = "yolo_224/layers/c29.bin";
const char *c30_bin = "yolo_224/layers/c30.bin";
const char *g31_bin = "yolo_224/layers/g31.bin";
const char *output_bin = "yolo_224/layers/output.bin";
int main() {
+26 -26
View File
@@ -1,32 +1,32 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo_berkeley/layers/input.bin";
const char *c0_bin = "../tests/yolo_berkeley/layers/c0.bin";
const char *c2_bin = "../tests/yolo_berkeley/layers/c2.bin";
const char *c4_bin = "../tests/yolo_berkeley/layers/c4.bin";
const char *c5_bin = "../tests/yolo_berkeley/layers/c5.bin";
const char *c6_bin = "../tests/yolo_berkeley/layers/c6.bin";
const char *c8_bin = "../tests/yolo_berkeley/layers/c8.bin";
const char *c9_bin = "../tests/yolo_berkeley/layers/c9.bin";
const char *c10_bin = "../tests/yolo_berkeley/layers/c10.bin";
const char *c12_bin = "../tests/yolo_berkeley/layers/c12.bin";
const char *c13_bin = "../tests/yolo_berkeley/layers/c13.bin";
const char *c14_bin = "../tests/yolo_berkeley/layers/c14.bin";
const char *c15_bin = "../tests/yolo_berkeley/layers/c15.bin";
const char *c16_bin = "../tests/yolo_berkeley/layers/c16.bin";
const char *c18_bin = "../tests/yolo_berkeley/layers/c18.bin";
const char *c19_bin = "../tests/yolo_berkeley/layers/c19.bin";
const char *c20_bin = "../tests/yolo_berkeley/layers/c20.bin";
const char *c21_bin = "../tests/yolo_berkeley/layers/c21.bin";
const char *c22_bin = "../tests/yolo_berkeley/layers/c22.bin";
const char *c23_bin = "../tests/yolo_berkeley/layers/c23.bin";
const char *c24_bin = "../tests/yolo_berkeley/layers/c24.bin";
const char *c26_bin = "../tests/yolo_berkeley/layers/c26.bin";
const char *c29_bin = "../tests/yolo_berkeley/layers/c29.bin";
const char *c30_bin = "../tests/yolo_berkeley/layers/c30.bin";
const char *g31_bin = "../tests/yolo_berkeley/layers/g31.bin";
const char *output_bin = "../tests/yolo_berkeley/layers/output.bin";
const char *input_bin = "yolo_berkeley/layers/input.bin";
const char *c0_bin = "yolo_berkeley/layers/c0.bin";
const char *c2_bin = "yolo_berkeley/layers/c2.bin";
const char *c4_bin = "yolo_berkeley/layers/c4.bin";
const char *c5_bin = "yolo_berkeley/layers/c5.bin";
const char *c6_bin = "yolo_berkeley/layers/c6.bin";
const char *c8_bin = "yolo_berkeley/layers/c8.bin";
const char *c9_bin = "yolo_berkeley/layers/c9.bin";
const char *c10_bin = "yolo_berkeley/layers/c10.bin";
const char *c12_bin = "yolo_berkeley/layers/c12.bin";
const char *c13_bin = "yolo_berkeley/layers/c13.bin";
const char *c14_bin = "yolo_berkeley/layers/c14.bin";
const char *c15_bin = "yolo_berkeley/layers/c15.bin";
const char *c16_bin = "yolo_berkeley/layers/c16.bin";
const char *c18_bin = "yolo_berkeley/layers/c18.bin";
const char *c19_bin = "yolo_berkeley/layers/c19.bin";
const char *c20_bin = "yolo_berkeley/layers/c20.bin";
const char *c21_bin = "yolo_berkeley/layers/c21.bin";
const char *c22_bin = "yolo_berkeley/layers/c22.bin";
const char *c23_bin = "yolo_berkeley/layers/c23.bin";
const char *c24_bin = "yolo_berkeley/layers/c24.bin";
const char *c26_bin = "yolo_berkeley/layers/c26.bin";
const char *c29_bin = "yolo_berkeley/layers/c29.bin";
const char *c30_bin = "yolo_berkeley/layers/c30.bin";
const char *g31_bin = "yolo_berkeley/layers/g31.bin";
const char *output_bin = "yolo_berkeley/layers/output.bin";
int main() {
+26 -26
View File
@@ -1,32 +1,32 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo_relu/layers/input.bin";
const char *c0_bin = "../tests/yolo_relu/layers/c0.bin";
const char *c2_bin = "../tests/yolo_relu/layers/c2.bin";
const char *c4_bin = "../tests/yolo_relu/layers/c4.bin";
const char *c5_bin = "../tests/yolo_relu/layers/c5.bin";
const char *c6_bin = "../tests/yolo_relu/layers/c6.bin";
const char *c8_bin = "../tests/yolo_relu/layers/c8.bin";
const char *c9_bin = "../tests/yolo_relu/layers/c9.bin";
const char *c10_bin = "../tests/yolo_relu/layers/c10.bin";
const char *c12_bin = "../tests/yolo_relu/layers/c12.bin";
const char *c13_bin = "../tests/yolo_relu/layers/c13.bin";
const char *c14_bin = "../tests/yolo_relu/layers/c14.bin";
const char *c15_bin = "../tests/yolo_relu/layers/c15.bin";
const char *c16_bin = "../tests/yolo_relu/layers/c16.bin";
const char *c18_bin = "../tests/yolo_relu/layers/c18.bin";
const char *c19_bin = "../tests/yolo_relu/layers/c19.bin";
const char *c20_bin = "../tests/yolo_relu/layers/c20.bin";
const char *c21_bin = "../tests/yolo_relu/layers/c21.bin";
const char *c22_bin = "../tests/yolo_relu/layers/c22.bin";
const char *c23_bin = "../tests/yolo_relu/layers/c23.bin";
const char *c24_bin = "../tests/yolo_relu/layers/c24.bin";
const char *c26_bin = "../tests/yolo_relu/layers/c26.bin";
const char *c29_bin = "../tests/yolo_relu/layers/c29.bin";
const char *c30_bin = "../tests/yolo_relu/layers/c30.bin";
const char *g31_bin = "../tests/yolo_relu/layers/g31.bin";
const char *output_bin = "../tests/yolo_relu/layers/output.bin";
const char *input_bin = "yolo_relu/layers/input.bin";
const char *c0_bin = "yolo_relu/layers/c0.bin";
const char *c2_bin = "yolo_relu/layers/c2.bin";
const char *c4_bin = "yolo_relu/layers/c4.bin";
const char *c5_bin = "yolo_relu/layers/c5.bin";
const char *c6_bin = "yolo_relu/layers/c6.bin";
const char *c8_bin = "yolo_relu/layers/c8.bin";
const char *c9_bin = "yolo_relu/layers/c9.bin";
const char *c10_bin = "yolo_relu/layers/c10.bin";
const char *c12_bin = "yolo_relu/layers/c12.bin";
const char *c13_bin = "yolo_relu/layers/c13.bin";
const char *c14_bin = "yolo_relu/layers/c14.bin";
const char *c15_bin = "yolo_relu/layers/c15.bin";
const char *c16_bin = "yolo_relu/layers/c16.bin";
const char *c18_bin = "yolo_relu/layers/c18.bin";
const char *c19_bin = "yolo_relu/layers/c19.bin";
const char *c20_bin = "yolo_relu/layers/c20.bin";
const char *c21_bin = "yolo_relu/layers/c21.bin";
const char *c22_bin = "yolo_relu/layers/c22.bin";
const char *c23_bin = "yolo_relu/layers/c23.bin";
const char *c24_bin = "yolo_relu/layers/c24.bin";
const char *c26_bin = "yolo_relu/layers/c26.bin";
const char *c29_bin = "yolo_relu/layers/c29.bin";
const char *c30_bin = "yolo_relu/layers/c30.bin";
const char *g31_bin = "yolo_relu/layers/g31.bin";
const char *output_bin = "yolo_relu/layers/output.bin";
int main() {
+14 -14
View File
@@ -1,23 +1,23 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo_tiny/layers/input.bin";
const char *c0_bin = "../tests/yolo_tiny/layers/c0.bin";
const char *c2_bin = "../tests/yolo_tiny/layers/c2.bin";
const char *c4_bin = "../tests/yolo_tiny/layers/c4.bin";
const char *c5_bin = "../tests/yolo_tiny/layers/c5.bin";
const char *c6_bin = "../tests/yolo_tiny/layers/c6.bin";
const char *c8_bin = "../tests/yolo_tiny/layers/c8.bin";
const char *c10_bin = "../tests/yolo_tiny/layers/c10.bin";
const char *c11_bin = "../tests/yolo_tiny/layers/c11.bin";
const char *c12_bin = "../tests/yolo_tiny/layers/c12.bin";
const char *c13_bin = "../tests/yolo_tiny/layers/c13.bin";
const char *g14_bin = "../tests/yolo_tiny/layers/g14.bin";
const char *output_bin = "../tests/yolo_tiny/layers/output.bin";
const char *input_bin = "yolo_tiny/layers/input.bin";
const char *c0_bin = "yolo_tiny/layers/c0.bin";
const char *c2_bin = "yolo_tiny/layers/c2.bin";
const char *c4_bin = "yolo_tiny/layers/c4.bin";
const char *c5_bin = "yolo_tiny/layers/c5.bin";
const char *c6_bin = "yolo_tiny/layers/c6.bin";
const char *c8_bin = "yolo_tiny/layers/c8.bin";
const char *c10_bin = "yolo_tiny/layers/c10.bin";
const char *c11_bin = "yolo_tiny/layers/c11.bin";
const char *c12_bin = "yolo_tiny/layers/c12.bin";
const char *c13_bin = "yolo_tiny/layers/c13.bin";
const char *g14_bin = "yolo_tiny/layers/g14.bin";
const char *output_bin = "yolo_tiny/layers/output.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/yolo_tiny", "https://cloud.hipert.unimore.it/s/m3orfJr8pGrN5mQ/download");
downloadWeightsifDoNotExist(input_bin, "yolo_tiny", "https://cloud.hipert.unimore.it/s/m3orfJr8pGrN5mQ/download");
// Network layout
tk::dnn::dataDim_t dim(1, 3, 416, 416, 1);
+27 -27
View File
@@ -1,36 +1,36 @@
#include<iostream>
#include "tkdnn.h"
const char *input_bin = "../tests/yolo_voc/layers/input.bin";
const char *c0_bin = "../tests/yolo_voc/layers/c0.bin";
const char *c2_bin = "../tests/yolo_voc/layers/c2.bin";
const char *c4_bin = "../tests/yolo_voc/layers/c4.bin";
const char *c5_bin = "../tests/yolo_voc/layers/c5.bin";
const char *c6_bin = "../tests/yolo_voc/layers/c6.bin";
const char *c8_bin = "../tests/yolo_voc/layers/c8.bin";
const char *c9_bin = "../tests/yolo_voc/layers/c9.bin";
const char *c10_bin = "../tests/yolo_voc/layers/c10.bin";
const char *c12_bin = "../tests/yolo_voc/layers/c12.bin";
const char *c13_bin = "../tests/yolo_voc/layers/c13.bin";
const char *c14_bin = "../tests/yolo_voc/layers/c14.bin";
const char *c15_bin = "../tests/yolo_voc/layers/c15.bin";
const char *c16_bin = "../tests/yolo_voc/layers/c16.bin";
const char *c18_bin = "../tests/yolo_voc/layers/c18.bin";
const char *c19_bin = "../tests/yolo_voc/layers/c19.bin";
const char *c20_bin = "../tests/yolo_voc/layers/c20.bin";
const char *c21_bin = "../tests/yolo_voc/layers/c21.bin";
const char *c22_bin = "../tests/yolo_voc/layers/c22.bin";
const char *c23_bin = "../tests/yolo_voc/layers/c23.bin";
const char *c24_bin = "../tests/yolo_voc/layers/c24.bin";
const char *c26_bin = "../tests/yolo_voc/layers/c26.bin";
const char *c29_bin = "../tests/yolo_voc/layers/c29.bin";
const char *c30_bin = "../tests/yolo_voc/layers/c30.bin";
const char *g31_bin = "../tests/yolo_voc/layers/g31.bin";
const char *output_bin = "../tests/yolo_voc/layers/output.bin";
const char *input_bin = "yolo_voc/layers/input.bin";
const char *c0_bin = "yolo_voc/layers/c0.bin";
const char *c2_bin = "yolo_voc/layers/c2.bin";
const char *c4_bin = "yolo_voc/layers/c4.bin";
const char *c5_bin = "yolo_voc/layers/c5.bin";
const char *c6_bin = "yolo_voc/layers/c6.bin";
const char *c8_bin = "yolo_voc/layers/c8.bin";
const char *c9_bin = "yolo_voc/layers/c9.bin";
const char *c10_bin = "yolo_voc/layers/c10.bin";
const char *c12_bin = "yolo_voc/layers/c12.bin";
const char *c13_bin = "yolo_voc/layers/c13.bin";
const char *c14_bin = "yolo_voc/layers/c14.bin";
const char *c15_bin = "yolo_voc/layers/c15.bin";
const char *c16_bin = "yolo_voc/layers/c16.bin";
const char *c18_bin = "yolo_voc/layers/c18.bin";
const char *c19_bin = "yolo_voc/layers/c19.bin";
const char *c20_bin = "yolo_voc/layers/c20.bin";
const char *c21_bin = "yolo_voc/layers/c21.bin";
const char *c22_bin = "yolo_voc/layers/c22.bin";
const char *c23_bin = "yolo_voc/layers/c23.bin";
const char *c24_bin = "yolo_voc/layers/c24.bin";
const char *c26_bin = "yolo_voc/layers/c26.bin";
const char *c29_bin = "yolo_voc/layers/c29.bin";
const char *c30_bin = "yolo_voc/layers/c30.bin";
const char *g31_bin = "yolo_voc/layers/g31.bin";
const char *output_bin = "yolo_voc/layers/output.bin";
int main() {
downloadWeightsifDoNotExist(input_bin, "../tests/yolo_voc", "https://cloud.hipert.unimore.it/s/DJC5Fi2pEjfNDP9/download");
downloadWeightsifDoNotExist(input_bin, "yolo_voc", "https://cloud.hipert.unimore.it/s/DJC5Fi2pEjfNDP9/download");
// Network layout
tk::dnn::dataDim_t dim(1, 3, 416, 416, 1);