diff --git a/tensorflow_probability/python/experimental/BUILD b/tensorflow_probability/python/experimental/BUILD index f955ce118a..6ae164fef5 100644 --- a/tensorflow_probability/python/experimental/BUILD +++ b/tensorflow_probability/python/experimental/BUILD @@ -41,6 +41,7 @@ multi_substrate_py_library( "//tensorflow_probability/python/experimental/auto_batching", "//tensorflow_probability/python/experimental/marginalize", "//tensorflow_probability/python/experimental/nn", + "//tensorflow_probability/python/experimental/substrates", "//tensorflow_probability/python/experimental/timeseries", "//tensorflow_probability/python/internal:auto_composite_tensor", "//tensorflow_probability/python/experimental/util:composite_tensor", @@ -63,6 +64,7 @@ multi_substrate_py_library( "//tensorflow_probability/python/experimental/sequential", "//tensorflow_probability/python/experimental/stats", "//tensorflow_probability/python/experimental/sts_gibbs", + "//tensorflow_probability/python/experimental/substrates", "//tensorflow_probability/python/experimental/tangent_spaces", "//tensorflow_probability/python/experimental/timeseries", "//tensorflow_probability/python/experimental/util", diff --git a/tensorflow_probability/python/experimental/__init__.py b/tensorflow_probability/python/experimental/__init__.py index d316a44d90..58a72d64ae 100644 --- a/tensorflow_probability/python/experimental/__init__.py +++ b/tensorflow_probability/python/experimental/__init__.py @@ -43,6 +43,7 @@ from tensorflow_probability.python.experimental import sequential from tensorflow_probability.python.experimental import stats from tensorflow_probability.python.experimental import sts_gibbs +from tensorflow_probability.python.experimental import substrates from tensorflow_probability.python.experimental import tangent_spaces from tensorflow_probability.python.experimental import timeseries from tensorflow_probability.python.experimental import util @@ -75,6 +76,7 @@ 'sequential', 'sts_gibbs', 'stats', + 'substrates', 'tangent_spaces', 'timeseries', 'unnest', diff --git a/tensorflow_probability/python/experimental/substrates/BUILD b/tensorflow_probability/python/experimental/substrates/BUILD new file mode 100644 index 0000000000..c7f3bd836d --- /dev/null +++ b/tensorflow_probability/python/experimental/substrates/BUILD @@ -0,0 +1,37 @@ +# Copyright 2019 The TensorFlow Probability Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Description: +# API-unstable code that is part of the TFP package. + +# Placeholder: py_library + +package( + # default_applicable_licenses + default_visibility = [ + "//tensorflow_probability:__subpackages__", + ], +) + +licenses(["notice"]) + +py_library( + name = "substrates", + srcs = ["__init__.py"], + deps = [ + "//tensorflow_probability/python/internal:all_util", + "//tensorflow_probability/python/internal:lazy_loader", + "//tensorflow_probability/substrates", + ], +) diff --git a/tensorflow_probability/python/experimental/substrates/__init__.py b/tensorflow_probability/python/experimental/substrates/__init__.py new file mode 100644 index 0000000000..6cc75af087 --- /dev/null +++ b/tensorflow_probability/python/experimental/substrates/__init__.py @@ -0,0 +1,33 @@ +# Copyright 2019 The TensorFlow Probability Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +"""TensorFlow Probability alternative substrates.""" + +from tensorflow_probability.python.internal import all_util +from tensorflow_probability.python.internal import lazy_loader + +jax = lazy_loader.LazyLoader( + 'jax', globals(), + 'tensorflow_probability.substrates.jax') +numpy = lazy_loader.LazyLoader( + 'numpy', globals(), + 'tensorflow_probability.substrates.numpy') + + +_allowed_symbols = [ + 'jax', + 'numpy', +] + +all_util.remove_undocumented(__name__, _allowed_symbols)