-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbridge.h
More file actions
136 lines (96 loc) · 2.71 KB
/
bridge.h
File metadata and controls
136 lines (96 loc) · 2.71 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef BRIDGE_H
#define BRIDGE_H
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
#define proto_bridge_simple(Name) \
bridge_tensor_t Name(bridge_tensor_t input)
typedef float float32_t;
typedef double float64_t;
typedef char bool_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef struct bridge_tensor_t {
float* data;
int* sizes;
int dim;
bool_t created_by_c;
} bridge_tensor_t;
typedef struct nil_scalar_tensor_t {
float scalar;
bridge_tensor_t tensor;
bool_t is_nil;
bool_t is_scalar;
bool_t is_tensor;
} nil_scalar_tensor_t;
float* unsafe(const float* arr);
bridge_tensor_t load_tensor_from_file(const uint8_t* file_path);
bridge_tensor_t load_tensor_dict_from_file(const uint8_t* file_path,const uint8_t* tensor_key);
bridge_tensor_t load_run_model(const uint8_t* model_path, bridge_tensor_t input);
bridge_tensor_t resize(bridge_tensor_t input,int height,int width);
bridge_tensor_t imagenet_normalize(bridge_tensor_t input);
bridge_tensor_t add_two_arrays(bridge_tensor_t a, bridge_tensor_t b);
// bridge_tensor_t capture_webcam_bridge(int cam_index);
int baz(void);
void wrHello(void);
void wrHelloTorch(void);
float sumArray(float* arr, int* sizes, int dim);
void increment(float* arr, int* sizes, int dim, float* output);
bridge_tensor_t increment2(float* arr, int* sizes, int dim);
bridge_tensor_t increment3(bridge_tensor_t arr);
bridge_tensor_t convolve2d(
bridge_tensor_t input,
bridge_tensor_t kernel,
bridge_tensor_t bias,
int stride,
int padding
);
bridge_tensor_t conv2d(
bridge_tensor_t input,
bridge_tensor_t kernel,
bridge_tensor_t bias,
int stride,
int padding
);
bridge_tensor_t nll_loss(
bridge_tensor_t input,
bridge_tensor_t target,
bridge_tensor_t weight,
int ignoreIndex,
int reduction
);
bridge_tensor_t matmul(bridge_tensor_t a, bridge_tensor_t b);
bridge_tensor_t max_pool2d(
bridge_tensor_t input,
int kernel_size,
int stride,
int padding,
int dilation
);
proto_bridge_simple(relu);
proto_bridge_simple(relu6);
proto_bridge_simple(gelu);
proto_bridge_simple(logsigmoid);
proto_bridge_simple(mish);
proto_bridge_simple(selu);
proto_bridge_simple(silu);
proto_bridge_simple(softmax);
proto_bridge_simple(softmin);
proto_bridge_simple(softsign);
proto_bridge_simple(tanhshrink);
// void split_loop(int64_t idx, int64_t n);
// void split_loop_filler(int64_t n,int64_t* ret);
void show_webcam(void);
// bridge_tensor_t conv2d(
// bridge_tensor_t input,
// bridge_tensor_t kernel,
// nil_scalar_tensor_t bias,
// nil_scalar_tensor_t stride,
// nil_scalar_tensor_t padding
// );
#ifdef __cplusplus
}
#endif
#endif // BRIDGE_H
//hello