| | |
| | | //char *train_images = "/home/pjreddie/data/voc/test/train.txt"; |
| | | //char *train_images = "/home/pjreddie/data/coco/train.txt"; |
| | | char *train_images = "data/coco.trainval.txt"; |
| | | //char *train_images = "data/bags.train.list"; |
| | | char *backup_directory = "/home/pjreddie/backup/"; |
| | | srand(time(0)); |
| | | data_seed = time(0); |
| | | char *base = basecfg(cfgfile); |
| | | printf("%s\n", base); |
| | | float avg_loss = -1; |
| | |
| | | args.d = &buffer; |
| | | args.type = REGION_DATA; |
| | | |
| | | args.angle = net.angle; |
| | | args.exposure = net.exposure; |
| | | args.saturation = net.saturation; |
| | | args.hue = net.hue; |
| | | |
| | | pthread_t load_thread = load_data_in_thread(args); |
| | | clock_t time; |
| | | //while(i*imgs < N*120){ |
| | |
| | | avg_loss = avg_loss*.9 + loss*.1; |
| | | |
| | | printf("%d: %f, %f avg, %f rate, %lf seconds, %d images\n", i, loss, avg_loss, get_current_rate(net), sec(clock()-time), i*imgs); |
| | | if(i%1000==0){ |
| | | if(i%1000==0 || (i < 1000 && i%100 == 0)){ |
| | | char buff[256]; |
| | | sprintf(buff, "%s/%s_%d.weights", backup_directory, base, i); |
| | | save_weights(net, buff); |
| | | } |
| | | if(i%100==0){ |
| | | char buff[256]; |
| | | sprintf(buff, "%s/%s.backup", backup_directory, base); |
| | | save_weights(net, buff); |
| | | } |
| | | free_data(train); |
| | | } |
| | | char buff[256]; |
| | |
| | | convert_detections(predictions, l.classes, l.n, l.sqrt, l.side, 1, 1, thresh, probs, boxes, 0); |
| | | if (nms) do_nms_sort(boxes, probs, l.side*l.side*l.n, l.classes, nms); |
| | | draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, coco_classes, coco_labels, 80); |
| | | save_image(im, "prediction"); |
| | | show_image(im, "predictions"); |
| | | |
| | | show_image(sized, "resized"); |
| | | free_image(im); |
| | | free_image(sized); |
| | | #ifdef OPENCV |