void inter_dcgan(char *cfgfile, char *weightfile) { network *net = load_network(cfgfile, weightfile, 0); set_batch_network(net, 1); srand(2222222); clock_t time; char buff[256]; char *input = buff; int i, imlayer = 0; for (i = 0; i < net->n; ++i) { if (net->layers[i].out_c == 3) { imlayer = i; printf("%d\n", i); break; } } image start = random_unit_vector_image(net->w, net->h, net->c); image end = random_unit_vector_image(net->w, net->h, net->c); image im = make_image(net->w, net->h, net->c); image orig = copy_image(start); int c = 0; int count = 0; int max_count = 15; while(1){ ++c; if(count == max_count){ count = 0; free_image(start); start = end; end = random_unit_vector_image(net->w, net->h, net->c); if(c > 300){ end = orig; } if(c>300 + max_count) return; } ++count; slerp(start.data, end.data, (float)count / max_count, im.w*im.h*im.c, im.data); float *X = im.data; time=clock(); network_predict(net, X); image out = get_network_image_layer(net, imlayer); //yuv_to_rgb(out); normalize_image(out); printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time)); //char buff[256]; sprintf(buff, "out%05d", c); save_image(out, "out"); save_image(out, buff); show_image(out, "out", 0); } }
float * grass_texture(int width, int height) { float * noise = (float *) malloc(sizeof(float) * width * height); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { noise[x * width + y] = perlin_noise((x + 0.3)/63.2f, (y + 0.7)/63.8f, 0.8, 8); } } normalize_image(noise, width, height); return noise; }
void InvBox::solve_1D_and_transpose(float *dst, float *src, size_t w, size_t h, float *GECoeff, float *invDiag) { // considering the border normalize_image(dst, src, w, h); // dst = integral(src) build_integral_image(dst, w, h); // src = box integrated image (calculated from intrgral image and original image) apply_box_filter(src, src, dst, w, h); // apply G.E. to src GE(src, w, h, GECoeff, invDiag); // dst = transpose(src) transpose(dst, src, w, h); }
image *get_weights(convolutional_layer l) { image *weights = calloc(l.n, sizeof(image)); int i; for(i = 0; i < l.n; ++i){ weights[i] = copy_image(get_convolutional_weight(l, i)); normalize_image(weights[i]); /* char buff[256]; sprintf(buff, "filter%d", i); save_image(weights[i], buff); */ } //error("hey"); return weights; }
void show_images(image *ims, int n, char *window) { image m = collapse_images_vert(ims, n); /* int w = 448; int h = ((float)m.h/m.w) * 448; if(h > 896){ h = 896; w = ((float)m.w/m.h) * 896; } image sized = resize_image(m, w, h); */ normalize_image(m); image sized = resize_image(m, m.w, m.h); save_image(sized, window); show_image(sized, window); free_image(sized); free_image(m); }
void test_dcgan(char *cfgfile, char *weightfile) { network *net = load_network(cfgfile, weightfile, 0); set_batch_network(net, 1); srand(2222222); clock_t time; char buff[256]; char *input = buff; int i, imlayer = 0; for (i = 0; i < net->n; ++i) { if (net->layers[i].out_c == 3) { imlayer = i; printf("%d\n", i); break; } } while(1){ image im = make_image(net->w, net->h, net->c); int i; for(i = 0; i < im.w*im.h*im.c; ++i){ im.data[i] = rand_normal(); } float *X = im.data; time=clock(); network_predict(net, X); image out = get_network_image_layer(net, imlayer); //yuv_to_rgb(out); normalize_image(out); printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time)); show_image(out, "out"); save_image(out, "out"); #ifdef OPENCV cvWaitKey(0); #endif free_image(im); } }
void test_dcgan(char *cfgfile, char *weightfile) { network *net = load_network(cfgfile, weightfile, 0); set_batch_network(net, 1); srand(2222222); clock_t time; char buff[256]; char *input = buff; int imlayer = 0; imlayer = net->n-1; while(1){ image im = make_image(net->w, net->h, net->c); int i; for(i = 0; i < im.w*im.h*im.c; ++i){ im.data[i] = rand_normal(); } //float mag = mag_array(im.data, im.w*im.h*im.c); //scale_array(im.data, im.w*im.h*im.c, 1./mag); float *X = im.data; time=clock(); network_predict(net, X); image out = get_network_image_layer(net, imlayer); //yuv_to_rgb(out); normalize_image(out); printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time)); save_image(out, "out"); show_image(out, "out", 0); free_image(im); } free_network(net); }