This patch add getter of Flatbuffer builtin options in TfOpNodes.
More case will be added to get the builtin options.
Resolves:
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
auto fb_inputs = fbb.CreateVector(inputs);
auto fb_outputs = fbb.CreateVector(outputs);
- /// @todo: this will need to move to exporter
- auto fb_options = tflite::CreateFullyConnectedOptions(fbb);
+ auto fb_options = node.getBuiltinOps(fbb);
tflite::OperatorBuilder builder(fbb);
builder.add_opcode_index(op_code);
builder.add_builtin_options_type(node.getOptionType());
- builder.add_builtin_options(fb_options.Union());
+ builder.add_builtin_options(fb_options);
builder.add_inputs(fb_inputs);
builder.add_outputs(fb_outputs);
return builder.Finish();
transform_if(weight_transform, weights);
}
+flatbuffers::Offset<void>
+TfOpNode::getBuiltinOps(flatbuffers::FlatBufferBuilder &f) const {
+ switch (op_type) {
+ case tflite::BuiltinOperator_FULLY_CONNECTED:
+ return tflite::CreateFullyConnectedOptions(f).Union();
+ default:
+ return builtin_ops;
+ }
+}
+
void TfOpNode::setBuiltinOptions(
tflite::BuiltinOptions builtin_option_type_,
const flatbuffers::Offset<void> &builtin_ops_) {
return builtin_option_type;
}
+ /**
+ * @brief Get the Op Options object
+ * @param f Flatbuffer Builder
+ * @retval const tflite::Offset<void>
+ */
+ flatbuffers::Offset<void>
+ getBuiltinOps(flatbuffers::FlatBufferBuilder &f) const;
+
private:
Variables inputs; /**< input variables */
Variables outputs; /**< output variables */