new font strategy
Before Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 783 B |
Before Width: | Height: | Size: 469 B |
Before Width: | Height: | Size: 936 B |
Before Width: | Height: | Size: 532 B |
Before Width: | Height: | Size: 325 B |
Before Width: | Height: | Size: 415 B |
Before Width: | Height: | Size: 619 B |
Before Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 644 B |
Before Width: | Height: | Size: 526 B |
Before Width: | Height: | Size: 787 B |
Before Width: | Height: | Size: 745 B |
Before Width: | Height: | Size: 736 B |
Before Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 787 B |
Before Width: | Height: | Size: 462 B |
Before Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 708 B |
Before Width: | Height: | Size: 934 B |
Before Width: | Height: | Size: 718 B |
Before Width: | Height: | Size: 808 B |
Before Width: | Height: | Size: 560 B |
Before Width: | Height: | Size: 689 B |
Before Width: | Height: | Size: 306 B |
Before Width: | Height: | Size: 697 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 415 B |
Before Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 729 B |
Before Width: | Height: | Size: 922 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 373 B |
Before Width: | Height: | Size: 678 B |
Before Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 332 B |
Before Width: | Height: | Size: 595 B |
Before Width: | Height: | Size: 888 B |
Before Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 779 B |
Before Width: | Height: | Size: 888 B |
Before Width: | Height: | Size: 597 B |
Before Width: | Height: | Size: 825 B |
Before Width: | Height: | Size: 954 B |
Before Width: | Height: | Size: 633 B |
Before Width: | Height: | Size: 963 B |
Before Width: | Height: | Size: 960 B |
Before Width: | Height: | Size: 353 B |
Before Width: | Height: | Size: 426 B |
Before Width: | Height: | Size: 640 B |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 641 B |
Before Width: | Height: | Size: 722 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 855 B |
Before Width: | Height: | Size: 764 B |
Before Width: | Height: | Size: 902 B |
Before Width: | Height: | Size: 702 B |
Before Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 928 B |
Before Width: | Height: | Size: 391 B |
Before Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 779 B |
Before Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 796 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 982 B |
Before Width: | Height: | Size: 598 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 733 B |
Before Width: | Height: | Size: 976 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 646 B |
Before Width: | Height: | Size: 874 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 908 B |
Before Width: | Height: | Size: 686 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 605 B |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 592 B |
Before Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 385 B |
Before Width: | Height: | Size: 818 B |
Before Width: | Height: | Size: 740 B |
Before Width: | Height: | Size: 743 B |
@ -2,18 +2,22 @@ import os
|
||||
import string
|
||||
import pipes
|
||||
|
||||
#l = ["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush", "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"]
|
||||
font = 'futura-normal'
|
||||
|
||||
l = string.printable
|
||||
def make_labels(s):
|
||||
l = string.printable
|
||||
for word in l:
|
||||
if word == ' ':
|
||||
os.system('convert -fill black -background white -bordercolor white -font %s -pointsize %d label:"\ " 32_%d.png'%(font,s,s/12-1))
|
||||
if word == '@':
|
||||
os.system('convert -fill black -background white -bordercolor white -font %s -pointsize %d label:"\@" 64_%d.png'%(font,s,s/12-1))
|
||||
elif word == '\\':
|
||||
os.system('convert -fill black -background white -bordercolor white -font %s -pointsize %d label:"\\\\\\\\" 92_%d.png'%(font,s,s/12-1))
|
||||
elif ord(word) in [9,10,11,12,13,14]:
|
||||
pass
|
||||
else:
|
||||
os.system("convert -fill black -background white -bordercolor white -font %s -pointsize %d label:%s \"%d_%d.png\""%(font,s,pipes.quote(word), ord(word),s/12-1))
|
||||
|
||||
for word in l:
|
||||
#os.system("convert -fill black -background white -bordercolor white -border 4 -font futura-normal -pointsize 18 label:\"%s\" \"%s.png\""%(word, word))
|
||||
if word == ' ':
|
||||
os.system('convert -fill black -background white -bordercolor white -font futura-normal -pointsize 64 label:"\ " 32.png')
|
||||
elif word == '\\':
|
||||
os.system('convert -fill black -background white -bordercolor white -font futura-normal -pointsize 64 label:"\\\\\\\\" 92.png')
|
||||
elif ord(word) in [9,10,11,12,13,14]:
|
||||
pass
|
||||
else:
|
||||
os.system("convert -fill black -background white -bordercolor white -font futura-normal -pointsize 64 label:%s \"%d.png\""%(pipes.quote(word), ord(word)))
|
||||
for i in [12,24,36,48,60,72,84,96]:
|
||||
make_labels(i)
|
||||
|
||||
|
@ -13,50 +13,6 @@
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
#endif
|
||||
|
||||
list *read_data_cfg(char *filename)
|
||||
{
|
||||
FILE *file = fopen(filename, "r");
|
||||
if(file == 0) file_error(filename);
|
||||
char *line;
|
||||
int nu = 0;
|
||||
list *options = make_list();
|
||||
while((line=fgetl(file)) != 0){
|
||||
++ nu;
|
||||
strip(line);
|
||||
switch(line[0]){
|
||||
case '\0':
|
||||
case '#':
|
||||
case ';':
|
||||
free(line);
|
||||
break;
|
||||
default:
|
||||
if(!read_option(line, options)){
|
||||
fprintf(stderr, "Config file error line %d, could parse: %s\n", nu, line);
|
||||
free(line);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose(file);
|
||||
return options;
|
||||
}
|
||||
|
||||
void hierarchy_predictions(float *predictions, int n, tree *hier, int only_leaves)
|
||||
{
|
||||
int j;
|
||||
for(j = 0; j < n; ++j){
|
||||
int parent = hier->parent[j];
|
||||
if(parent >= 0){
|
||||
predictions[j] *= predictions[parent];
|
||||
}
|
||||
}
|
||||
if(only_leaves){
|
||||
for(j = 0; j < n; ++j){
|
||||
if(!hier->leaf[j]) predictions[j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float *get_regression_values(char **labels, int n)
|
||||
{
|
||||
float *v = calloc(n, sizeof(float));
|
||||
@ -488,26 +444,6 @@ void validate_classifier_full(char *datacfg, char *filename, char *weightfile)
|
||||
}
|
||||
}
|
||||
|
||||
void change_leaves(tree *t, char *leaf_list)
|
||||
{
|
||||
list *llist = get_paths(leaf_list);
|
||||
char **leaves = (char **)list_to_array(llist);
|
||||
int n = llist->size;
|
||||
int i,j;
|
||||
int found = 0;
|
||||
for(i = 0; i < t->n; ++i){
|
||||
t->leaf[i] = 0;
|
||||
for(j = 0; j < n; ++j){
|
||||
if (0==strcmp(t->name[i], leaves[j])){
|
||||
t->leaf[i] = 1;
|
||||
++found;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "Found %d leaves.\n", found);
|
||||
}
|
||||
|
||||
|
||||
void validate_classifier_single(char *datacfg, char *filename, char *weightfile)
|
||||
{
|
||||
|
@ -318,7 +318,7 @@ void validate_coco_recall(char *cfgfile, char *weightfile)
|
||||
|
||||
void test_coco(char *cfgfile, char *weightfile, char *filename, float thresh)
|
||||
{
|
||||
image *alphabet = load_alphabet();
|
||||
image **alphabet = load_alphabet();
|
||||
network net = parse_network_cfg(cfgfile);
|
||||
if(weightfile){
|
||||
load_weights(&net, weightfile);
|
||||
|
@ -215,6 +215,10 @@ void pull_convolutional_layer(convolutional_layer layer)
|
||||
cuda_pull_array(layer.rolling_mean_gpu, layer.rolling_mean, layer.n);
|
||||
cuda_pull_array(layer.rolling_variance_gpu, layer.rolling_variance, layer.n);
|
||||
}
|
||||
if (layer.adam){
|
||||
cuda_pull_array(layer.m_gpu, layer.m, layer.c*layer.n*layer.size*layer.size);
|
||||
cuda_pull_array(layer.v_gpu, layer.v, layer.c*layer.n*layer.size*layer.size);
|
||||
}
|
||||
}
|
||||
|
||||
void push_convolutional_layer(convolutional_layer layer)
|
||||
@ -228,6 +232,10 @@ void push_convolutional_layer(convolutional_layer layer)
|
||||
cuda_push_array(layer.rolling_mean_gpu, layer.rolling_mean, layer.n);
|
||||
cuda_push_array(layer.rolling_variance_gpu, layer.rolling_variance, layer.n);
|
||||
}
|
||||
if (layer.adam){
|
||||
cuda_push_array(layer.m_gpu, layer.m, layer.c*layer.n*layer.size*layer.size);
|
||||
cuda_push_array(layer.v_gpu, layer.v, layer.c*layer.n*layer.size*layer.size);
|
||||
}
|
||||
}
|
||||
|
||||
void update_convolutional_layer_gpu(convolutional_layer layer, int batch, float learning_rate, float momentum, float decay)
|
||||
|
@ -235,6 +235,11 @@ convolutional_layer make_convolutional_layer(int batch, int h, int w, int c, int
|
||||
l.rolling_mean = calloc(n, sizeof(float));
|
||||
l.rolling_variance = calloc(n, sizeof(float));
|
||||
}
|
||||
if(adam){
|
||||
l.adam = 1;
|
||||
l.m = calloc(c*n*size*size, sizeof(float));
|
||||
l.v = calloc(c*n*size*size, sizeof(float));
|
||||
}
|
||||
|
||||
#ifdef GPU
|
||||
l.forward_gpu = forward_convolutional_layer_gpu;
|
||||
@ -243,9 +248,8 @@ convolutional_layer make_convolutional_layer(int batch, int h, int w, int c, int
|
||||
|
||||
if(gpu_index >= 0){
|
||||
if (adam) {
|
||||
l.adam = 1;
|
||||
l.m_gpu = cuda_make_array(l.weight_updates, c*n*size*size);
|
||||
l.v_gpu = cuda_make_array(l.weight_updates, c*n*size*size);
|
||||
l.m_gpu = cuda_make_array(l.m, c*n*size*size);
|
||||
l.v_gpu = cuda_make_array(l.v, c*n*size*size);
|
||||
}
|
||||
|
||||
l.weights_gpu = cuda_make_array(l.weights, c*n*size*size);
|
||||
|