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 string
|
||||||
import pipes
|
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:
|
for i in [12,24,36,48,60,72,84,96]:
|
||||||
#os.system("convert -fill black -background white -bordercolor white -border 4 -font futura-normal -pointsize 18 label:\"%s\" \"%s.png\""%(word, word))
|
make_labels(i)
|
||||||
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)))
|
|
||||||
|
|
||||||
|
@ -13,50 +13,6 @@
|
|||||||
image get_image_from_stream(CvCapture *cap);
|
image get_image_from_stream(CvCapture *cap);
|
||||||
#endif
|
#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 *get_regression_values(char **labels, int n)
|
||||||
{
|
{
|
||||||
float *v = calloc(n, sizeof(float));
|
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)
|
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)
|
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);
|
network net = parse_network_cfg(cfgfile);
|
||||||
if(weightfile){
|
if(weightfile){
|
||||||
load_weights(&net, 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_mean_gpu, layer.rolling_mean, layer.n);
|
||||||
cuda_pull_array(layer.rolling_variance_gpu, layer.rolling_variance, 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)
|
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_mean_gpu, layer.rolling_mean, layer.n);
|
||||||
cuda_push_array(layer.rolling_variance_gpu, layer.rolling_variance, 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)
|
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_mean = calloc(n, sizeof(float));
|
||||||
l.rolling_variance = 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
|
#ifdef GPU
|
||||||
l.forward_gpu = forward_convolutional_layer_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(gpu_index >= 0){
|
||||||
if (adam) {
|
if (adam) {
|
||||||
l.adam = 1;
|
l.m_gpu = cuda_make_array(l.m, c*n*size*size);
|
||||||
l.m_gpu = cuda_make_array(l.weight_updates, c*n*size*size);
|
l.v_gpu = cuda_make_array(l.v, c*n*size*size);
|
||||||
l.v_gpu = cuda_make_array(l.weight_updates, c*n*size*size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
l.weights_gpu = cuda_make_array(l.weights, c*n*size*size);
|
l.weights_gpu = cuda_make_array(l.weights, c*n*size*size);
|
||||||
|