summaryrefslogtreecommitdiff
path: root/tests/tools/tflite_run/src/tensor_loader.h
blob: fc4a37a08bb983f7b0066a9efeb52d3362f23239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef __TFLITE_RUN_TENSOR_LOADER_H__
#define __TFLITE_RUN_TENSOR_LOADER_H__

#include <sys/mman.h>

#include <string>
#include <unordered_map>

#include "tflite/TensorView.h"

namespace tflite
{
class Interpreter;
}

namespace TFLiteRun
{

class TensorLoader
{
public:
  TensorLoader(tflite::Interpreter &interpreter);
  void load(const std::string &filename);
  const nnfw::tflite::TensorView<float> &get(int tensor_idx) const;
  size_t getNums() const { return _tensor_map.size(); }

private:
  tflite::Interpreter &_interpreter;
  std::unique_ptr<float> _raw_data;
  std::unordered_map<int, nnfw::tflite::TensorView<float>> _tensor_map;
};

} // end of namespace TFLiteRun

#endif // __TFLITE_RUN_TENSOR_LOADER_H__