tflchef::Activation as_tflchef_activation(const tflite::ActivationFunctionType type);
tflchef::Padding as_tflchef_padding(const tflite::Padding padding);
-template <class T> std::vector<uint32_t> FlatBufferIntArrayToVector(T *flat_array)
+template <typename T> std::vector<T> as_index_vector(const flatbuffers::Vector<T> *flat_array)
{
- std::vector<uint32_t> ret(flat_array->Length());
+ std::vector<T> ret(flat_array->Length());
for (uint32_t i = 0; i < flat_array->Length(); i++)
{
ret[i] = flat_array->Get(i);
void set_inputs(TFliteImport *import, tflchef::Operation *operation, const tflite::Operator *op)
{
auto tensors = import->tensors();
- const std::vector<uint32_t> &inputs = FlatBufferIntArrayToVector(op->inputs());
+ const std::vector<int32_t> &inputs = as_index_vector(op->inputs());
for (auto input : inputs)
{
void set_outputs(TFliteImport *import, tflchef::Operation *operation, const tflite::Operator *op)
{
auto tensors = import->tensors();
- const std::vector<uint32_t> &outputs = FlatBufferIntArrayToVector(op->outputs());
+ const std::vector<int32_t> &outputs = as_index_vector(op->outputs());
for (auto output : outputs)
{
operand->set_name(tensor_name(tensor));
operand->set_type(as_tflchef_type(tensor->type()));
- std::vector<uint32_t> dims = FlatBufferIntArrayToVector(tensor->shape());
+ std::vector<int32_t> dims = as_index_vector(tensor->shape());
::tflchef::TensorShape *shape = operand->mutable_shape();
for (auto dim : dims)
{
}
// network inputs/outputs
- const std::vector<uint32_t> &inputs = tflite_import.inputs();
- const std::vector<uint32_t> &outputs = tflite_import.outputs();
+ const std::vector<int32_t> &inputs = tflite_import.inputs();
+ const std::vector<int32_t> &outputs = tflite_import.outputs();
for (const auto input : inputs)
{
_tensors = subgraph->tensors();
_operators = subgraph->operators();
- _inputs = FlatBufferIntArrayToVector(subgraph->inputs());
- _outputs = FlatBufferIntArrayToVector(subgraph->outputs());
+ _inputs = as_index_vector(subgraph->inputs());
+ _outputs = as_index_vector(subgraph->outputs());
return true;
}
const TFliteBuffers_t *buffers() { return _buffers; }
const TFliteTensors_t *tensors() { return _tensors; }
const TFliteOperators_t *operators() { return _operators; }
- const std::vector<uint32_t> &inputs() const { return _inputs; }
- const std::vector<uint32_t> &outputs() const { return _outputs; }
+ const std::vector<int32_t> &inputs() const { return _inputs; }
+ const std::vector<int32_t> &outputs() const { return _outputs; }
uint32_t num_subgraph() const { return _subgraphs->Length(); }
const TFliteOperators_t *_operators;
std::vector<const tflite::OperatorCode *> _op_codes;
- std::vector<uint32_t> _inputs;
- std::vector<uint32_t> _outputs;
+ std::vector<int32_t> _inputs;
+ std::vector<int32_t> _outputs;
std::map<uint32_t, bool> _tensor_filler;
};