blob: 9d32af6837aa09450f2cc4d4f8e3c3c0b9462b17 [file] [edit]
# Copyright 2024 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
workspace(name = "cros_tflite")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
# Update `bazel_external_uris` in ebuild as well when upgrading TensorFlow, and
# all the required dependencies need to be upload to our mirror first.
TENSORFLOW_VERSION = "2.16.1"
# Use the provided tensorflow repo if it exists. Currently the ebuild will
# download and unpack tensorflow for us.
# TODO: b/314854484 - Move the tensorflow building logic and patch management
# from ebuild to here.
maybe(
http_archive,
name = "org_tensorflow",
patch_args = ["-p1"],
patch_tool = "patch",
patches = [
"//patch:tensorflow-2.16.1-0001-bazel-toolchains.patch",
"//patch:tensorflow-2.16.1-0002-ashmem-create.patch",
"//patch:tensorflow-2.16.1-0003-nnapi-delegate.patch",
"//patch:tensorflow-2.16.1-0004-gpu-delegate.patch",
"//patch:tensorflow-2.16.1-0005-nnapi-loading-errors.patch",
"//patch:tensorflow-2.16.1-0006-remove-llvm-repo.patch",
"//patch:tensorflow-2.16.1-0007-Convolution2DTransposeBias.patch",
"//patch:tensorflow-2.16.1-0008-nnapi-Convolution2DTransposeBias.patch",
"//patch:tensorflow-2.16.1-0009-ruy-amd-cpu.patch",
"//patch:tensorflow-2.16.1-0010-memory-usage-monitor.patch",
"//patch:tensorflow-2.16.1-0011-mtk-neuron.patch",
"//patch:tensorflow-2.16.1-0012-absl-log.patch",
"//patch:tensorflow-2.16.1-0013-absl-random.patch",
],
sha256 = "c729e56efc945c6df08efe5c9f5b8b89329c7c91b8f40ad2bb3e13900bd4876d",
strip_prefix = "tensorflow-{}".format(TENSORFLOW_VERSION),
url = "https://github.com/tensorflow/tensorflow/archive/v{}.tar.gz".format(TENSORFLOW_VERSION),
)
# Ensure that we have farmhash available under the name @farmhash_archive.
load("@org_tensorflow//third_party/farmhash:workspace.bzl", farmhash = "repo")
farmhash()
# Python is required before initializing TensorFlow.
http_archive(
name = "rules_python",
sha256 = "9d04041ac92a0985e344235f5d946f71ac543f1b1565f2cdbc9a2aaee8adf55b",
strip_prefix = "rules_python-0.26.0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.26.0/rules_python-0.26.0.tar.gz",
)
load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")
py_repositories()
load(
"@org_tensorflow//tensorflow/tools/toolchains/python:python_repo.bzl",
"python_repository",
)
python_repository(name = "python_version_repo")
load("@python_version_repo//:py_version.bzl", "HERMETIC_PYTHON_VERSION")
python_register_toolchains(
name = "python",
ignore_root_user_error = True,
python_version = HERMETIC_PYTHON_VERSION,
)
# Initialize TensorFlow and its external dependencies.
load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")
tf_workspace3()
load("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2")
tf_workspace2()
load("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1")
tf_workspace1()
load("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0")
tf_workspace0()