Open Deep Learning API
Loading...
Searching...
No Matches
odla_ops_process.h
Go to the documentation of this file.
1//===- odla_ops_process.h -------------------------------------------------===//
2//
3// Copyright (C) 2019-2020 Alibaba Group Holding Limited.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16// =============================================================================
17
18#ifndef _ODLA_OPERATOR_OPS_PROCESS_H_
19#define _ODLA_OPERATOR_OPS_PROCESS_H_
20
21#include <ODLA/odla_common.h>
22#include <ODLA/odla_value.h>
23
28#ifdef __cplusplus
29extern "C" {
30#endif
31
33typedef enum {
38
40typedef enum {
47
49typedef enum {
54
56
65extern ODLA_API_EXPORT odla_value ODLA_API_CALL
66odla_Broadcast(const odla_value input, odla_value_shape output_shape,
67 const odla_value_id value_id);
68
70
79extern ODLA_API_EXPORT odla_value ODLA_API_CALL
80odla_Cast(odla_value input, odla_element_type target_type,
81 const odla_value_id value_id);
82
84
96extern ODLA_API_EXPORT odla_value ODLA_API_CALL
98 odla_value_shape max_output_shape, const odla_value_id value_id);
99
101
113extern ODLA_API_EXPORT odla_value ODLA_API_CALL
115 const odla_value_id value_id);
116
118
127extern ODLA_API_EXPORT odla_value ODLA_API_CALL
129 const odla_value_id value_id);
130
132
151extern ODLA_API_EXPORT odla_value ODLA_API_CALL
153 odla_float32 p1, odla_float32 seed, const odla_value_id value_id);
154
156
167extern ODLA_API_EXPORT odla_value ODLA_API_CALL
169 odla_value_shape output_dims, const odla_value_id value_id);
170
172
183extern ODLA_API_EXPORT odla_value ODLA_API_CALL
184odla_GatherND(odla_value input, odla_value indices, odla_int32 num_batch_dims,
185 odla_value_shape output_dims, const odla_value_id value_id);
186
188
199extern ODLA_API_EXPORT odla_value ODLA_API_CALL
201 odla_value_shape output_dims, const odla_value_id value_id);
202
204
218 odla_value indices, odla_int32 depth, odla_value values, odla_int32 axis,
219 odla_value_shape output_dims, const odla_value_id value_id);
220
222
233extern ODLA_API_EXPORT odla_value ODLA_API_CALL
234odla_Pad(odla_value input, const odla_uint32* padding_front,
235 const odla_uint32* padding_back, odla_value_shape output_dims,
236 const odla_value_id value_id);
237
239
248extern ODLA_API_EXPORT odla_value ODLA_API_CALL
250 const odla_value_id value_id);
251
253
264 odla_value input, odla_value output_shape, const odla_value_id value_id);
265
267
281extern ODLA_API_EXPORT odla_value ODLA_API_CALL
284 odla_value_shape output_dims, const odla_value_id value_id);
285
287
303 odla_value input, odla_value scales, odla_value sizes,
305 odla_value_shape output_dims, const odla_value_id value_id);
306
308
318extern ODLA_API_EXPORT odla_value ODLA_API_CALL
320 const odla_value_id value_id);
321
323
335extern ODLA_API_EXPORT odla_value ODLA_API_CALL
336odla_Slice(odla_value input, const odla_int32* start, const odla_int32* end,
337 const odla_int32* stride, odla_value_shape output_dims,
338 const odla_value_id value_id);
339
341
352extern ODLA_API_EXPORT odla_value ODLA_API_CALL
354 odla_value_shape output_dims, const odla_value_id id);
355
357
370 odla_value input, odla_value start, odla_value size, odla_value stride,
371 odla_value_shape output_dims, const odla_value_id value_id);
372
374
384extern ODLA_API_EXPORT odla_values ODLA_API_CALL
385odla_Split(odla_value input, odla_value split_dim, odla_int32 num_split,
386 const odla_value_ids value_ids);
387
389
401extern ODLA_API_EXPORT odla_value ODLA_API_CALL
402odla_Squeeze(odla_value input, odla_size_t num_of_axes, const odla_uint32* axes,
403 odla_value_shape output_dims, const odla_value_id value_id);
404
406
417extern ODLA_API_EXPORT odla_value ODLA_API_CALL
419 const odla_value_id value_id);
420
422
433extern ODLA_API_EXPORT odla_value ODLA_API_CALL
435 odla_value_shape output_dims, const odla_value_id value_id);
436
438
449extern ODLA_API_EXPORT odla_value ODLA_API_CALL
450odla_Tile(odla_value input, const odla_uint32* repeat,
451 odla_value_shape output_dims, const odla_value_id value_id);
452
454
465extern ODLA_API_EXPORT odla_value ODLA_API_CALL
467 odla_value_shape output_dims, const odla_value_id value_id);
468
469#ifdef __cplusplus
470} // C extern
471#endif
472
473#endif // _ODLA_OPERATOR_OPS_PROCESS_H_
__INT32_TYPE__ odla_int32
Definition: odla_common.h:66
#define ODLA_API_EXPORT
API export directives.
Definition: odla_common.h:172
__UINT32_TYPE__ odla_uint32
Definition: odla_common.h:70
__SIZE_TYPE__ odla_size_t
size_t
Definition: odla_common.h:134
float odla_float32
Definition: odla_common.h:90
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Compress(odla_value input, odla_value condition, odla_int32 axis, odla_value_shape max_output_shape, const odla_value_id value_id)
Select slices based on condition.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_SliceDynamic(odla_value input, odla_value start, odla_value size, odla_value stride, odla_value_shape output_dims, const odla_value_id value_id)
Extract a dynamic slice.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_GatherND(odla_value input, odla_value indices, odla_int32 num_batch_dims, odla_value_shape output_dims, const odla_value_id value_id)
Gather slices.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_DimsExpand(odla_value input, odla_value original, odla_value axes, odla_value_shape output_dims, const odla_value_id id)
Extract a DimsExpand.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Fill(odla_value_type type, odla_fill_method method, odla_float32 p0, odla_float32 p1, odla_float32 seed, const odla_value_id value_id)
Generate a value with data.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Pad(odla_value input, const odla_uint32 *padding_front, const odla_uint32 *padding_back, odla_value_shape output_dims, const odla_value_id value_id)
Pad the input.
ODLA_API_EXPORT odla_values ODLA_API_CALL odla_Split(odla_value input, odla_value split_dim, odla_int32 num_split, const odla_value_ids value_ids)
Splits a tensor into num_split tensors along one dimension.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Stack(odla_values inputs, odla_int32 axis, odla_value_shape output_shape, const odla_value_id value_id)
Join a sequence of Values along a new axis.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Concat(odla_values inputs, odla_int32 axis, odla_value_shape output_shape, const odla_value_id value_id)
Concatenate multiple values into a single value.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_OneHot(odla_value indices, odla_int32 depth, odla_value values, odla_int32 axis, odla_value_shape output_dims, const odla_value_id value_id)
one-hot value
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_GatherElements(odla_value input, odla_value indices, odla_int32 axis, odla_value_shape output_dims, const odla_value_id value_id)
Gather elements.
odla_interpolation_mode
Interpolation methods.
@ ODLA_LINEAR
@ ODLA_CUBIC
@ ODLA_NEAREST
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Reshape(odla_value input, odla_value_shape output_dims, const odla_value_id value_id)
Reshape a value.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Tile(odla_value input, const odla_uint32 *repeat, odla_value_shape output_dims, const odla_value_id value_id)
Tile input multiples times.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Broadcast(const odla_value input, odla_value_shape output_shape, const odla_value_id value_id)
Broadcast the value.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Resize(odla_value input, odla_interpolation_mode interpolation, odla_resize_coordinate_mode mode, odla_uint32 axes_mask, odla_value_shape output_dims, const odla_value_id value_id)
Resize by interpolating.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_TileDynamic(odla_value input, odla_value repeat, odla_value_shape output_dims, const odla_value_id value_id)
Tile input multiples times dynamically.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Cast(odla_value input, odla_element_type target_type, const odla_value_id value_id)
cast the element data type of an input
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Transpose(odla_value input, odla_value_shape permutations, odla_value_shape output_dims, const odla_value_id value_id)
Transpose the input.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Squeeze(odla_value input, odla_size_t num_of_axes, const odla_uint32 *axes, odla_value_shape output_dims, const odla_value_id value_id)
Remove dimensions of size 1.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Slice(odla_value input, const odla_int32 *start, const odla_int32 *end, const odla_int32 *stride, odla_value_shape output_dims, const odla_value_id value_id)
Extract a slice.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_ExpandDims(odla_value input, odla_value_shape output_dims, const odla_value_id value_id)
Broadcast the input tensor.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Shape(odla_value input, odla_value_shape output_dims, const odla_value_id value_id)
Get the shape of input.
odla_fill_method
Methods for filling a value.
@ ODLA_RandomUniform
@ ODLA_EyeLike
@ ODLA_RandomNormal
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_ReshapeDynamic(odla_value input, odla_value output_shape, const odla_value_id value_id)
Reshape a value.
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_ResizeDynamic(odla_value input, odla_value scales, odla_value sizes, odla_interpolation_mode interpolation, odla_resize_coordinate_mode mode, odla_value_shape output_dims, const odla_value_id value_id)
Resize by interpolating (dynamic shape)
ODLA_API_EXPORT odla_value ODLA_API_CALL odla_Gather(odla_value input, odla_value indices, odla_int32 axis, odla_value_shape output_dims, const odla_value_id value_id)
Gather slices.
odla_resize_coordinate_mode
Modes for coordinate transformation during resizing.
@ ODLA_HALF_PIXEL
@ ODLA_HALF_PIXEL_TF
@ ODLA_ASSYMMETRIC
@ ODLA_ALIGN_CORNERS
struct _odla_value_id * odla_value_id
Unique id of each value.
Definition: odla_value.h:74
struct _odla_value * odla_value
Value definition.
Definition: odla_value.h:65
Multiple value ids.
Definition: odla_value.h:77
Shape of value.
Definition: odla_value.h:51
Type of value.
Definition: odla_value.h:59
Multiple values.
Definition: odla_value.h:68