src/graph/backends/GLES/GCFunctionsFactory.cpp
/** Create a backend softmax layer function
 *
 * @param[in] node Node to create the backend function for
 *
 * @return Backend softmax layer function
 */
Create a backend softmax layer function
@param[in] node Node to create the backend function for

@return Backend softmax layer function
Create a backend softmax layer function @param [ in ] node Node to create the backend function for @return Backend softmax layer function
std::unique_ptr<IFunction> create_softmax_layer(SoftmaxLayerNode &node, GraphContext &ctx)
{
    ARM_COMPUTE_LOG_GRAPH_VERBOSE(
        "Creating GC SoftmaxLayer node with ID : " << node.id() << " and Name: " << node.name() << std::endl);
    ARM_COMPUTE_ERROR_ON(node.num_inputs() != 1);
    ARM_COMPUTE_ERROR_ON(node.num_outputs() != 1);
    IGCTensor *input  = get_backing_tensor(node.input(0));
    IGCTensor *output = get_backing_tensor(node.output(0));
    const float beta   = node.beta();
    ARM_COMPUTE_ERROR_ON(input == nullptr);
    ARM_COMPUTE_ERROR_ON(output == nullptr);
    auto func = support::cpp14::make_unique<GCSoftmaxLayer>(get_memory_manager(ctx, Target::CL));
    func->configure(input, output, beta);
    ARM_COMPUTE_LOG_GRAPH_INFO("Instantiated GCSoftmaxLayer"
                               << " Data Type: " << input->info()->data_type()
                               << " Input shape: " << input->info()->tensor_shape()
                               << " Output shape: " << output->info()->tensor_shape()
                               << std::endl);
    return std::move(func);
}
std :: unique_ptr < IFunction > create_softmax_layer ( SoftmaxLayerNode & node , GraphContext & ctx ) { ARM_COMPUTE_LOG_GRAPH_VERBOSE ( " " << node . id ( ) << " " << node . name ( ) << std :: endl ) ; ARM_COMPUTE_ERROR_ON ( node . num_inputs ( ) != 1 ) ; ARM_COMPUTE_ERROR_ON ( node . num_outputs ( ) != 1 ) ; IGCTensor * input = get_backing_tensor ( node . input ( 0 ) ) ; IGCTensor * output = get_backing_tensor ( node . output ( 0 ) ) ; const float beta = node . beta ( ) ; ARM_COMPUTE_ERROR_ON ( input == nullptr ) ; ARM_COMPUTE_ERROR_ON ( output == nullptr ) ; auto func = support :: cpp14 :: make_unique < GCSoftmaxLayer > ( get_memory_manager ( ctx , Target :: CL ) ) ; func -> configure ( input , output , beta ) ; ARM_COMPUTE_LOG_GRAPH_INFO ( " " << " " << input -> info ( ) -> data_type ( ) << " " << input -> info ( ) -> tensor_shape ( ) << " " << output -> info ( ) -> tensor_shape ( ) << std :: endl ) ; return std :: move ( func ) ; }
Create a backend softmax layer function
 @param[in] node Node to create the backend function for
Create a backend softmax layer function @param [ in ] node Node to create the backend function for
// Extract IO and info // Create and configure function // Log info