BUILD 7.9 KB

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