From a2f3644e87c11c222f86aa2aeb0e31d858ebb024 Mon Sep 17 00:00:00 2001
From: Alexey <AlexeyAB@users.noreply.github.com>
Date: Sat, 21 Apr 2018 20:56:46 +0000
Subject: [PATCH] Merge pull request #675 from IlyaOvodov/Flip_Fix
---
src/data.h | 37 ++++++++++++++++++++++++++++++++-----
1 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/src/data.h b/src/data.h
index 0ebdfc3..57f4702 100644
--- a/src/data.h
+++ b/src/data.h
@@ -2,11 +2,14 @@
#define DATA_H
#include <pthread.h>
+#if defined(_MSC_VER) && _MSC_VER < 1900
+ #define inline __inline
+#endif
+
#include "matrix.h"
#include "list.h"
#include "image.h"
-
-extern unsigned int data_seed;
+#include "tree.h"
static inline float distance_from_edge(int x, int max)
{
@@ -24,13 +27,16 @@
matrix X;
matrix y;
int shallow;
+ int *num_boxes;
+ box **boxes;
} data;
typedef enum {
- CLASSIFICATION_DATA, DETECTION_DATA, CAPTCHA_DATA, REGION_DATA, IMAGE_DATA, COMPARE_DATA, WRITING_DATA, SWAG_DATA
+ CLASSIFICATION_DATA, DETECTION_DATA, CAPTCHA_DATA, REGION_DATA, IMAGE_DATA, LETTERBOX_DATA, COMPARE_DATA, WRITING_DATA, SWAG_DATA, TAG_DATA, OLD_CLASSIFICATION_DATA, STUDY_DATA, DET_DATA, SUPER_DATA
} data_type;
typedef struct load_args{
+ int threads;
char **paths;
char *path;
int n;
@@ -43,13 +49,23 @@
int nh;
int nw;
int num_boxes;
+ int min, max, size;
int classes;
int background;
+ int scale;
+ int small_object;
float jitter;
+ int flip;
+ float angle;
+ float aspect;
+ float saturation;
+ float exposure;
+ float hue;
data *d;
image *im;
image *resized;
data_type type;
+ tree *hierarchy;
} load_args;
typedef struct{
@@ -60,13 +76,20 @@
void free_data(data d);
+pthread_t load_data(load_args args);
+
pthread_t load_data_in_thread(load_args args);
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);
-data load_data_detection(int n, char **paths, int m, int classes, int w, int h, int num_boxes, int background);
+data load_data_old(char **paths, int n, int m, char **labels, int k, int w, int h);
+data load_data_detection(int n, char **paths, int m, int w, int h, int boxes, int classes, int use_flip, float jitter, float hue, float saturation, float exposure, int small_object);
+data load_data_tag(char **paths, int n, int m, int k, int use_flip, int min, int max, int size, float angle, float aspect, float hue, float saturation, float exposure);
+matrix load_image_augment_paths(char **paths, int n, int use_flip, int min, int max, int size, float angle, float aspect, float hue, float saturation, float exposure);
+data load_data_super(char **paths, int n, int m, int w, int h, int scale);
+data load_data_augment(char **paths, int n, int m, char **labels, int k, tree *hierarchy, int use_flip, int min, int max, int size, float angle, float aspect, float hue, float saturation, float exposure);
+data load_go(char *filename);
box_label *read_boxes(char *filename, int *n);
data load_cifar10_data(char *filename);
@@ -77,6 +100,8 @@
list *get_paths(char *filename);
char **get_labels(char *filename);
void get_random_batch(data d, int n, float *X, float *y);
+data get_data_part(data d, int part, int total);
+data get_random_data(data d, int num);
void get_next_batch(data d, int n, int offset, float *X, float *y);
data load_categorical_data_csv(char *filename, int target, int k);
void normalize_data_rows(data d);
@@ -85,5 +110,7 @@
void randomize_data(data d);
data *split_data(data d, int part, int total);
data concat_data(data d1, data d2);
+data concat_datas(data *d, int n);
+void fill_truth(char *path, char **labels, int k, float *truth);
#endif
--
Gitblit v1.10.0