BUILD 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package(default_visibility = ["//visibility:public"])
  2. filegroup(
  3. name = "testdata",
  4. srcs = glob(["testdata/**"]),
  5. )
  6. py_binary(
  7. name = "evaluator",
  8. srcs = ["evaluator.py"],
  9. tags = [
  10. "notap",
  11. "optonly",
  12. ],
  13. deps = [
  14. ":components",
  15. "//dragnn/python:evaluation",
  16. "//dragnn/python:spec_builder",
  17. ],
  18. )
  19. py_binary(
  20. name = "segmenter-evaluator",
  21. srcs = ["segmenter-evaluator.py"],
  22. tags = [
  23. "notap",
  24. "optonly",
  25. ],
  26. deps = [
  27. ":components",
  28. "//dragnn/python:dragnn_ops",
  29. "//dragnn/python:evaluation",
  30. "//dragnn/python:spec_builder",
  31. ],
  32. )
  33. py_binary(
  34. name = "parse-to-conll",
  35. srcs = ["parse-to-conll.py"],
  36. tags = [
  37. "notap",
  38. "optonly",
  39. ],
  40. deps = [
  41. ":components",
  42. "//dragnn/python:dragnn_ops",
  43. "//dragnn/python:spec_builder",
  44. ],
  45. )
  46. py_binary(
  47. name = "trainer",
  48. srcs = ["trainer.py"],
  49. deps = [
  50. ":components",
  51. "//dragnn/python:dragnn_ops",
  52. "//dragnn/python:evaluation",
  53. "//dragnn/python:lexicon",
  54. "//dragnn/python:spec_builder",
  55. "//dragnn/python:trainer_lib",
  56. "//syntaxnet:task_spec_py_pb2",
  57. ],
  58. )
  59. py_binary(
  60. name = "parser_trainer",
  61. srcs = ["parser_trainer.py"],
  62. deps = [
  63. ":components",
  64. "//dragnn/python:dragnn_ops",
  65. "//dragnn/python:evaluation",
  66. "//dragnn/python:lexicon",
  67. "//dragnn/python:spec_builder",
  68. "//dragnn/python:trainer_lib",
  69. "//syntaxnet:task_spec_py_pb2",
  70. ],
  71. )
  72. py_binary(
  73. name = "segmenter_trainer",
  74. srcs = ["segmenter_trainer.py"],
  75. deps = [
  76. "//dragnn/core:dragnn_bulk_ops",
  77. "//dragnn/core:dragnn_ops",
  78. "//dragnn/protos:spec_py_pb2",
  79. "//dragnn/python:evaluation",
  80. "//dragnn/python:graph_builder",
  81. "//dragnn/python:load_dragnn_cc_impl_py",
  82. "//dragnn/python:sentence_io",
  83. "//dragnn/python:spec_builder",
  84. "//dragnn/python:trainer_lib",
  85. "//syntaxnet:load_parser_ops_py",
  86. "//syntaxnet:parser_ops",
  87. "@org_tensorflow//tensorflow:tensorflow_py",
  88. "@org_tensorflow//tensorflow/core:protos_all_py",
  89. ],
  90. )
  91. py_binary(
  92. name = "model_trainer",
  93. srcs = ["model_trainer.py"],
  94. deps = [
  95. "//dragnn/core:dragnn_bulk_ops",
  96. "//dragnn/core:dragnn_ops",
  97. "//dragnn/protos:spec_py_pb2",
  98. "//dragnn/python:dragnn_ops",
  99. "//dragnn/python:evaluation",
  100. "//dragnn/python:graph_builder",
  101. "//dragnn/python:load_dragnn_cc_impl_py",
  102. "//dragnn/python:sentence_io",
  103. "//dragnn/python:spec_builder",
  104. "//dragnn/python:trainer_lib",
  105. "//syntaxnet:load_parser_ops_py",
  106. "//syntaxnet:parser_ops",
  107. "//syntaxnet:sentence_py_pb2",
  108. "//syntaxnet:task_spec_py_pb2",
  109. "//syntaxnet/util:check",
  110. "@org_tensorflow//tensorflow:tensorflow_py",
  111. "@org_tensorflow//tensorflow/core:protos_all_py",
  112. ],
  113. )
  114. sh_test(
  115. name = "model_trainer_test",
  116. size = "medium",
  117. srcs = ["model_trainer_test.sh"],
  118. data = [
  119. ":model_trainer",
  120. ":testdata",
  121. ],
  122. deps = [
  123. ],
  124. )
  125. # This is meant to be run inside the Docker image. In the OSS directory, run,
  126. #
  127. # ./build_devel.sh bazel run //dragnn/python:oss_notebook_launcher
  128. py_binary(
  129. name = "oss_notebook_launcher",
  130. srcs = ["oss_notebook_launcher.py"],
  131. args = [
  132. "notebook",
  133. "--notebook-dir=/opt/tensorflow/syntaxnet/examples",
  134. "--no-browser",
  135. ],
  136. tags = [
  137. "optonly",
  138. ],
  139. deps = [
  140. ":all_in_one_components",
  141. ],
  142. )
  143. py_binary(
  144. name = "build_pip_package",
  145. srcs = ["build_pip_package.py"],
  146. data = ["oss_setup.py"],
  147. deps = [
  148. ":all_in_one_components",
  149. ],
  150. )
  151. # Shared/common components for all tools.
  152. py_library(
  153. name = "components",
  154. deps = [
  155. "//dragnn/core:dragnn_bulk_ops",
  156. "//dragnn/core:dragnn_ops",
  157. "//dragnn/protos:spec_py_pb2",
  158. "//dragnn/python:graph_builder",
  159. "//dragnn/python:load_dragnn_cc_impl_py",
  160. "//dragnn/python:sentence_io",
  161. "//syntaxnet:load_parser_ops_py",
  162. "//syntaxnet:parser_ops",
  163. "//syntaxnet:sentence_py_pb2",
  164. "@org_tensorflow//tensorflow:tensorflow_py",
  165. "@org_tensorflow//tensorflow/core:protos_all_py",
  166. ],
  167. )
  168. # This should include just about everything, suitable for Jupyter notebooks or
  169. # building a pip package.
  170. py_library(
  171. name = "all_in_one_components",
  172. deps = [
  173. ":components",
  174. "//dragnn/python:components",
  175. "//dragnn/python:dragnn_ops",
  176. "//dragnn/python:evaluation",
  177. "//dragnn/python:lexicon",
  178. "//dragnn/python:render_parse_tree_graphviz",
  179. "//dragnn/python:render_spec_with_graphviz",
  180. "//dragnn/python:spec_builder",
  181. "//dragnn/python:trainer_lib",
  182. "//dragnn/python:visualization",
  183. "//syntaxnet:task_spec_py_pb2",
  184. ],
  185. )