add some functions to convert input char to dimension and tensor
This commit is contained in:
@@ -14,7 +14,7 @@ NEURODIR=$(PWD)/..
|
||||
DIMDIR=$(PWD)/../../dimension_t
|
||||
INCLUDE_DIR=$(PWD)/../src
|
||||
CFLAGS=-I$(INCLUDE_DIR) -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src #"-D DEBUG=1"
|
||||
LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL
|
||||
LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL -lm
|
||||
|
||||
#SRC_DIR=$(ROOT_DIR)/src
|
||||
#SRC=$(wildcard */*/*.c)
|
||||
|
||||
+55
-4
@@ -2,6 +2,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
// for sleep !
|
||||
#ifdef __linux__
|
||||
#include <unistd.h>
|
||||
@@ -19,16 +21,65 @@
|
||||
|
||||
#define VALGRIND_ 1
|
||||
|
||||
TEST(init_One){
|
||||
float L(float t, float o){
|
||||
return (o - t) * (o - t)/2;
|
||||
}
|
||||
float DL(float t, float o){
|
||||
return (o - t);
|
||||
}
|
||||
|
||||
neurons_TYPE_FLOAT *bn=NULL;
|
||||
setup_networks_OneD_TYPE_FLOAT(&bn, (size_t[]){3,4,2},3);
|
||||
print_neurons_msg_TYPE_FLOAT(bn,"bn");
|
||||
float f(float x){
|
||||
return 1/(1+exp((double)(-x)));
|
||||
}
|
||||
|
||||
float df(float x){
|
||||
return exp(-x)/ ((1+exp(-x)) * (1+exp(-x)));
|
||||
}
|
||||
|
||||
|
||||
TEST(init_One){
|
||||
//endian=false;
|
||||
neurons_TYPE_FLOAT *bn=NULL, *tmp=NULL, *ttmp=NULL;
|
||||
setup_networks_OneD_TYPE_FLOAT(&bn, (size_t[]){3,5,2},3);
|
||||
init_in_out_all_networks_OneD_TYPE_FLOAT(bn,(float[]){1.2,0.5,1.3},3,(float[]){0.1,0.8},2);
|
||||
|
||||
|
||||
setup_all_layers_functions_TYPE_FLOAT(bn,
|
||||
tensorContractnProdThread_TYPE_FLOAT,
|
||||
tensorProdThread_TYPE_FLOAT,
|
||||
DL,
|
||||
L,
|
||||
f,
|
||||
df);
|
||||
|
||||
setup_all_layers_params_TYPE_FLOAT(bn, 2, 0.7);
|
||||
|
||||
//print_neurons_msg_TYPE_FLOAT(bn,"bn");
|
||||
|
||||
tmp=bn->next_layer;
|
||||
while(tmp){
|
||||
calc_out_neurons_TYPE_FLOAT(tmp);
|
||||
ttmp = tmp;
|
||||
tmp = tmp->next_layer;
|
||||
}
|
||||
|
||||
|
||||
while(ttmp != bn){
|
||||
calc_delta_neurons_TYPE_FLOAT(ttmp);
|
||||
update_weight_neurons_TYPE_FLOAT(ttmp);
|
||||
ttmp = ttmp->prev_layer;
|
||||
}
|
||||
|
||||
|
||||
print_neurons_msg_TYPE_FLOAT(bn,"bn");
|
||||
|
||||
LOG(" error : %f\n", error_out_TYPE_FLOAT(bn));
|
||||
|
||||
free_neurons_TYPE_FLOAT(bn);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int argc, char **argv){
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user