BUILD 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. package(default_visibility = ["//visibility:public"])
  2. # Test data.
  3. filegroup(
  4. name = "testdata",
  5. data = glob(["testdata/**"]),
  6. )
  7. cc_library(
  8. name = "beam",
  9. hdrs = ["beam.h"],
  10. deps = [
  11. "//dragnn/core/interfaces:cloneable_transition_state",
  12. "//dragnn/core/interfaces:transition_state",
  13. "@org_tensorflow//tensorflow/core:lib", # For tf/core/platform/logging.h
  14. ],
  15. )
  16. cc_library(
  17. name = "component_registry",
  18. srcs = ["component_registry.cc"],
  19. hdrs = ["component_registry.h"],
  20. deps = [
  21. "//dragnn/core/interfaces:component",
  22. "//syntaxnet:registry",
  23. ],
  24. )
  25. cc_library(
  26. name = "compute_session",
  27. hdrs = ["compute_session.h"],
  28. deps = [
  29. "//dragnn/components/util:bulk_feature_extractor",
  30. "//dragnn/core:index_translator",
  31. "//dragnn/core/interfaces:component",
  32. "//dragnn/protos:spec_proto",
  33. "//dragnn/protos:trace_proto",
  34. ],
  35. )
  36. cc_library(
  37. name = "compute_session_impl",
  38. srcs = ["compute_session_impl.cc"],
  39. hdrs = ["compute_session_impl.h"],
  40. deps = [
  41. ":compute_session",
  42. ":index_translator",
  43. ":input_batch_cache",
  44. "//dragnn/components/util:bulk_feature_extractor",
  45. "//dragnn/protos:data_proto",
  46. "//dragnn/protos:spec_proto",
  47. "//dragnn/protos:trace_proto",
  48. "//syntaxnet:registry",
  49. "@org_tensorflow//tensorflow/core:lib", # For tf/core/platform/logging.h
  50. ],
  51. )
  52. cc_library(
  53. name = "compute_session_pool",
  54. srcs = ["compute_session_pool.cc"],
  55. hdrs = ["compute_session_pool.h"],
  56. deps = [
  57. ":component_registry",
  58. ":compute_session",
  59. ":compute_session_impl",
  60. "//dragnn/protos:spec_proto",
  61. "@org_tensorflow//tensorflow/core:lib",
  62. ],
  63. )
  64. cc_library(
  65. name = "index_translator",
  66. srcs = ["index_translator.cc"],
  67. hdrs = ["index_translator.h"],
  68. deps = [
  69. "//dragnn/core/interfaces:component",
  70. "//dragnn/core/interfaces:transition_state",
  71. "@org_tensorflow//tensorflow/core:lib", # For tf/core/platform/logging.h
  72. ],
  73. )
  74. cc_library(
  75. name = "input_batch_cache",
  76. hdrs = ["input_batch_cache.h"],
  77. deps = [
  78. "//dragnn/core/interfaces:input_batch",
  79. "@org_tensorflow//tensorflow/core:lib", # For tf/core/platform/logging.h
  80. ],
  81. )
  82. cc_library(
  83. name = "resource_container",
  84. hdrs = ["resource_container.h"],
  85. deps = [
  86. "//syntaxnet:base",
  87. "@org_tensorflow//tensorflow/core:framework",
  88. ],
  89. )
  90. # Tests
  91. cc_test(
  92. name = "beam_test",
  93. srcs = ["beam_test.cc"],
  94. deps = [
  95. ":beam",
  96. "//dragnn/core/interfaces:cloneable_transition_state",
  97. "//dragnn/core/interfaces:transition_state",
  98. "//dragnn/core/test:mock_transition_state",
  99. "//syntaxnet:test_main",
  100. "@org_tensorflow//tensorflow/core:test",
  101. ],
  102. )
  103. cc_test(
  104. name = "compute_session_impl_test",
  105. srcs = ["compute_session_impl_test.cc"],
  106. deps = [
  107. ":component_registry",
  108. ":compute_session",
  109. ":compute_session_impl",
  110. ":compute_session_pool",
  111. "//dragnn/components/util:bulk_feature_extractor",
  112. "//dragnn/core/interfaces:component",
  113. "//dragnn/core/test:generic",
  114. "//dragnn/core/test:mock_component",
  115. "//dragnn/core/test:mock_transition_state",
  116. "@org_tensorflow//tensorflow/core:test",
  117. ],
  118. )
  119. cc_test(
  120. name = "compute_session_pool_test",
  121. srcs = ["compute_session_pool_test.cc"],
  122. deps = [
  123. ":compute_session",
  124. ":compute_session_pool",
  125. "//dragnn/core/test:generic",
  126. "//dragnn/core/test:mock_component",
  127. "//dragnn/core/test:mock_compute_session",
  128. "//syntaxnet:test_main",
  129. "@org_tensorflow//tensorflow/core:lib",
  130. "@org_tensorflow//tensorflow/core:test",
  131. ],
  132. )
  133. cc_test(
  134. name = "index_translator_test",
  135. srcs = ["index_translator_test.cc"],
  136. deps = [
  137. ":index_translator",
  138. "//dragnn/core/test:mock_component",
  139. "//dragnn/core/test:mock_transition_state",
  140. "//syntaxnet:test_main",
  141. "@org_tensorflow//tensorflow/core:test",
  142. ],
  143. )
  144. cc_test(
  145. name = "input_batch_cache_test",
  146. srcs = ["input_batch_cache_test.cc"],
  147. deps = [
  148. ":input_batch_cache",
  149. "//dragnn/core/interfaces:input_batch",
  150. "//syntaxnet:test_main",
  151. "@org_tensorflow//tensorflow/core:test",
  152. ],
  153. )
  154. cc_test(
  155. name = "resource_container_test",
  156. srcs = ["resource_container_test.cc"],
  157. deps = [
  158. ":resource_container",
  159. "//syntaxnet:test_main",
  160. "@org_tensorflow//tensorflow/core:test",
  161. ],
  162. )
  163. # Tensorflow op kernel BUILD rules.
  164. load(
  165. "//dragnn:tensorflow_ops.bzl",
  166. "tf_gen_op_libs",
  167. "tf_gen_op_wrapper_py",
  168. "tf_kernel_library",
  169. )
  170. tf_gen_op_libs(
  171. op_lib_names = ["dragnn_ops"],
  172. )
  173. tf_gen_op_wrapper_py(
  174. name = "dragnn_ops",
  175. deps = [":dragnn_ops_op_lib"],
  176. )
  177. tf_gen_op_libs(
  178. op_lib_names = ["dragnn_bulk_ops"],
  179. )
  180. tf_gen_op_wrapper_py(
  181. name = "dragnn_bulk_ops",
  182. deps = [":dragnn_bulk_ops_op_lib"],
  183. )
  184. cc_library(
  185. name = "compute_session_op",
  186. srcs = [
  187. "ops/compute_session_op.cc",
  188. ],
  189. hdrs = ["ops/compute_session_op.h"],
  190. deps = [
  191. ":compute_session",
  192. ":resource_container",
  193. "@org_tensorflow//tensorflow/core:framework",
  194. "@org_tensorflow//third_party/eigen3",
  195. ],
  196. )
  197. cc_library(
  198. name = "dragnn_ops_cc",
  199. srcs = [
  200. "ops/dragnn_op_kernels.cc",
  201. "ops/dragnn_ops.cc",
  202. ],
  203. deps = [
  204. ":compute_session",
  205. ":compute_session_op",
  206. ":compute_session_pool",
  207. ":resource_container",
  208. "//dragnn/protos:data_proto",
  209. "//dragnn/protos:spec_proto",
  210. "@org_tensorflow//tensorflow/core:framework",
  211. "@org_tensorflow//tensorflow/core:lib",
  212. "@org_tensorflow//third_party/eigen3",
  213. ],
  214. alwayslink = 1,
  215. )
  216. cc_library(
  217. name = "dragnn_bulk_ops_cc",
  218. srcs = [
  219. "ops/dragnn_bulk_op_kernels.cc",
  220. "ops/dragnn_bulk_ops.cc",
  221. ],
  222. deps = [
  223. ":compute_session_op",
  224. ":resource_container",
  225. "@org_tensorflow//tensorflow/core:framework",
  226. "@org_tensorflow//tensorflow/core:lib",
  227. "@org_tensorflow//tensorflow/core:protos_all_cc",
  228. "@org_tensorflow//third_party/eigen3",
  229. ],
  230. )
  231. # Tensorflow kernel libraries, for use with unit tests.
  232. tf_kernel_library(
  233. name = "dragnn_op_kernels",
  234. srcs = [
  235. "ops/dragnn_op_kernels.cc",
  236. "ops/dragnn_ops.cc",
  237. ],
  238. hdrs = [
  239. ],
  240. deps = [
  241. ":compute_session",
  242. ":compute_session_op",
  243. ":compute_session_pool",
  244. ":resource_container",
  245. "//dragnn/protos:data_proto",
  246. "//dragnn/protos:spec_proto",
  247. "@org_tensorflow//tensorflow/core:framework",
  248. "@org_tensorflow//tensorflow/core:lib",
  249. "@org_tensorflow//third_party/eigen3",
  250. ],
  251. )
  252. tf_kernel_library(
  253. name = "dragnn_bulk_op_kernels",
  254. srcs = [
  255. "ops/dragnn_bulk_op_kernels.cc",
  256. "ops/dragnn_bulk_ops.cc",
  257. ],
  258. hdrs = [
  259. ],
  260. deps = [
  261. ":compute_session",
  262. ":compute_session_op",
  263. ":compute_session_pool",
  264. ":resource_container",
  265. "//dragnn/components/util:bulk_feature_extractor",
  266. "//dragnn/protos:spec_proto",
  267. "@org_tensorflow//tensorflow/core:framework",
  268. "@org_tensorflow//tensorflow/core:lib",
  269. "@org_tensorflow//tensorflow/core:protos_all_cc",
  270. "@org_tensorflow//third_party/eigen3",
  271. ],
  272. )
  273. # Tensorflow kernel tests.
  274. cc_test(
  275. name = "dragnn_op_kernels_test",
  276. srcs = ["ops/dragnn_op_kernels_test.cc"],
  277. deps = [
  278. ":compute_session",
  279. ":compute_session_pool",
  280. ":dragnn_op_kernels",
  281. ":resource_container",
  282. "//dragnn/core/test:generic",
  283. "//dragnn/core/test:mock_compute_session",
  284. "//syntaxnet:test_main",
  285. "@org_tensorflow//tensorflow/core:framework",
  286. "@org_tensorflow//tensorflow/core:protos_all_cc",
  287. "@org_tensorflow//tensorflow/core:test",
  288. "@org_tensorflow//tensorflow/core:testlib",
  289. "@org_tensorflow//tensorflow/core/kernels:ops_testutil",
  290. "@org_tensorflow//tensorflow/core/kernels:ops_util",
  291. "@org_tensorflow//tensorflow/core/kernels:quantized_ops",
  292. ],
  293. )
  294. cc_test(
  295. name = "dragnn_bulk_op_kernels_test",
  296. srcs = ["ops/dragnn_bulk_op_kernels_test.cc"],
  297. deps = [
  298. ":compute_session_pool",
  299. ":dragnn_bulk_op_kernels",
  300. ":resource_container",
  301. "//dragnn/components/util:bulk_feature_extractor",
  302. "//dragnn/core/test:mock_compute_session",
  303. "//syntaxnet:test_main",
  304. "@org_tensorflow//tensorflow/core:framework",
  305. "@org_tensorflow//tensorflow/core:testlib",
  306. "@org_tensorflow//tensorflow/core/kernels:ops_testutil",
  307. "@org_tensorflow//tensorflow/core/kernels:quantized_ops",
  308. ],
  309. )