yolov3-spp? #29
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Thank you very much for your work.
Have you tested the effect of yolov3-spp network deployment on tkDnn, is it consistent with darknet?
If yolov3-spp use the same layers and parameters of yolo3 it is supported by our Darknet cfg parser
I have converted my yolov3-spp network successfully (only modify the category and my own dataset), and tested some pictures, and found that some output is not consistent.
I don't know where is the problem
Can you list all the steps you have done?
You should:
Yes, I have completed all the steps, otherwise I cannot continue.
new a test cpp
#include
#include
#include "tkdnn.h"
#include "test.h"
#include "DarknetParser.h"
int main() {
std::string bin_path = "yolo_spp";
std::vectorstd::string input_bins = {
bin_path + "/layers/input.bin"
};
std::vectorstd::string output_bins = {
bin_path + "/debug/layer89_out.bin",
bin_path + "/debug/layer101_out.bin",
bin_path + "/debug/layer113_out.bin"
};
std::string wgs_path = bin_path + "/layers";
std::string cfg_path = "my.cfg";
std::string name_path = "my.txt";
downloadWeightsifDoNotExist(input_bins[0], bin_path, "https://cloud.hipert.unimore.it/s/d97CFzYqCPCp5Hg/download");
}
Are you sure the output layers are the same? If you add or remove layers the output number will change.
To be sure you can set this as output-bins:
Output.bin is the last layer output, so at least the last yolo layer should be right.
For the others yolos you must find the correct number when you are exporting from darknet
The output layer should be correct, I did not modify the network structure. Does the nms implementation affect the results
The nms affect the results only if you do the postprocessing that is not executed in the test.
Could you paste the cfg? Maybe also weights.
When I have this problems i remove layers until I find what is the layer that create the error.
Maybe your cfg contains an option not parsed.
thank you,i uploaded the cfg and weights files, you can use it as a reference test.
https://drive.google.com/file/d/10vGFfsRjCrP-jKU7L5vrkjZtBF-gV5LN/view?usp=sharing
https://drive.google.com/file/d/1eUq03hKS_po7HDk6X67QSFr10t3xYizf/view?usp=sharing
@ceccocats ,Hi,
Thanks lot for your great work .I had a question regarding execution of the changed .cpp for parser .I have created a new cpp file (parser ) and changed the out puts for the custom cfg in darknet (yolov3-spp) and also exported the weights (bin files ). However, how should I execute the changed .cpp file to generate the rt file for the demo. I used g++ ..... to compile the .cpp file but it gave me include errors (cuda.h , tkdnn no such file or directory ) .I would be really grateful if you could help me with this . Thanks in advance .
I still can't access the files
sorry,please try again
https://drive.google.com/file/d/1eUq03hKS_po7HDk6X67QSFr10t3xYizf/view?usp=sharing
https://drive.google.com/file/d/10vGFfsRjCrP-jKU7L5vrkjZtBF-gV5LN/view?usp=sharing
I executed it without any problems, but pull the repo, some tensorRT issue can be due to different include and library dirs, the last commits solves this cmake issue.
I changed the output bins that in your network are different, the simplier way to check what de bug layers are the YOLO ones is to check what layers weights starts with "g":
This is the code:
@ceccocats sorry, this code seems to be basically the same as mine
Closing for now,
feel free to reopen.