Joseph Redmon
2015-04-15 d97331b88ff3d50035b1e22c9d0eb671b61227e3
src/data.h
@@ -1,9 +1,24 @@
#ifndef DATA_H
#define DATA_H
#include <pthread.h>
#include "matrix.h"
#include "list.h"
extern unsigned int data_seed;
static inline float distance_from_edge(int x, int max)
{
    int dx = (max/2) - x;
    if (dx < 0) dx = -dx;
    dx = (max/2) + 1 - dx;
    dx *= 2;
    float dist = (float)dx/max;
    if (dist > 1) dist = 1;
    return dist;
}
typedef struct{
    matrix X;
    matrix y;
@@ -12,12 +27,19 @@
void free_data(data d);
data load_data(char **paths, int n, char **labels, int k, int h, int w);
data load_data_random(int n, char **paths, int m, char **labels, int k, int h, int w);
data load_data_detection_random(int n, char **paths, int m, char **labels, int h, int w, int nh, int nw, float scale);
data load_data_image_pathfile(char *filename, char **labels, int k, int h, int w);
void print_letters(float *pred, int n);
data load_data_captcha(char **paths, int n, int m, int k, int w, int h);
data load_data_captcha_encode(char **paths, int n, int m, int w, int h);
data load_data(char **paths, int n, int m, char **labels, int k, int w, int h);
pthread_t load_data_thread(char **paths, int n, int m, char **labels, int k, int w, int h, data *d);
pthread_t load_data_detection_thread(int n, char **paths, int m, int classes, int w, int h, int nh, int nw, int background, data *d);
data load_data_detection_jitter_random(int n, char **paths, int m, int classes, int w, int h, int num_boxes, int background);
data load_cifar10_data(char *filename);
data load_all_cifar10();
list *get_paths(char *filename);
char **get_labels(char *filename);
void get_random_batch(data d, int n, float *X, float *y);