diff options
Diffstat (limited to 'runtimes/neurun/src/internal/nnapi/feature')
-rw-r--r-- | runtimes/neurun/src/internal/nnapi/feature/Reader.h | 75 | ||||
-rw-r--r-- | runtimes/neurun/src/internal/nnapi/feature/Utils.h | 60 | ||||
-rw-r--r-- | runtimes/neurun/src/internal/nnapi/feature/View.h | 92 |
3 files changed, 0 insertions, 227 deletions
diff --git a/runtimes/neurun/src/internal/nnapi/feature/Reader.h b/runtimes/neurun/src/internal/nnapi/feature/Reader.h deleted file mode 100644 index eb513512d..000000000 --- a/runtimes/neurun/src/internal/nnapi/feature/Reader.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __INTERNAL_NNAPI_FEATURE_READER_H__ -#define __INTERNAL_NNAPI_FEATURE_READER_H__ - -#include "internal/nnapi/feature/Utils.h" - -#include "util/feature/Reader.h" - -namespace internal -{ -namespace nnapi -{ -namespace feature -{ - -template <typename T> class Reader; - -template <> class Reader<float> final : public nnfw::util::feature::Reader<float> -{ -public: - Reader(const ::nnfw::util::feature::Shape &shape, const uint8_t *ptr, size_t len) - : _shape{shape}, _ptr{ptr}, _len{len} - { - // DO NOTHING - } - -public: - const nnfw::util::feature::Shape &shape(void) const { return _shape; } - -public: - float at(uint32_t ch, uint32_t row, uint32_t col) const override - { - uint32_t index = index_of(_shape, ch, row, col); - - const auto arr = reinterpret_cast<const float *>(_ptr); - - return arr[index]; - } - float at(uint32_t batch, uint32_t ch, uint32_t row, uint32_t col) const override - { - uint32_t index = index_of(_shape, batch, ch, row, col); - - const auto arr = reinterpret_cast<const float *>(_ptr); - - return arr[index]; - } - -private: - nnfw::util::feature::Shape _shape; - -private: - const uint8_t *_ptr; - const size_t _len; -}; - -} // namespace feature -} // namespace nnapi -} // namespace internal - -#endif // __INTERNAL_NNAPI_FEATURE_READER_H__ diff --git a/runtimes/neurun/src/internal/nnapi/feature/Utils.h b/runtimes/neurun/src/internal/nnapi/feature/Utils.h deleted file mode 100644 index e6e1e71bd..000000000 --- a/runtimes/neurun/src/internal/nnapi/feature/Utils.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __INTERNAL_NNAPI_FEATURE_UTILS_H__ -#define __INTERNAL_NNAPI_FEATURE_UTILS_H__ - -#include "util/feature/Shape.h" - -namespace internal -{ -namespace nnapi -{ -namespace feature -{ - -inline uint32_t index_of(const ::nnfw::util::feature::Shape &shape, uint32_t ch, uint32_t row, - uint32_t col) -{ - uint32_t res = 0; - - // NNAPI uses NHWC ordering - res += row * shape.W * shape.C; - res += col * shape.C; - res += ch; - - return res; -} - -inline uint32_t index_of(const ::nnfw::util::feature::Shape &shape, uint32_t batch, uint32_t ch, - uint32_t row, uint32_t col) -{ - uint32_t res = 0; - - // NNAPI uses NHWC ordering - res += batch * shape.H * shape.W * shape.C; - res += row * shape.W * shape.C; - res += col * shape.C; - res += ch; - - return res; -} - -} // namespace feature -} // namespace nnapi -} // namespace internal - -#endif // __INTERNAL_NNAPI_FEATURE_UTILS_H__ diff --git a/runtimes/neurun/src/internal/nnapi/feature/View.h b/runtimes/neurun/src/internal/nnapi/feature/View.h deleted file mode 100644 index 60335dbf1..000000000 --- a/runtimes/neurun/src/internal/nnapi/feature/View.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __INTERNAL_NNAPI_FEATURE_VIEW_H__ -#define __INTERNAL_NNAPI_FEATURE_VIEW_H__ - -#include "internal/nnapi/feature/Utils.h" - -#include "util/feature/Reader.h" - -namespace internal -{ -namespace nnapi -{ -namespace feature -{ - -template <typename T> class View final : public nnfw::util::feature::Reader<float> -{ -public: - View(const ::nnfw::util::feature::Shape &shape, uint8_t *ptr, size_t len) - : _shape{shape}, _ptr{ptr}, _len{len} - { - // DO NOTHING - } - -public: - const nnfw::util::feature::Shape &shape(void) const { return _shape; } - -public: - T at(uint32_t ch, uint32_t row, uint32_t col) const override - { - uint32_t index = index_of(_shape, ch, row, col); - - T *arr = reinterpret_cast<T *>(_ptr); - - return arr[index]; - } - - T at(uint32_t batch, uint32_t ch, uint32_t row, uint32_t col) const override - { - uint32_t index = index_of(_shape, batch, ch, row, col); - - T *arr = reinterpret_cast<T *>(_ptr); - - return arr[index]; - } - - T &at(uint32_t ch, uint32_t row, uint32_t col) - { - uint32_t index = index_of(_shape, ch, row, col); - - T *arr = reinterpret_cast<T *>(_ptr); - - return arr[index]; - } - - T &at(uint32_t batch, uint32_t ch, uint32_t row, uint32_t col) - { - uint32_t index = index_of(_shape, batch, ch, row, col); - - T *arr = reinterpret_cast<T *>(_ptr); - - return arr[index]; - } - -private: - nnfw::util::feature::Shape _shape; - -private: - uint8_t *_ptr; - const size_t _len; -}; - -} // namespace feature -} // namespace nnapi -} // namespace internal - -#endif // __INTERNAL_NNAPI_FEATURE_VIEW_H__ |