| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef TENSORFLOW_LITE_MICRO_FAKE_MICRO_CONTEXT_H_ |
| #define TENSORFLOW_LITE_MICRO_FAKE_MICRO_CONTEXT_H_ |
|
|
| #include "edge-impulse-sdk/tensorflow/lite/micro/micro_context.h" |
| #include "edge-impulse-sdk/tensorflow/lite/micro/micro_graph.h" |
|
|
| namespace tflite { |
| |
| class FakeMicroContext : public MicroContext { |
| public: |
| FakeMicroContext(TfLiteTensor* tensors, SingleArenaBufferAllocator* allocator, |
| MicroGraph* micro_graph); |
|
|
| void* AllocatePersistentBuffer(size_t bytes) override; |
| TfLiteStatus RequestScratchBufferInArena(size_t bytes, |
| int* buffer_index) override; |
| void* GetScratchBuffer(int buffer_index) override; |
|
|
| TfLiteTensor* AllocateTempTfLiteTensor(int tensor_index) override; |
| void DeallocateTempTfLiteTensor(TfLiteTensor* tensor) override; |
| bool IsAllTempTfLiteTensorDeallocated(); |
|
|
| TfLiteEvalTensor* GetEvalTensor(int tensor_index) override; |
|
|
| private: |
| static constexpr int kNumScratchBuffers_ = 12; |
|
|
| int scratch_buffer_count_ = 0; |
| uint8_t* scratch_buffers_[kNumScratchBuffers_]; |
|
|
| TfLiteTensor* tensors_; |
| int allocated_tensor_count_ = 0; |
|
|
| SingleArenaBufferAllocator* allocator_; |
|
|
| TF_LITE_REMOVE_VIRTUAL_DELETE |
| }; |
|
|
| } |
|
|
| #endif |
|
|