add some test deep reinforcement learning

This commit is contained in:
2024-07-18 02:10:30 +02:00
parent 491d0c283f
commit e64cef1688
6 changed files with 484 additions and 34 deletions
+3 -4
View File
@@ -193,7 +193,7 @@ do{\
\
ppEnd=ttmp;\
if( !bracketsDown){\
while(*ttmp!=0 && *ppEnd!=']' ){\
while(*ttmp!='\0' && *ppEnd!=']' ){\
ss = strtoul(ttmp, &ppEnd, 10);\
while(ttmp == ppEnd && *ttmp!='\0' && ppEnd[0] !=']'){\
ttmp++;\
@@ -207,11 +207,11 @@ do{\
if( *ttmp ==']'){\
dim=create_dim_from_list_perm(l_p);\
bracketsDown = true;\
ttmp++; ppEnd++;\
/*ttmp++; ppEnd++;*/\
}\
\
}\
else{/*if(bracketsDown)*/\
if(bracketsDown){\
\
if(T->dim->rank == dim->rank){\
\
@@ -235,7 +235,6 @@ do{\
}else {\
tensorNotMatched = true;\
Done = true;\
printf(" T->%s doesn't have the same rank as the input ! extract failed\n",#attribute);\
break;\
}\
}\
+72 -2
View File
@@ -399,7 +399,6 @@ TEST(copy_weight_in_neurons){
}
TEST(Extract_weight_in_neurons){
bool rec_randomizeInitWeight = randomizeInitWeight;
randomizeInitWeight =false;
@@ -424,7 +423,7 @@ TEST(Extract_weight_in_neurons){
setup_all_layers_params_TYPE_FLOAT(bn, 5, 1 , 0.1);
size_t reps = learning_online2_neurons_TYPE_FLOAT(bn,ds,cond);
size_t reps = 1;// learning_online2_neurons_TYPE_FLOAT(bn,ds,cond);
EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_bn_weight_in__toExtract.txt")
setup_all_layers_functions_TYPE_FLOAT(cpyn,
@@ -468,6 +467,77 @@ TEST(Extract_weight_in_neurons){
TEST(Extract_EXPORT_weight_in_neurons){
bool rec_randomizeInitWeight = randomizeInitWeight;
randomizeInitWeight =false;
data_set_TYPE_FLOAT *ds= fill_data_set_from_file_TYPE_FLOAT("xor.txt",1);
// print_data_set_msg_TYPE_FLOAT(ds,"data");
//config_layers *pconf = create_config_layers_from_OneD(3,(size_t[]){2,4,1}); /* 2 input , 1 target; 1 hidden layer with 5 neurons */
config_layers *pconf = create_config_layers_from_OneD(4,(size_t[]){3,24,24,3});
neurons_TYPE_FLOAT *bn=NULL, *tmp ;
neurons_TYPE_FLOAT *cpyn=NULL;
//setup_networks_alloutputs_config_GLOBAL_rdm01_TYPE_FLOAT(setup_networks_alloutputs_config_TYPE_FLOAT(&bn,pconf);bn,pconf);
setup_networks_alloutputs_config_TYPE_FLOAT(&bn,pconf,false,0,1,5000);
setup_networks_alloutputs_config_TYPE_FLOAT(&cpyn, pconf,false,0,1,5000);
EXTRACT_FILE_TO_TENSOR_ATTRIBUTE_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_target_20240717_01h43m41s_13300.txt")
setup_all_layers_functions_TYPE_FLOAT(bn,
tensorContractnProdThread_TYPE_FLOAT,
tensorProdThread_TYPE_FLOAT,
DL,
L,
f,
df);
setup_all_layers_params_TYPE_FLOAT(bn, 5, 1 , 0.1);
size_t reps = 1;// learning_online2_neurons_TYPE_FLOAT(bn,ds,cond);
EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_bn_weight_in__toCMP.txt")
setup_all_layers_functions_TYPE_FLOAT(cpyn,
tensorContractnProdThread_TYPE_FLOAT,
tensorProdThread_TYPE_FLOAT,
DL,
L,
f,
df);
setup_all_layers_params_TYPE_FLOAT(cpyn, 5, 1 , 0.1);
// EXTRACT_FILE_TO_TENSOR_ATTRIBUTE_NNEURONS(TYPE_FLOAT, cpyn, weight_in, ".ff_bn_weight_in__toExtract.txt")
// copy_weight_in_neurons_TYPE_FLOAT(cpyn, bn);
char msg[256];
tensor_TYPE_FLOAT * linked_tens = NULL;
for(size_t i=0; i<ds->size; ++i){
// print_predict_by_network_with_error_neurons_TYPE_FLOAT(bn,ds->input[i],ds->target[i]);
// print_predict_by_network_with_error_neurons_TYPE_FLOAT(cpyn,ds->input[i],ds->target[i]);
calculate_output_by_network_neurons_TYPE_FLOAT(bn,ds->input[i],&linked_tens);
sprintf(msg," output base %ld ",i);
print_tensor_msg_TYPE_FLOAT(linked_tens,msg);
calculate_output_by_network_neurons_TYPE_FLOAT(cpyn,ds->input[i],&linked_tens);
sprintf(msg," output copy %ld ",i);
print_tensor_msg_TYPE_FLOAT(linked_tens,msg);
}
// EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_FLOAT, cpyn, weight_in, ".ff_bn_weight_in__exportedCPYfromExtract.txt")
free_data_set_TYPE_FLOAT(ds);
free_neurons_TYPE_FLOAT(bn);
free_neurons_TYPE_FLOAT(cpyn);
LOG("reps = %ld\n",reps);
randomizeInitWeight = rec_randomizeInitWeight;
}
int main(int argc, char **argv){