ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Layout.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#ifndef __ONERT_IR_LAYOUT_H__
18
#define __ONERT_IR_LAYOUT_H__
19
20
#include <functional>
21
#include <stdexcept>
22
#include <string>
23
24
namespace
onert
25
{
26
namespace
ir
27
{
28
29
enum class
Layout
30
{
31
UNKNOWN
= 0,
32
NHWC
,
33
NCHW
34
};
35
36
enum class
PermuteType
37
{
38
NHWC_TO_NCHW
,
39
NCHW_TO_NHWC
,
40
COPY
41
};
42
43
inline
std::string
to_string
(
Layout
layout)
44
{
45
switch
(layout)
46
{
47
case
Layout::NHWC
:
48
return
std::string{
"NHWC"
};
49
case
Layout::NCHW
:
50
return
std::string{
"NCHW"
};
51
case
Layout::UNKNOWN
:
52
return
std::string{
"UNKNOWN"
};
53
default
:
54
throw
std::runtime_error(
"WRONG LAYOUT"
);
55
}
56
}
57
58
}
// namespace ir
59
}
// namespace onert
60
61
namespace
std
62
{
63
64
template
<>
struct
hash<
onert
::ir::Layout>
65
{
66
size_t
operator()
(
onert::ir::Layout
value)
const
noexcept
67
{
68
using
type =
typename
std::underlying_type<onert::ir::Layout>::type;
69
return
hash<type>()(
static_cast<
type
>
(value));
70
}
71
};
72
73
}
// namespace std
74
75
#endif
// __ONERT_IR_LAYOUT_H__
onert::ir::to_string
std::string to_string(Layout layout)
Definition
Layout.h:43
onert::ir::Layout
Layout
Definition
Layout.h:30
onert::ir::Layout::UNKNOWN
@ UNKNOWN
onert::ir::Layout::NCHW
@ NCHW
onert::ir::Layout::NHWC
@ NHWC
onert::ir::PermuteType
PermuteType
Definition
Layout.h:37
onert::ir::PermuteType::NHWC_TO_NCHW
@ NHWC_TO_NCHW
onert::ir::PermuteType::NCHW_TO_NHWC
@ NCHW_TO_NHWC
onert::ir::PermuteType::COPY
@ COPY
onert
Definition
CustomKernel.cc:20
std
Definition
CircleExporterUtils.h:53
std::hash< onert::ir::Layout >::operator()
size_t operator()(onert::ir::Layout value) const noexcept
Definition
Layout.h:66
runtime
onert
core
include
ir
Layout.h
Generated by
1.9.8