forked from tensorflow/tflite-support
-
Notifications
You must be signed in to change notification settings - Fork 2
/
BUILD
67 lines (64 loc) · 2.17 KB
/
BUILD
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
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary")
cc_library(
name = "tflite_model_runner",
srcs = [
"tflite_model_runner.cc",
"tflite_model_runner.h",
],
deps = [
"//tensorflow_lite_support/cc/port:statusor",
"@flatbuffers",
"@org_tensorflow//tensorflow/lite:framework",
"@org_tensorflow//tensorflow/lite:string_util",
"@org_tensorflow//tensorflow/lite/c:common",
"@org_tensorflow//tensorflow/lite/kernels:builtin_ops",
"@org_tensorflow//tensorflow/lite/kernels:kernel_util",
"@org_tensorflow//tensorflow/lite/kernels/internal:tensor",
"@org_tensorflow//tensorflow/lite/schema:schema_fbs",
],
)
cc_binary(
name = "tflite_model_runner_cc",
srcs = ["tflite_model_runner_wasm.cc"],
copts = [
"-fno-rtti",
"-DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0",
],
linkopts = [
"--bind",
"-Os",
"-fno-rtti",
"-s ASSERTIONS=0",
"-s ALLOW_MEMORY_GROWTH=1",
"-s EXIT_RUNTIME=0",
"-s MODULARIZE=1",
"-s EXPORT_NAME=" + "'tflite_model_runner_ModuleFactory'",
"-s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]",
"-s DISABLE_EXCEPTION_CATCHING=1",
# This cut 50k from glue js.
"-s FILESYSTEM=0",
"-s USE_PTHREADS=1",
# Many x86-64 processors have 2 threads per core, so we divide by 2.
"-s PTHREAD_POOL_SIZE=" +
"'Math.min(4, Math.max(1, (navigator.hardwareConcurrency || 1) / 2))'",
"-s TOTAL_MEMORY=32MB",
"-s ERROR_ON_UNDEFINED_SYMBOLS=0",
"-s MALLOC=emmalloc",
"-s INLINING_LIMIT=1",
],
linkstatic = 1,
deps = [
":tflite_model_runner",
"//tensorflow_lite_support/cc/port:statusor",
"@org_tensorflow//tensorflow/lite:op_resolver",
"@org_tensorflow//tensorflow/lite:tflite_with_xnnpack", # link xnnpack
"@org_tensorflow//tensorflow/lite/kernels:builtin_ops",
],
)
wasm_cc_binary(
name = "tflite_model_runner_wasm",
cc_target = ":tflite_model_runner_cc",
simd = True,
threads = "emscripten",
)