y_socket: try send file, neuron_t: modify EXTRACT from filr to neuron/tensor

This commit is contained in:
2025-04-19 09:12:58 +02:00
parent b156cdbf51
commit 9674422b1e
5 changed files with 333 additions and 144 deletions
+94 -4
View File
@@ -424,7 +424,7 @@ TEST(Extract_weight_in_neurons){
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")
//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,
tensorContractnProdThread_TYPE_FLOAT,
@@ -438,6 +438,7 @@ TEST(Extract_weight_in_neurons){
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);
EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_bn_weight_in__toExtract___exp.txt")
char msg[256];
tensor_TYPE_FLOAT * linked_tens = NULL;
@@ -465,8 +466,6 @@ TEST(Extract_weight_in_neurons){
}
TEST(Extract_EXPORT_weight_in_neurons){
bool rec_randomizeInitWeight = randomizeInitWeight;
randomizeInitWeight =false;
@@ -481,6 +480,7 @@ TEST(Extract_EXPORT_weight_in_neurons){
setup_networks_alloutputs_config_TYPE_FLOAT(&bn,pconf,false,0,1,5000);
setup_networks_alloutputs_config_TYPE_FLOAT(&cpyn, pconf,false,0,1,5000);
//print_weight_in_neurons_TYPE_FLOAT(bn, "");
EXTRACT_FILE_TO_TENSOR_ATTRIBUTE_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_target_20240717_01h43m41s_13300.txt")
setup_all_layers_functions_TYPE_FLOAT(bn,
@@ -495,7 +495,8 @@ TEST(Extract_EXPORT_weight_in_neurons){
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")
EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_FLOAT, bn, weight_in, ".ff_bn_weight_in__toCMP__.txt")
print_weight_in_neurons_TYPE_FLOAT(bn, "");
setup_all_layers_functions_TYPE_FLOAT(cpyn,
tensorContractnProdThread_TYPE_FLOAT,
@@ -538,6 +539,95 @@ TEST(Extract_EXPORT_weight_in_neurons){
double doubleL(double t, double o){
return (o - t) * (o - t)/2;
}
double doubleDL(double t, double o){
return (o - t);
}
double doublef(double x){
return 1/(1+exp((double)(-x)));
}
double doubledf(double x){
return exp(-x)/ ((1+exp(-x)) * (1+exp(-x)));
}
TEST(Extract_EXPORT_weight_in_neurons_double){
bool rec_randomizeInitWeight = randomizeInitWeight;
randomizeInitWeight =false;
data_set_TYPE_DOUBLE *ds= fill_data_set_from_file_TYPE_DOUBLE("xor.txt",1);
// print_data_set_msg_TYPE_DOUBLE(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_DOUBLE *bn=NULL, *tmp ;
neurons_TYPE_DOUBLE *cpyn=NULL;
//setup_networks_alloutputs_config_GLOBAL_rdm01_TYPE_DOUBLE(setup_networks_alloutputs_config_TYPE_DOUBLE(&bn,pconf);bn,pconf);
setup_networks_alloutputs_config_TYPE_DOUBLE(&bn,pconf,false,0,1,5000);
setup_networks_alloutputs_config_TYPE_DOUBLE(&cpyn, pconf,false,0,1,5000);
EXTRACT_FILE_TO_TENSOR_ATTRIBUTE_NNEURONS(TYPE_DOUBLE, bn, weight_in, ".ff_target_20240717_01h43m41s_13300.txt")
setup_all_layers_functions_TYPE_DOUBLE(bn,
tensorContractnProdThread_TYPE_DOUBLE,
tensorProdThread_TYPE_DOUBLE,
doubleDL,
doubleL,
doublef,
doubledf);
setup_all_layers_params_TYPE_DOUBLE(bn, 5, 1 , 0.1);
size_t reps = 1;// learning_online2_neurons_TYPE_DOUBLE(bn,ds,cond);
// EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_DOUBLE, bn, weight_in, ".ff_bn_weight_in__toCMP__.txt")
print_weight_in_neurons_TYPE_DOUBLE(bn, "");
setup_all_layers_functions_TYPE_DOUBLE(cpyn,
tensorContractnProdThread_TYPE_DOUBLE,
tensorProdThread_TYPE_DOUBLE,
doubleDL,
doubleL,
doublef,
doubledf);
setup_all_layers_params_TYPE_DOUBLE(cpyn, 5, 1 , 0.1);
// EXTRACT_FILE_TO_TENSOR_ATTRIBUTE_NNEURONS(TYPE_DOUBLE, cpyn, weight_in, ".ff_bn_weight_in__toExtract.txt")
// copy_weight_in_neurons_TYPE_DOUBLE(cpyn, bn);
char msg[256];
tensor_TYPE_DOUBLE * linked_tens = NULL;
for(size_t i=0; i<ds->size; ++i){
// print_predict_by_network_with_error_neurons_TYPE_DOUBLE(bn,ds->input[i],ds->target[i]);
// print_predict_by_network_with_error_neurons_TYPE_DOUBLE(cpyn,ds->input[i],ds->target[i]);
calculate_output_by_network_neurons_TYPE_DOUBLE(bn,ds->input[i],&linked_tens);
sprintf(msg," output base %ld ",i);
print_tensor_msg_TYPE_DOUBLE(linked_tens,msg);
calculate_output_by_network_neurons_TYPE_DOUBLE(cpyn,ds->input[i],&linked_tens);
sprintf(msg," output copy %ld ",i);
print_tensor_msg_TYPE_DOUBLE(linked_tens,msg);
}
// EXPORT_TO_FILE_TENSOR_ATTRIBUTE_IN_NNEURONS(TYPE_DOUBLE, cpyn, weight_in, ".ff_bn_weight_in__exportedCPYfromExtract.txt")
free_data_set_TYPE_DOUBLE(ds);
free_neurons_TYPE_DOUBLE(bn);
free_neurons_TYPE_DOUBLE(cpyn);
LOG("reps = %ld\n",reps);
randomizeInitWeight = rec_randomizeInitWeight;
}
int main(int argc, char **argv){