| | |
| | | free_data(test); |
| | | } |
| | | |
| | | void extract_cifar() |
| | | { |
| | | char *labels[] = {"airplane","automobile","bird","cat","deer","dog","frog","horse","ship","truck"}; |
| | | int i; |
| | | data train = load_all_cifar10(); |
| | | data test = load_cifar10_data("data/cifar/cifar-10-batches-bin/test_batch.bin"); |
| | | for(i = 0; i < train.X.rows; ++i){ |
| | | image im = float_to_image(32, 32, 3, train.X.vals[i]); |
| | | int class = max_index(train.y.vals[i], 10); |
| | | char buff[256]; |
| | | sprintf(buff, "data/cifar/train/%d_%s",i,labels[class]); |
| | | save_image_png(im, buff); |
| | | } |
| | | for(i = 0; i < test.X.rows; ++i){ |
| | | image im = float_to_image(32, 32, 3, test.X.vals[i]); |
| | | int class = max_index(test.y.vals[i], 10); |
| | | char buff[256]; |
| | | sprintf(buff, "data/cifar/test/%d_%s",i,labels[class]); |
| | | save_image_png(im, buff); |
| | | } |
| | | } |
| | | |
| | | void test_cifar_csv(char *filename, char *weightfile) |
| | | { |
| | | network net = parse_network_cfg(filename); |
| | |
| | | char *cfg = argv[3]; |
| | | char *weights = (argc > 4) ? argv[4] : 0; |
| | | if(0==strcmp(argv[2], "train")) train_cifar(cfg, weights); |
| | | else if(0==strcmp(argv[2], "extract")) extract_cifar(); |
| | | else if(0==strcmp(argv[2], "distill")) train_cifar_distill(cfg, weights); |
| | | else if(0==strcmp(argv[2], "test")) test_cifar(cfg, weights); |
| | | else if(0==strcmp(argv[2], "multi")) test_cifar_multi(cfg, weights); |