-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbridge.h
More file actions
147 lines (99 loc) · 2.96 KB
/
bridge.h
File metadata and controls
147 lines (99 loc) · 2.96 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
137
138
139
140
141
142
143
144
145
146
147
#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 unsigned long long uint64_t;
typedef struct bridge_tensor_t {
float* data;
int* sizes;
int dim;
bool_t created_by_c;
} bridge_tensor_t;
typedef struct bridge_pt_model_t {
void* pt_module;
} bridge_pt_model_t;
typedef struct test_struct_t {
int* field;
} test_struct_t;
void hello_world(void);
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_pt_model_t load_model(const uint8_t* model_path);
bridge_tensor_t model_forward(bridge_pt_model_t model, bridge_tensor_t input);
bridge_tensor_t model_forward_style_transfer(bridge_pt_model_t model, 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 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);
// 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