diff --git a/morph_net/BUILD b/morph_net/BUILD new file mode 100644 index 0000000..aec4eb9 --- /dev/null +++ b/morph_net/BUILD @@ -0,0 +1,8 @@ +# Description: +# MorphNet: Deep Network Structure Learning. + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +exports_files(["LICENSE"]) diff --git a/morph_net/framework/BUILD b/morph_net/framework/BUILD new file mode 100644 index 0000000..89a0364 --- /dev/null +++ b/morph_net/framework/BUILD @@ -0,0 +1,415 @@ +load("//devtools/python/blaze:strict.bzl", "py_strict_test") +load("//devtools/python/blaze:pytype.bzl", "pytype_library") +load("//devtools/python/blaze:python3.bzl", "py2and3_test") + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +pytype_library( + name = "generic_regularizers", + srcs = ["generic_regularizers.py"], + deps = [ + ], +) + +py_library( + name = "batch_norm_source_op_handler", + srcs = ["batch_norm_source_op_handler.py"], + deps = [ + ":grouping_op_handler", + ":tpu_util", + "//third_party/py/morph_net/op_regularizers:gamma_l1_regularizer", + ], +) + +py2and3_test( + name = "batch_norm_source_op_handler_test", + srcs = ["batch_norm_source_op_handler_test.py"], + deps = [ + ":batch_norm_source_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "concat_op_handler", + srcs = ["concat_op_handler.py"], + deps = [ + ":grouping_op_handler", + ":op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "concat_op_handler_test", + srcs = ["concat_op_handler_test.py"], + deps = [ + ":concat_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "constant_op_regularizer", + srcs = ["constant_op_regularizer.py"], + deps = [ + ":generic_regularizers", + "//third_party/py/tensorflow", + ], +) + +py_library( + name = "conv_source_op_handler", + srcs = ["conv_source_op_handler.py"], + deps = [":group_lasso_base_op_handler"], +) + +py2and3_test( + name = "conv_source_op_handler_test", + srcs = ["conv_source_op_handler_test.py"], + deps = [ + ":conv_source_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "conv2d_transpose_source_op_handler", + srcs = ["conv2d_transpose_source_op_handler.py"], + deps = [":group_lasso_base_op_handler"], +) + +py_library( + name = "depth_to_space_op_handler", + srcs = ["depth_to_space_op_handler.py"], + deps = [ + ":op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "depth_to_space_op_handler_test", + srcs = ["depth_to_space_op_handler_test.py"], + deps = [ + ":depth_to_space_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + ], +) + +py_library( + name = "depthwise_convolution_op_handler", + srcs = ["depthwise_convolution_op_handler.py"], + deps = [ + ":grouping_op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "depthwise_convolution_op_handler_test", + srcs = ["depthwise_convolution_op_handler_test.py"], + deps = [ + ":depthwise_convolution_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "group_lasso_base_op_handler", + srcs = ["group_lasso_base_op_handler.py"], + deps = [ + ":op_handler", + ":op_handler_util", + ":tpu_util", + "//third_party/py/morph_net/op_regularizers:group_lasso_regularizer", + ], +) + +py_library( + name = "grouping_op_handler", + srcs = ["grouping_op_handler.py"], + deps = [ + ":op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "grouping_op_handler_test", + srcs = ["grouping_op_handler_test.py"], + deps = [ + ":grouping_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "leaf_op_handler", + srcs = ["leaf_op_handler.py"], + deps = [ + ":op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "leaf_op_handler_test", + srcs = ["leaf_op_handler_test.py"], + deps = [ + ":leaf_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "matmul_source_op_handler", + srcs = ["matmul_source_op_handler.py"], + deps = [ + ":group_lasso_base_op_handler", + "//third_party/py/tensorflow", + ], +) + +py_library( + name = "op_handler", + srcs = ["op_handler.py"], + deps = [ + ], +) + +py_library( + name = "op_handler_util", + srcs = ["op_handler_util.py"], + deps = [ + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "op_handler_util_test", + srcs = ["op_handler_util_test.py"], + deps = [ + ":op_handler_util", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "op_regularizer_manager", + srcs = ["op_regularizer_manager.py"], + deps = [ + ":concat_and_slice_regularizers", + ":constant_op_regularizer", + ":grouping_regularizers", + ":op_handler_util", + "//third_party/py/tensorflow", + "//third_party/py/typing", + ], +) + +py2and3_test( + name = "op_regularizer_manager_test", + srcs = ["op_regularizer_manager_test.py"], + deps = [ + ":batch_norm_source_op_handler", + ":concat_op_handler", + ":conv_source_op_handler", + ":depthwise_convolution_op_handler", + ":generic_regularizers", + ":grouping_op_handler", + ":op_regularizer_manager", + ":output_non_passthrough_op_handler", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/testing:add_concat_model_stub", + "//third_party/py/morph_net/testing:grouping_concat_model_stub", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "output_non_passthrough_op_handler", + srcs = ["output_non_passthrough_op_handler.py"], + deps = [ + ":op_handler", + ":op_handler_util", + ], +) + +py2and3_test( + name = "output_non_passthrough_op_handler_test", + srcs = ["output_non_passthrough_op_handler_test.py"], + deps = [ + ":op_regularizer_manager", + ":output_non_passthrough_op_handler", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/mock", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py2and3_test( + name = "matmul_source_op_handler_test", + srcs = ["matmul_source_op_handler_test.py"], + deps = [ + ":matmul_source_op_handler", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "op_handler_decorator_test", + srcs = ["op_handler_decorator_test.py"], + deps = [ + ":conv_source_op_handler", + ":generic_regularizers", + ":op_handler_decorator", + ":op_regularizer_manager", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/numpy", + "//third_party/py/tensorflow", + ], +) + +pytype_library( + name = "op_handler_decorator", + srcs = ["op_handler_decorator.py"], + deps = [":op_handler"], +) + +pytype_library( + name = "tpu_util", + srcs = ["tpu_util.py"], + deps = [ + "//third_party/py/contextlib2", + "//third_party/py/tensorflow", + ], +) + +pytype_library( + name = "op_handlers", + srcs = ["op_handlers.py"], + strict_deps = True, + deps = [ + ":concat_op_handler", + ":depthwise_convolution_op_handler", + ":grouping_op_handler", + ":leaf_op_handler", + ":output_non_passthrough_op_handler", + ], +) + +py_library( + name = "concat_and_slice_regularizers", + srcs = ["concat_and_slice_regularizers.py"], + deps = [ + ":generic_regularizers", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "concat_and_slice_regularizers_test", + srcs = ["concat_and_slice_regularizers_test.py"], + deps = [ + ":concat_and_slice_regularizers", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/morph_net/testing:op_regularizer_stub", + "//third_party/py/tensorflow", + ], +) + +py_library( + name = "grouping_regularizers", + srcs = ["grouping_regularizers.py"], + deps = [ + ":generic_regularizers", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "grouping_regularizers_test", + srcs = ["grouping_regularizers_test.py"], + deps = [ + ":grouping_regularizers", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/testing:op_regularizer_stub", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + ], +) + +py_strict_test( + name = "op_handlers_test", + srcs = ["op_handlers_test.py"], + python_version = "PY2", + deps = [ + ":op_handlers", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/tensorflow", + ], +) + +py_strict_test( + name = "tpu_util_test", + srcs = ["tpu_util_test.py"], + python_version = "PY3", + deps = [ + ":tpu_util", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/slim", + ], +) diff --git a/morph_net/network_regularizers/BUILD b/morph_net/network_regularizers/BUILD new file mode 100644 index 0000000..df9560d --- /dev/null +++ b/morph_net/network_regularizers/BUILD @@ -0,0 +1,196 @@ +load("//devtools/python/blaze:pytype.bzl", "pytype_library") +load("//devtools/python/blaze:python3.bzl", "py2and3_test") + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +pytype_library( + name = "activation_regularizer", + srcs = ["activation_regularizer.py"], + deps = [ + ":cost_calculator", + ":resource_function", + "//third_party/py/morph_net/framework:batch_norm_source_op_handler", + "//third_party/py/morph_net/framework:conv2d_transpose_source_op_handler", + "//third_party/py/morph_net/framework:conv_source_op_handler", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:matmul_source_op_handler", + "//third_party/py/morph_net/framework:op_handler_decorator", + "//third_party/py/morph_net/framework:op_handlers", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "activation_regularizer_test", + srcs = ["activation_regularizer_test.py"], + deps = [ + ":activation_regularizer", + ":resource_function", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/testing:dummy_decorator", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/slim", + ], +) + +pytype_library( + name = "cost_calculator", + srcs = ["cost_calculator.py"], + deps = ["//third_party/py/tensorflow"], +) + +py2and3_test( + name = "cost_calculator_test", + srcs = ["cost_calculator_test.py"], + deps = [ + ":cost_calculator", + ":resource_function", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/framework:batch_norm_source_op_handler", + "//third_party/py/morph_net/framework:concat_op_handler", + "//third_party/py/morph_net/framework:grouping_op_handler", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/morph_net/framework:output_non_passthrough_op_handler", + "//third_party/py/morph_net/testing:add_concat_model_stub", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +pytype_library( + name = "flop_regularizer", + srcs = ["flop_regularizer.py"], + deps = [ + ":cost_calculator", + ":resource_function", + "//third_party/py/morph_net/framework:batch_norm_source_op_handler", + "//third_party/py/morph_net/framework:conv2d_transpose_source_op_handler", + "//third_party/py/morph_net/framework:conv_source_op_handler", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:matmul_source_op_handler", + "//third_party/py/morph_net/framework:op_handler_decorator", + "//third_party/py/morph_net/framework:op_handlers", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "flop_regularizer_test", + srcs = ["flop_regularizer_test.py"], + shard_count = 2, + deps = [ + ":flop_regularizer", + ":resource_function", + "//learning/brain/contrib/slim/nets:resnet_v1", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/testing:dummy_decorator", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + "//third_party/tensorflow/contrib/slim", + "//third_party/tensorflow/contrib/slim:nets", + ], +) + +pytype_library( + name = "latency_regularizer", + srcs = ["latency_regularizer.py"], + deps = [ + ":cost_calculator", + ":resource_function", + "//third_party/py/morph_net/framework:batch_norm_source_op_handler", + "//third_party/py/morph_net/framework:conv2d_transpose_source_op_handler", + "//third_party/py/morph_net/framework:conv_source_op_handler", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:matmul_source_op_handler", + "//third_party/py/morph_net/framework:op_handler_decorator", + "//third_party/py/morph_net/framework:op_handlers", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "latency_regularizer_test", + srcs = ["latency_regularizer_test.py"], + shard_count = 4, + deps = [ + ":flop_regularizer", + ":latency_regularizer", + ":model_size_regularizer", + ":resource_function", + "//learning/brain/contrib/slim/nets:inception", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + "//third_party/tensorflow/contrib/slim", + "//third_party/tensorflow/contrib/slim:nets", + ], +) + +pytype_library( + name = "model_size_regularizer", + srcs = ["model_size_regularizer.py"], + deps = [ + ":cost_calculator", + ":resource_function", + "//third_party/py/morph_net/framework:batch_norm_source_op_handler", + "//third_party/py/morph_net/framework:conv2d_transpose_source_op_handler", + "//third_party/py/morph_net/framework:conv_source_op_handler", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:matmul_source_op_handler", + "//third_party/py/morph_net/framework:op_handler_decorator", + "//third_party/py/morph_net/framework:op_handlers", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "model_size_regularizer_test", + srcs = ["model_size_regularizer_test.py"], + deps = [ + ":model_size_regularizer", + ":resource_function", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/testing:dummy_decorator", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/slim", + ], +) + +pytype_library( + name = "resource_function", + srcs = ["resource_function.py"], + deps = [ + ":cost_calculator", + "//third_party/py/morph_net/framework:op_handler_util", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "resource_function_test", + srcs = ["resource_function_test.py"], + deps = [ + ":resource_function", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + "//third_party/tensorflow/python:framework_for_generated_wrappers", + ], +) diff --git a/morph_net/op_regularizers/BUILD b/morph_net/op_regularizers/BUILD new file mode 100644 index 0000000..24c7916 --- /dev/null +++ b/morph_net/op_regularizers/BUILD @@ -0,0 +1,40 @@ +load("//devtools/python/blaze:python3.bzl", "py2and3_test") + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +py_library( + name = "gamma_l1_regularizer", + srcs = ["gamma_l1_regularizer.py"], + deps = [ + "//pyglib/logging", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:tpu_util", + "//third_party/py/tensorflow:tensorflow_google", + ], +) + +py_library( + name = "group_lasso_regularizer", + srcs = ["group_lasso_regularizer.py"], + deps = [ + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:tpu_util", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "group_lasso_regularizer_test", + srcs = ["group_lasso_regularizer_test.py"], + deps = [ + ":group_lasso_regularizer", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/testing:parameterized", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) diff --git a/morph_net/testing/BUILD b/morph_net/testing/BUILD new file mode 100644 index 0000000..4b062bc --- /dev/null +++ b/morph_net/testing/BUILD @@ -0,0 +1,58 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) # Apache 2.0 + +exports_files(["LICENSE"]) + +py_library( + name = "op_regularizer_stub", + testonly = 1, + srcs = ["op_regularizer_stub.py"], + deps = [ + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "grouping_concat_model_stub", + testonly = 1, + srcs = ["grouping_concat_model_stub.py"], + deps = [ + ":op_regularizer_stub", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "add_concat_model_stub", + testonly = 1, + srcs = ["add_concat_model_stub.py"], + deps = [ + ":op_regularizer_stub", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "ladder_model_stub", + testonly = 1, + srcs = ["ladder_model_stub.py"], + deps = [ + ":op_regularizer_stub", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "dummy_decorator", + testonly = 1, + srcs = ["dummy_decorator.py"], + deps = [ + "//third_party/py/morph_net/framework:generic_regularizers", + ], +) diff --git a/morph_net/tools/BUILD b/morph_net/tools/BUILD new file mode 100644 index 0000000..8ba0ad6 --- /dev/null +++ b/morph_net/tools/BUILD @@ -0,0 +1,65 @@ +load("//devtools/python/blaze:python3.bzl", "py2and3_test") +load("//devtools/python/blaze:pytype.bzl", "pytype_library") + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +pytype_library( + name = "structure_exporter", + srcs = ["structure_exporter.py"], + srcs_version = "PY2AND3", + deps = [ + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/numpy", + "//third_party/py/tensorflow", + ], +) + +py2and3_test( + name = "structure_exporter_test", + srcs = ["structure_exporter_test.py"], + deps = [ + ":structure_exporter", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/flags", + "//third_party/py/absl/testing:parameterized", + "//third_party/py/morph_net/framework:generic_regularizers", + "//third_party/py/morph_net/framework:op_regularizer_manager", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_library( + name = "configurable_ops", + srcs = [ + "configurable_ops.py", + ], + deps = [ + "//third_party/py/enum", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + ], +) + +py_test( + name = "configurable_ops_test", + size = "medium", + srcs = [ + "configurable_ops_test.py", + ], + python_version = "PY2", + deps = [ + ":configurable_ops", + "//learning/brain/public:disable_tf2", # build_cleaner: keep; go/disable_tf2 + "//third_party/py/absl/flags", + "//third_party/py/absl/testing:parameterized", + "//third_party/py/tensorflow", + "//third_party/tensorflow/contrib/framework:framework_py", + "//third_party/tensorflow/contrib/layers:layers_py", + "//third_party/tensorflow/contrib/slim", + "//third_party/tensorflow/contrib/slim:nets", + ], +)