Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lyra のバージョンを 1.3.2 に上げる #61

Merged
merged 3 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ WEBRTC_BUILD_VERSION=m121.6167.3.0
BOOST_VERSION=1.84.0
CMAKE_VERSION=3.28.1
BAZEL_VERSION=5.4.1
LYRA_VERSION=1.3.0
LYRA_VERSION=1.3.2
LYRA_COMPATIBLE_VERSION=1.3.0
CUDA_VERSION=11.8.0-1
ANDROID_NDK_VERSION=r26b
Expand Down
2 changes: 1 addition & 1 deletion run.py
Original file line number Diff line number Diff line change
Expand Up @@ -872,7 +872,7 @@ def install_lyra(version, install_dir, base_dir, debug, target, webrtc_version,
else:
lib_src = os.path.join('bazel-bin', 'liblyra.a')
lib_dst = os.path.join(lyra_install_dir, 'lib', 'liblyra.a')
model_src = os.path.join(output_base, 'external', 'lyra', 'model_coeffs')
model_src = os.path.join(output_base, 'external', 'lyra', 'lyra', 'model_coeffs')
model_dst = os.path.join(lyra_install_dir, 'share', 'model_coeffs')
include_src = 'lyra.h'
include_dst = os.path.join(lyra_install_dir, 'include', 'lyra.h')
Expand Down
5 changes: 3 additions & 2 deletions third_party/lyra/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ load("cc_static_library.bzl", "cc_static_library")
cc_library(
name = "lyrac",
srcs = [
"lyra.h",
"lyra.cc",
],
defines = [
# "LYRA_EXPORTS",
],
deps = [
"@lyra//:lyra_encoder",
"@lyra//:lyra_decoder",
"@lyra//lyra:lyra_encoder",
"@lyra//lyra:lyra_decoder",
],
)

Expand Down
46 changes: 31 additions & 15 deletions third_party/lyra/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@ git_repository(
branch = "android_linking_fix"
)

# Skylib
http_archive(
name = "bazel_skylib",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
],
sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44",
)
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()

