From cc79d8c524a111e8324ab6de8db1e85ece7ea556 Mon Sep 17 00:00:00 2001 From: fanasina Date: Fri, 28 Nov 2025 18:45:54 +0100 Subject: [PATCH] y_nnn: debug learning: bash_print_neuron --- neuron_t/src/neuron_t/neuron_t.h | 22 +++++++++++++++++++ .../src/y_net_neur_net/y_nnn_manager.c | 2 ++ 2 files changed, 24 insertions(+) diff --git a/neuron_t/src/neuron_t/neuron_t.h b/neuron_t/src/neuron_t/neuron_t.h index fc65bfb..a172661 100644 --- a/neuron_t/src/neuron_t/neuron_t.h +++ b/neuron_t/src/neuron_t/neuron_t.h @@ -164,5 +164,27 @@ GEN_NEURON_(TYPE_DOUBLE) free(vmsg);\ }while(0);\ +#define BASH_PRINT_ATTRIBUTE_TENS_IN_ALL_LAYERS(type, bash_arg, neuronVar, attribute, msg)\ + do{\ + neurons_##type *tmpn = neuronVar;\ + char *vmsg=malloc(strlen(msg)+70);\ + size_t i=0;\ + size_t lenVMG=0;\ + size_t lenBSH_T=0;\ + while(tmpn){\ + lenVMG = sprintf(vmsg,"%s layer %ld",msg,i++);\ + BASH_WRITE_IF_EXIST(bash_arg,vmsg,lenVMG);\ + if(tmpn->attribute){\ + char *bashSTR=NULL;\ + lenBSH_T=sprint_tensor_##type(&bashSTR, tmpn->attribute, true);\ + BASH_WRITE_IF_EXIST(bash_arg,bashSTR,lenBSH_T);\ + if(bashSTR) free(bashSTR);\ + }\ + tmpn = tmpn->next_layer;\ + }\ + free(vmsg);\ + }while(0);\ + + #endif /*__NEURON_T_C__H*/ diff --git a/y_network_neural_network_/src/y_net_neur_net/y_nnn_manager.c b/y_network_neural_network_/src/y_net_neur_net/y_nnn_manager.c index 82e1bc5..b471a68 100644 --- a/y_network_neural_network_/src/y_net_neur_net/y_nnn_manager.c +++ b/y_network_neural_network_/src/y_net_neur_net/y_nnn_manager.c @@ -158,6 +158,8 @@ void* runBashPrint(void *arg){ //PRINT_ATTRIBUTE_TENS_IN_ALL_LAYERS(TYPE_FLOAT, net_target, output, "net_target_out"); //PRINT_ATTRIBUTE_TENS_IN_ALL_LAYERS(TYPE_FLOAT, net_main, input, "net_main_input"); ////printf(" action : %d , factor : %f nb_episodes : %ld \n",qlStatus->action,rlAgent->qlearnParams->exploration_factor, rlAgent->status->nb_episodes); + BASH_PRINT_ATTRIBUTE_TENS_IN_ALL_LAYERS(TYPE_FLOAT, bash_arg, net_main, weight_in, "net_main_we_in"); + len_buf=sprintf(buf," action : %d , factor : %f nb_episodes : %ld \n",qlStatus->action,rlAgent->qlearnParams->exploration_factor, rlAgent->status->nb_episodes); BASH_WRITE_IF_EXIST(bash_arg, buf, len_buf)