pull/1117/head
AlexeyAB 7 years ago
parent 24c889d857
commit f88d23ad34
  1. 7
      src/detector.c
  2. 27
      src/yolo_v2_class.cpp

@ -61,12 +61,13 @@ void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, i
srand(time(0));
network net = nets[0];
if ((net.batch * net.subdivisions) == 1) {
const int actual_batch_size = net.batch * net.subdivisions;
if (actual_batch_size == 1) {
printf("\n Error: You set incorrect value batch=1 for Training! You should set batch=64 subdivision=64 \n");
getchar();
}
else if ((net.batch * net.subdivisions) < 64) {
printf("\n Warning: You set batch= lower than 64! It is recommended to set batch=64 subdivision=64 \n");
else if (actual_batch_size < 64) {
printf("\n Warning: You set batch=%d lower than 64! It is recommended to set batch=64 subdivision=64 \n", actual_batch_size);
}
int imgs = net.batch * net.subdivisions * ngpus;

@ -24,24 +24,18 @@ extern "C" {
int max_objects() { return C_SHARP_MAX_OBJECTS; }
static Detector* detector;
//static std::unique_ptr<Detector> detector;
//static Detector* detector = NULL;
static std::unique_ptr<Detector> detector;
int init(const char *configurationFilename, const char *weightsFilename, int gpu) {
std::string configurationFilenameString;
configurationFilenameString = configurationFilename;
std::string weightsFilenameString;
weightsFilenameString = weightsFilename;
detector = new Detector(configurationFilenameString, weightsFilenameString, gpu);
int init(const char *configurationFilename, const char *weightsFilename, int gpu)
{
detector.reset(new Detector(configurationFilename, weightsFilename, gpu));
return 1;
}
int detect_image(const char *filename, bbox_t_container &container) {
std::string filenameString;
filenameString = filename;
std::vector<bbox_t> detection = detector->detect(filenameString);
int detect_image(const char *filename, bbox_t_container &container)
{
std::vector<bbox_t> detection = detector->detect(filename);
for (size_t i = 0; i < detection.size() && i < C_SHARP_MAX_OBJECTS; ++i)
container.candidates[i] = detection[i];
return detection.size();
@ -62,8 +56,9 @@ int detect_mat(const uint8_t* data, const size_t data_length, bbox_t_container &
}
int dispose() {
detector->~Detector();
//detector.reset();
//if (detector != NULL) delete detector;
//detector = NULL;
detector.reset();
return 1;
}

Loading…
Cancel
Save