http_archive(
name = "rules_android",
sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
Expand Down Expand Up @@ -98,40 +110,44 @@ http_archive(
git_repository(
name = "org_tensorflow",
remote = "https://github.com/tensorflow/tensorflow.git",
# Below is reproducible and equivalent to `tag = "v2.9.0"`
commit = "8a20d54a3c1bfa38c03ea99a2ad3c1b0a45dfa95",
shallow_since = "1652465115 -0700",
# Below is reproducible and equivalent to `tag = "v2.11.0"`
commit = "d5b57ca93e506df258271ea00fc29cf98383a374",
shallow_since = "1668561432 -0800",
patches = ["//:patches/android_tensorflow.patch", "//:patches/use_exceptions_tensorflow.patch"],
patch_args = ["-p1"]
)

# Check bazel version requirement, which is stricter than TensorFlow's.
load(
"@org_tensorflow//tensorflow:version_check.bzl",
"check_bazel_version_at_least",
)

check_bazel_version_at_least("3.7.2")
load("@bazel_skylib//lib:versions.bzl", "versions")
versions.check("3.7.2")

# TF WORKSPACE Loading functions
# This section uses a subset of the tensorflow WORKSPACE loading by reusing its contents.
# There are four workspace() functions create repos for the dependencies.
# TF's loading is very complicated, and we only need a subset for TFLite.
# If we use the full TF loading sequence, we also run into conflicts and errors on some platforms.

# Android 用のパッチを当てるために別途でリポジトリを取得しておく
load("@org_tensorflow//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls")

# Android 用のパッチを当てるために別途でリポジトリを取得しておく
tf_http_archive(
name = "XNNPACK",
sha256 = "7e9ad45391e5158fd00e816022bda21d54a6180788af7c455c864a78cee252c6",
strip_prefix = "XNNPACK-11b2812d64e49bab9b6c489f79067fc94e69db9f",
urls = tf_mirror_urls("https://github.com/google/XNNPACK/archive/11b2812d64e49bab9b6c489f79067fc94e69db9f.zip"),
sha256 = "7a16ab0d767d9f8819973dbea1dc45e4e08236f89ab702d96f389fdc78c5855c",
strip_prefix = "XNNPACK-e8f74a9763aa36559980a0c2f37f587794995622",
urls = tf_mirror_urls("https://github.com/google/XNNPACK/archive/e8f74a9763aa36559980a0c2f37f587794995622.zip"),
patch_file = ["@//:patches/android_xnnpack.patch"]
)

load("@org_tensorflow//tensorflow:workspace3.bzl", workspace3 = "workspace")
workspace3()
tf_http_archive(
name = "cpuinfo",
strip_prefix = "cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90",
sha256 = "18eca9bc8d9c4ce5496d0d2be9f456d55cbbb5f0639a551ce9c8bac2e84d85fe",
urls = tf_mirror_urls("https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz"),
patch_file = ["@//:patches/android_cpuinfo.patch"]
)

load("@org_tensorflow//tensorflow:workspace3.bzl", "workspace")
workspace()

load("@org_tensorflow//tensorflow:workspace2.bzl", workspace2 = "workspace")
workspace2()
Expand Down
4 changes: 2 additions & 2 deletions third_party/lyra/lyra.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lyra.h"

#include "lyra_decoder.h"
#include "lyra_encoder.h"
#include "lyra/lyra_decoder.h"
#include "lyra/lyra_encoder.h"

using namespace chromemedia::codec;

Expand Down
40 changes: 40 additions & 0 deletions third_party/lyra/patches/android_cpuinfo.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/BUILD.bazel b/BUILD.bazel
index 4ac8f10..eb5f21e 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -257,7 +257,7 @@ config_setting(
config_setting(
name = "android_armv7",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "armeabi-v7a",
},
visibility = ["//visibility:public"],
@@ -266,7 +266,7 @@ config_setting(
config_setting(
name = "android_arm64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "arm64-v8a",
},
visibility = ["//visibility:public"],
@@ -275,7 +275,7 @@ config_setting(
config_setting(
name = "android_x86",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "x86",
},
visibility = ["//visibility:public"],
@@ -284,7 +284,7 @@ config_setting(
config_setting(
name = "android_x86_64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "x86_64",
},
visibility = ["//visibility:public"],
72 changes: 58 additions & 14 deletions third_party/lyra/patches/android_tensorflow.patch
Original file line number Diff line number Diff line change
@@ -1,20 +1,10 @@
# org_tensorflow 用の Android 向けパッチ

--- a/third_party/cpuinfo/cpuinfo.BUILD
+++ b/third_party/cpuinfo/cpuinfo.BUILD
@@ -257,7 +257,7 @@
config_setting(
name = "android_arm64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "arm64-v8a",
},
visibility = ["//visibility:public"],

diff --git a/tensorflow/BUILD b/tensorflow/BUILD
index 6e6ab138a2f..8869f45aa5d 100644
--- a/tensorflow/BUILD
+++ b/tensorflow/BUILD
@@ -111,7 +111,7 @@ config_setting(
@@ -170,7 +170,7 @@ config_setting(
{},
),
values = if_oss(
Expand All @@ -23,7 +13,43 @@
{},
),
visibility = ["//visibility:public"],
@@ -230,7 +230,7 @@ config_setting(
@@ -184,7 +184,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "x86",
),
@@ -199,7 +199,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "x86_64",
),
@@ -214,7 +214,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "armeabi",
),
@@ -274,7 +274,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "armeabi-v7a",
),
@@ -289,7 +289,7 @@ config_setting(
),
values = dict(
if_oss(
Expand All @@ -32,3 +58,21 @@
),
cpu = "arm64-v8a",
),
@@ -299,7 +299,7 @@ config_setting(
config_setting(
name = "android_mips",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "mips",
},
visibility = ["//visibility:public"],
@@ -308,7 +308,7 @@ config_setting(
config_setting(
name = "android_mips64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "mips64",
},
visibility = ["//visibility:public"],
8 changes: 4 additions & 4 deletions third_party/lyra/patches/lyra.patch
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# WebRTC が lite しか利用していないので、それに合わせて lyra_config.proto も lite モードにする
diff --git a/lyra_config.proto b/lyra_config.proto
diff --git a/lyra/lyra_config.proto b/lyra/lyra_config.proto
index 86ffe2f..ff6ac42 100644
--- a/lyra_config.proto
+++ b/lyra_config.proto
--- a/lyra/lyra_config.proto
+++ b/lyra/lyra_config.proto
@@ -14,6 +14,8 @@

syntax = "proto2";

+option optimize_for = LITE_RUNTIME;
+
package third_party.lyra_codec;
package third_party.lyra_codec.lyra;

// Main message to check version, including weights and bitstream,
8 changes: 4 additions & 4 deletions third_party/lyra/patches/use_exceptions_tensorflow.patch
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl
index 43015747773..d361e6f6c47 100644
index b9bf02b373d..ea6c67362dc 100644
--- a/tensorflow/lite/build_def.bzl
+++ b/tensorflow/lite/build_def.bzl
@@ -42,7 +42,7 @@ def tflite_copts():
@@ -46,7 +46,7 @@ def tflite_copts():
}) + select({
clean_dep("//tensorflow:windows"): [],
"//conditions:default": [
- "-fno-exceptions", # Exceptions are unused in TFLite.
+ # "-fno-exceptions", # Exceptions are unused in TFLite.
],
})

}) + select({
clean_dep("//tensorflow/lite:tflite_with_xnnpack_explicit_false"): ["-DTFLITE_WITHOUT_XNNPACK"],
Loading