Fix regression introduced by V1.1.37 update (#275)

Signed-off-by: xiang.zhang <xiang.zhang@verisilicon.com>
This commit is contained in:
Sven 2022-01-18 11:36:09 +08:00 committed by GitHub
parent 04cd392b7e
commit a02900d135
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 16 deletions

View File

@ -34,6 +34,7 @@
#include "vsi_nn_log.h" #include "vsi_nn_log.h"
#include "utils/vsi_nn_util.h" #include "utils/vsi_nn_util.h"
#include "utils/vsi_nn_link_list.h" #include "utils/vsi_nn_link_list.h"
#include "kernel/vsi_nn_kernel.h"
#define MAX_SOFTMAX_BATCH 65520 #define MAX_SOFTMAX_BATCH 65520
@ -96,7 +97,7 @@ static vsi_status vsi_nn_softmax_compute
memset(&paramExt, 0, sizeof(vx_nn_softmax_params_ext_t)); memset(&paramExt, 0, sizeof(vx_nn_softmax_params_ext_t));
paramExt.base.beta = self->nn_param.softmax_internal.beta; paramExt.base.beta = self->nn_param.softmax_internal.beta;
paramExt.axis = 0; paramExt.axis = self->nn_param.softmax_internal.axis;
size = sizeof(vx_nn_softmax_params_ext_t); size = sizeof(vx_nn_softmax_params_ext_t);
#else #else
@ -107,9 +108,6 @@ static vsi_status vsi_nn_softmax_compute
base.beta = self->nn_param.softmax_internal.beta; base.beta = self->nn_param.softmax_internal.beta;
#endif #endif
status = VSI_FAILURE;
status = VSI_FAILURE; status = VSI_FAILURE;
if (param->beta == 0.f) if (param->beta == 0.f)
{ {
@ -141,23 +139,25 @@ static vsi_status vsi_nn_softmax_compute
} }
else else
{ {
#ifdef VX_SOFTMAX_AXIS_PARAMETER_SUPPORT float beta = param->beta;
if ( inputs[0]->attr.dim_num > 2 ) int32_t axis = self->nn_param.softmax_internal.axis;
{ vsi_nn_kernel_param_t * kernel_param = NULL;
paramExt.axis = 2;
}
#endif
self->n = vxSoftmaxLayer2( self->graph->g, kernel_param = vsi_nn_kernel_param_create();
inputs[0]->t, vsi_nn_kernel_param_add_float32( kernel_param, "beta", beta );
param, vsi_nn_kernel_param_add_int32( kernel_param, "axis", axis );
size,
outputs[0]->t); self->n = (vx_node)vsi_nn_kernel_selector( self->graph,
"softmax",
inputs, 1,
outputs, 1, kernel_param );;
if( NULL != self->n ) if( NULL != self->n )
{ {
status = VSI_SUCCESS; status = VSI_SUCCESS;
} }
vsi_nn_kernel_param_release( &kernel_param );
} }
return status; return status;