I can officially say for certain yggdrasil requires tensorflow and inorder to remove tensorflow from the framework you have to manually edit quite a bit of files (I think it was 5 total) it is possible but not as simple as just adding tensorflow to the exclude box.
Inference requires: #include “yggdrasil_decision_forests/model/model_library.h”
bazel dependency: “@ydf//yggdrasil_decision_forests/model:model_library”,
requires dependency: @ydf//yggdrasil_decision_forests/dataset:data_spec
dataspec requires:
external/ydf/yggdrasil_decision_forests/dataset/data_spec.h:31:10: fatal error: tensorflow/core/example/example.pb.h: No such file or directory
31 | #include “tensorflow/core/example/example.pb.h”
So I took out all the tensorflow related functions in multiple files. Finally got it to compile on x86_64.
if I try to cross compile using aarch64 or armv7 I get this error from protoc.
ERROR: /home/jw/.cache/bazel/_bazel_jw/9fd1adcb07b2b4c327079de6e005c167/external/ydf/yggdrasil_decision_forests/dataset/BUILD:394:18: Generating C++ proto_library @ydf//yggdrasil_decision_forests/dataset:example_proto failed (Exit 2): protoc failed: error executing command bazel-out/host/bin/external/com_google_protobuf/protoc ‘–proto_path=external/ydf’ ‘–cpp_out=bazel-out/k8-opt/bin/external/ydf’ … (remaining 5 argument(s) skipped)
bazel-out/host/bin/external/com_google_protobuf/protoc: 1: bazel-out/host/bin/external/com_google_protobuf/protoc: ELF�@�@@Xs=@8: not found
bazel-out/host/bin/external/com_google_protobuf/protoc: 2: bazel-out/host/bin/external/com_google_protobuf/protoc: cannot open n��!: No such file
bazel-out/host/bin/external/com_google_protobuf/protoc: 3: bazel-out/host/bin/external/com_google_protobuf/protoc: : not found
bazel-out/host/bin/external/com_google_protobuf/protoc: 4: bazel-out/host/bin/external/com_google_protobuf/protoc: S: not found
bazel-out/host/bin/external/com_google_protobuf/protoc: 5: bazel-out/host/bin/external/com_google_protobuf/protoc: �: not found
bazel-out/host/bin/external/com_google_protobuf/protoc: 6: bazel-out/host/bin/external/com_google_protobuf/protoc: �: not found
bazel-out/host/bin/external/com_google_protobuf/protoc: 7: bazel-out/host/bin/external/com_google_protobuf/protoc: Syntax error: word unexpected (expecting “)”)
Target //:beginner_cc failed to build
Use --verbose_failures to see the command lines of failed build steps.
the library giving the error is:
ydf/yggdrasil_decision_forests/utils/distribute/BUILD:37:18
all_proto_library(
name = “prediction_proto”,
srcs = [“prediction.proto”],
deps = ["//yggdrasil_decision_forests/utils:distribution_proto"],
)