#include "cpp14/memory.h"
+namespace
+{
+
+using namespace tflite;
+using namespace neurun;
+
+model::Activation convertActivation(const ActivationFunctionType type)
+{
+ return static_cast<model::Activation>(static_cast<uint32_t>(type));
+}
+
+} // namespace anonymous
+
namespace tflite_loader
{
using namespace tflite;
param.kw = options->filter_width();
param.kh = options->filter_height();
// Activation
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
}
void Loader::loadConv2D(const tflite::Operator *op)
model::operation::Conv2DNode::Param param;
const auto *options = op->builtin_options_as_Conv2DOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
loadStridesAndPaddings(param, options);
// Dilation h/w factor unused
std::unique_ptr<model::Operation> new_op(
model::operation::DepthwiseConv2DNode::Param param;
const auto *options = op->builtin_options_as_DepthwiseConv2DOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
loadStridesAndPaddings(param, options);
// Multiplier
model::Shape shape;
model::operation::FullyConnectedNode::Param param;
const auto *options = op->builtin_options_as_FullyConnectedOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
// weights_format unused
std::unique_ptr<model::Operation> new_op(
model::operation::AddNode::Param param;
const auto *options = op->builtin_options_as_AddOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
std::unique_ptr<model::Operation> new_op(new model::operation::AddNode(inputs, outputs, param));
_graph.addOperation(std::move(new_op));
model::operation::MulNode::Param param;
const auto *options = op->builtin_options_as_MulOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
std::unique_ptr<model::Operation> new_op(new model::operation::MulNode(inputs, outputs, param));
_graph.addOperation(std::move(new_op));
model::operation::SubNode::Param param;
const auto *options = op->builtin_options_as_SubOptions();
- param.activation = neurun::model::Activation(options->fused_activation_function());
+ param.activation = convertActivation(options->fused_activation_function());
std::unique_ptr<model::Operation> new_op(new model::operation::SubNode(inputs, outputs, param));
_graph.addOperation(std::move(new_op));