xref: /aosp_15_r20/external/federated-compute/fcp/aggregation/tensorflow/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
1# Copyright 2022 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15load("//fcp:config.bzl", "FCP_COPTS")
16
17package(
18    default_visibility = ["//fcp/aggregation:internal"],
19)
20
21cc_library(
22    name = "converters",
23    srcs = ["converters.cc"],
24    hdrs = ["converters.h"],
25    copts = FCP_COPTS,
26    deps = [
27        "//fcp/aggregation/core:tensor",
28        "//fcp/aggregation/core:tensor_cc_proto",
29        "//fcp/base",
30        "@com_google_absl//absl/strings",
31        "@org_tensorflow//tensorflow/core:framework",
32        "@org_tensorflow//tensorflow/core:protos_all_cc",
33    ],
34)
35
36cc_test(
37    name = "converters_test",
38    srcs = ["converters_test.cc"],
39    deps = [
40        ":converters",
41        "//fcp/aggregation/core:tensor",
42        "//fcp/aggregation/testing",
43        "//fcp/base",
44        "//fcp/testing",
45        "@com_google_googletest//:gtest_main",
46        "@org_tensorflow//tensorflow/core:framework",
47        "@org_tensorflow//tensorflow/core:protos_all_cc",
48    ],
49)
50
51cc_library(
52    name = "checkpoint_reader",
53    srcs = ["checkpoint_reader.cc"],
54    hdrs = ["checkpoint_reader.h"],
55    copts = FCP_COPTS,
56    deps = [
57        ":converters",
58        "//fcp/aggregation/core:tensor",
59        "//fcp/base",
60        "@com_google_absl//absl/container:flat_hash_map",
61        "@com_google_absl//absl/status:statusor",
62        "@com_google_absl//absl/strings",
63        "@com_google_absl//absl/strings:str_format",
64        "@org_tensorflow//tensorflow/c:checkpoint_reader",
65        "@org_tensorflow//tensorflow/c:tf_status_headers",
66        "@org_tensorflow//tensorflow/c:tf_status_helper",
67        "@org_tensorflow//tensorflow/core:framework",
68        "@org_tensorflow//tensorflow/core:protos_all_cc",
69    ],
70)
71
72cc_test(
73    name = "checkpoint_reader_test",
74    srcs = ["checkpoint_reader_test.cc"],
75    copts = FCP_COPTS,
76    deps = [
77        ":checkpoint_reader",
78        "//fcp/aggregation/testing",
79        "//fcp/base",
80        "//fcp/testing",
81        "@com_google_absl//absl/strings",
82        "@com_google_googletest//:gtest_main",
83    ],
84)
85
86cc_library(
87    name = "checkpoint_writer",
88    srcs = ["checkpoint_writer.cc"],
89    hdrs = ["checkpoint_writer.h"],
90    copts = FCP_COPTS,
91    deps = [
92        "//fcp/aggregation/core:tensor",
93        "//fcp/base",
94        "//fcp/tensorflow:status",
95        "@com_google_absl//absl/status",
96        "@com_google_absl//absl/strings:str_format",
97        "@org_tensorflow//tensorflow/core:framework",
98        "@org_tensorflow//tensorflow/core/platform:tstring",
99    ],
100)
101
102cc_test(
103    name = "checkpoint_writer_test",
104    srcs = ["checkpoint_writer_test.cc"],
105    copts = FCP_COPTS,
106    deps = [
107        ":checkpoint_reader",
108        ":checkpoint_writer",
109        "//fcp/aggregation/core:tensor",
110        "//fcp/aggregation/testing",
111        "//fcp/aggregation/testing:test_data",
112        "//fcp/testing",
113        "@com_google_googletest//:gtest_main",
114    ],
115)
116
117cc_library(
118    name = "tensorflow_checkpoint_builder_factory",
119    srcs = ["tensorflow_checkpoint_builder_factory.cc"],
120    hdrs = ["tensorflow_checkpoint_builder_factory.h"],
121    copts = FCP_COPTS,
122    deps = [
123        ":checkpoint_writer",
124        "//fcp/aggregation/core:tensor",
125        "//fcp/aggregation/protocol:checkpoint_builder",
126        "//fcp/base",
127        "//fcp/tensorflow:status",
128        "@com_google_absl//absl/random",
129        "@com_google_absl//absl/status",
130        "@com_google_absl//absl/status:statusor",
131        "@com_google_absl//absl/strings",
132        "@com_google_absl//absl/strings:cord",
133        "@org_tensorflow//tensorflow/core/platform:env",
134        "@org_tensorflow//tensorflow/core/platform:status",
135    ],
136)
137
138cc_test(
139    name = "tensorflow_checkpoint_builder_factory_test",
140    srcs = ["tensorflow_checkpoint_builder_factory_test.cc"],
141    deps = [
142        ":tensorflow_checkpoint_builder_factory",
143        "//fcp/aggregation/core:tensor",
144        "//fcp/aggregation/testing",
145        "//fcp/aggregation/testing:test_data",
146        "//fcp/testing",
147        "@com_google_absl//absl/status:statusor",
148        "@com_google_absl//absl/strings",
149        "@com_google_absl//absl/strings:cord",
150        "@com_google_googletest//:gtest_main",
151    ],
152)
153
154cc_library(
155    name = "tensorflow_checkpoint_parser_factory",
156    srcs = ["tensorflow_checkpoint_parser_factory.cc"],
157    hdrs = ["tensorflow_checkpoint_parser_factory.h"],
158    copts = FCP_COPTS,
159    deps = [
160        ":checkpoint_reader",
161        "//fcp/aggregation/core:tensor",
162        "//fcp/aggregation/protocol:checkpoint_parser",
163        "//fcp/base",
164        "//fcp/tensorflow:status",
165        "@com_google_absl//absl/cleanup",
166        "@com_google_absl//absl/random",
167        "@com_google_absl//absl/status",
168        "@com_google_absl//absl/status:statusor",
169        "@com_google_absl//absl/strings",
170        "@com_google_absl//absl/strings:cord",
171        "@org_tensorflow//tensorflow/core/platform:env",
172    ],
173)
174
175cc_test(
176    name = "tensorflow_checkpoint_parser_factory_test",
177    srcs = ["tensorflow_checkpoint_parser_factory_test.cc"],
178    deps = [
179        ":tensorflow_checkpoint_parser_factory",
180        "//fcp/aggregation/protocol:checkpoint_parser",
181        "//fcp/aggregation/testing",
182        "//fcp/base",
183        "//fcp/tensorflow:status",
184        "//fcp/testing",
185        "@com_google_absl//absl/status:statusor",
186        "@com_google_absl//absl/strings:cord",
187        "@com_google_googletest//:gtest_main",
188        "@org_tensorflow//tensorflow/cc:cc_ops",
189        "@org_tensorflow//tensorflow/core:tensorflow",
190    ],
191)
192