gpflow 2.9.2__tar.gz → 2.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gpflow-2.9.2/gpflow.egg-info → gpflow-2.10.0}/PKG-INFO +1 -3
- {gpflow-2.9.2 → gpflow-2.10.0}/RELEASE.md +14 -1
- gpflow-2.10.0/VERSION +1 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/conf.py +1 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/keras.py +4 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/optimizers/mcmc.py +1 -3
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/posteriors.py +7 -4
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/__init__.py +2 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/traversal.py +18 -2
- {gpflow-2.9.2 → gpflow-2.10.0/gpflow.egg-info}/PKG-INFO +1 -3
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow.egg-info/requires.txt +1 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/setup.py +1 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_initial_value.py +1 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_deepcopy.py +16 -1
- gpflow-2.9.2/VERSION +0 -1
- {gpflow-2.9.2 → gpflow-2.10.0}/LICENSE +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/MANIFEST.in +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/README.md +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/benchmark_api.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/benchmarks.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/dataset_api.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/datasets.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/grouping.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/metadata.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/metric_api.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/metrics.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/model_api.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/models.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/paths.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/plot.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/plotter_api.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/plotters.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/registry.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/run.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/sharding.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/benchmark/tag.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/benchmarks.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/bibliography.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/getting_started.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/index.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/installation.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/doc/sphinx/user_guide.rst +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/ci_utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/dispatch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/multioutput/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/multioutput/conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/multioutput/sample_conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/sample_conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/uncertain_conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/conditionals/util.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/config/__config__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/config/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/dispatch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/kufs.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/kuus.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/multioutput/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/multioutput/kufs.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/covariances/multioutput/kuus.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/cross_kernels.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/dispatch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/expectations.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/linears.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/mean_functions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/misc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/products.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/quadratures.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/squared_exponentials.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/expectations/sums.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/experimental/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/experimental/utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/functions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/inducing_variables/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/inducing_variables/inducing_patch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/inducing_variables/inducing_variables.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/inducing_variables/multioutput/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/inducing_variables/multioutput/inducing_variables.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/categorical.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/changepoints.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/convolutional.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/linears.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/misc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/multioutput/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/multioutput/kernels.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/periodic.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/statics.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kernels/stationaries.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/kullback_leiblers.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/misc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/multiclass.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/multilatent.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/scalar_continuous.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/scalar_discrete.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/likelihoods/utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/logdensities.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/mean_functions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/cglb.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/gplvm.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/gpmc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/gpr.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/model.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/sgpmc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/sgpr.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/svgp.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/training_mixins.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/util.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/models/vgp.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/monitor/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/monitor/base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/monitor/tensorboard.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/mypy_flags.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/optimizers/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/optimizers/natgrad.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/optimizers/scipy.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/probability_distributions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/py.typed +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/quadrature/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/quadrature/base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/quadrature/deprecated.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/quadrature/gauss_hermite.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/type_flags.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/bijectors.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/misc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/model_utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/multipledispatch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/ops.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/utilities/parameter_or_function.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow/versions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow.egg-info/SOURCES.txt +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow.egg-info/dependency_links.txt +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/gpflow.egg-info/top_level.txt +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/setup.cfg +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/test_broadcasted_conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/test_conditionals.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/test_multioutput.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/test_uncertain_conditional.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conditionals/test_util.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/config/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/config/test_config.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/conftest.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/covariances/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/covariances/test_base_covariances.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/covariances/test_multioutput.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/expectations/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/expectations/test_expectations.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/experimental/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/experimental/test_utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/reference.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_broadcasting.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_changepoints.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_coregion.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_kernels.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_positive_semidefinite.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/kernels/test_scaled_euclid_dist.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_function_params.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_heteroskedastic.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_heteroskedastic_constant_variance.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_likelihoods.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_multiclass.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_switched_likelihood.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_cglb.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_gplvm.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_gpr.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_gpr_posterior.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_mcmc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_methods.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_model_predict.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_sgpr.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_sgpr_posterior.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_svgp.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_svgp_posterior.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_training_mixins.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_variational.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_vgp.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/models/test_vgp_posterior.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/optimizers/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/optimizers/test_mcmc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/optimizers/test_natural_gradient.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/optimizers/test_scipy.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/posteriors/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/posteriors/conftest.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/posteriors/test_bo_integration.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/posteriors/test_posteriors.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_all.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_base.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_base_prior.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_base_training.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_functions.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_inducing_variables.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_kullback_leiblers.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_logdensities.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/test_monitor.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_bijectors.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_misc.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_model_utils.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_multipledispatch.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_ops.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_parameter_or_function.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_set_trainable.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_training_loop.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_traversal.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/utilities/test_utilities.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/__init__.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_benchmark.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_docs.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_dynamic_shapes.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_linear_noise.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_method_equivalence.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_model_serialization.py +0 -0
- {gpflow-2.9.2 → gpflow-2.10.0}/tests/integration/test_notebooks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gpflow
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.10.0
|
|
4
4
|
Summary: Gaussian process methods in TensorFlow
|
|
5
5
|
Home-page: https://www.gpflow.org
|
|
6
6
|
Author: James Hensman, Alex Matthews
|
|
@@ -9,7 +9,6 @@ License: Apache License 2.0
|
|
|
9
9
|
Project-URL: Source on GitHub, https://github.com/GPflow/GPflow
|
|
10
10
|
Project-URL: Documentation, https://gpflow.github.io/GPflow/
|
|
11
11
|
Keywords: machine-learning gaussian-processes kernels tensorflow
|
|
12
|
-
Platform: UNKNOWN
|
|
13
12
|
Classifier: Development Status :: 5 - Production/Stable
|
|
14
13
|
Classifier: Environment :: GPU :: NVIDIA CUDA
|
|
15
14
|
Classifier: Intended Audience :: Developers
|
|
@@ -217,4 +216,3 @@ which can be cited by users.
|
|
|
217
216
|
url = {https://arxiv.org/abs/2003.01115}
|
|
218
217
|
}
|
|
219
218
|
```
|
|
220
|
-
|
|
@@ -33,7 +33,7 @@ This release contains contributions from:
|
|
|
33
33
|
<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE>
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
# Release 2.
|
|
36
|
+
# Release 2.11.0 (next release)
|
|
37
37
|
|
|
38
38
|
<INSERT SMALL BLURB ABOUT RELEASE FOCUS AREA AND POTENTIAL TOOLCHAIN CHANGES>
|
|
39
39
|
|
|
@@ -65,6 +65,19 @@ This release contains contributions from:
|
|
|
65
65
|
|
|
66
66
|
<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE>
|
|
67
67
|
|
|
68
|
+
# Release 2.10.0
|
|
69
|
+
|
|
70
|
+
This release adds a utility function for converting tf.Modules to float32.
|
|
71
|
+
|
|
72
|
+
## Improvements
|
|
73
|
+
|
|
74
|
+
* Add the `freeze_as_float32` utility function, which returns a frozen deepcopy of a module with all values converted to tf.float32.
|
|
75
|
+
|
|
76
|
+
## Thanks to our Contributors
|
|
77
|
+
|
|
78
|
+
This release contains contributions from:
|
|
79
|
+
|
|
80
|
+
uri-granta
|
|
68
81
|
|
|
69
82
|
# Release 2.9.2
|
|
70
83
|
|
gpflow-2.10.0/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.10.0
|
|
@@ -24,7 +24,7 @@ copyright = "2023, The GPflow Contributors"
|
|
|
24
24
|
author = "The GPflow Contributors"
|
|
25
25
|
|
|
26
26
|
# The full version, including alpha/beta/rc tags
|
|
27
|
-
release = "2.
|
|
27
|
+
release = "2.10.0"
|
|
28
28
|
|
|
29
29
|
# -- General configuration ---------------------------------------------------
|
|
30
30
|
|
|
@@ -23,8 +23,11 @@
|
|
|
23
23
|
# >> from tf_keras.optimizers import Adam
|
|
24
24
|
|
|
25
25
|
try:
|
|
26
|
+
# check whether a (recent) tf_keras is present
|
|
26
27
|
import tf_keras
|
|
27
|
-
|
|
28
|
+
|
|
29
|
+
tf_keras.optimizers
|
|
30
|
+
except (ModuleNotFoundError, AttributeError): # pragma: no cover
|
|
28
31
|
import tensorflow.keras as tf_keras
|
|
29
32
|
|
|
30
33
|
tf_keras = tf_keras
|
|
@@ -73,9 +73,7 @@ class SamplingHelper:
|
|
|
73
73
|
return self._variables
|
|
74
74
|
|
|
75
75
|
@property
|
|
76
|
-
def target_log_prob_fn(
|
|
77
|
-
self,
|
|
78
|
-
) -> Callable[..., Tuple[tf.Tensor, Callable[..., Tuple[tf.Tensor, Sequence[None]]]]]:
|
|
76
|
+
def target_log_prob_fn(self) -> Callable[..., tf.Tensor]:
|
|
79
77
|
"""
|
|
80
78
|
The target log probability, adjusted to allow for optimisation to occur on the tracked
|
|
81
79
|
unconstrained underlying variables.
|
|
@@ -967,10 +967,13 @@ class FullyCorrelatedPosterior(BasePosterior):
|
|
|
967
967
|
cov = tf.linalg.adjoint(cov)
|
|
968
968
|
|
|
969
969
|
mean = tf.reshape(mean, (N, K))
|
|
970
|
-
if
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
970
|
+
# the nested if-then-else is to make both mypy and the tensorflow
|
|
971
|
+
# compiler happy across multiple different versions!
|
|
972
|
+
cov_shape: Tuple[int, ...] = (
|
|
973
|
+
((N, K, N, K) if full_cov else (N, K))
|
|
974
|
+
if full_cov == full_output_cov
|
|
975
|
+
else ((K, N, N) if full_cov else (N, K, K))
|
|
976
|
+
)
|
|
974
977
|
cov = tf.reshape(cov, cov_shape)
|
|
975
978
|
|
|
976
979
|
return mean, cov
|
|
@@ -5,6 +5,7 @@ from .multipledispatch import Dispatcher
|
|
|
5
5
|
from .traversal import (
|
|
6
6
|
deepcopy,
|
|
7
7
|
freeze,
|
|
8
|
+
freeze_as_float32,
|
|
8
9
|
leaf_components,
|
|
9
10
|
multiple_assign,
|
|
10
11
|
parameter_dict,
|
|
@@ -24,6 +25,7 @@ __all__ = [
|
|
|
24
25
|
"bijectors",
|
|
25
26
|
"deepcopy",
|
|
26
27
|
"freeze",
|
|
28
|
+
"freeze_as_float32",
|
|
27
29
|
"is_variable",
|
|
28
30
|
"leaf_components",
|
|
29
31
|
"misc",
|
|
@@ -30,6 +30,7 @@ from ..config import default_summary_fmt
|
|
|
30
30
|
__all__ = [
|
|
31
31
|
"deepcopy",
|
|
32
32
|
"freeze",
|
|
33
|
+
"freeze_as_float32",
|
|
33
34
|
"leaf_components",
|
|
34
35
|
"multiple_assign",
|
|
35
36
|
"parameter_dict",
|
|
@@ -98,10 +99,10 @@ def print_summary(module: tf.Module, fmt: Optional[str] = None) -> None:
|
|
|
98
99
|
"""
|
|
99
100
|
fmt = fmt if fmt is not None else default_summary_fmt()
|
|
100
101
|
if fmt == "notebook":
|
|
101
|
-
from IPython.core.display import HTML,
|
|
102
|
+
from IPython.core.display import HTML, display_html
|
|
102
103
|
|
|
103
104
|
tab = tabulate_module_summary(module, "html")
|
|
104
|
-
|
|
105
|
+
display_html(HTML(tab))
|
|
105
106
|
else:
|
|
106
107
|
print(tabulate_module_summary(module, fmt))
|
|
107
108
|
|
|
@@ -277,6 +278,21 @@ def freeze(input_module: M) -> M:
|
|
|
277
278
|
return module_copy
|
|
278
279
|
|
|
279
280
|
|
|
281
|
+
def freeze_as_float32(input_module: M) -> M:
|
|
282
|
+
"""
|
|
283
|
+
Returns a frozen deepcopy of the input tf.Module with all values converted to tf.float32.
|
|
284
|
+
|
|
285
|
+
:param input_module: tf.Module or gpflow.Module.
|
|
286
|
+
:return: Returns a float32 frozen deepcopy of an input object.
|
|
287
|
+
"""
|
|
288
|
+
objects_to_freeze = _get_leaf_components(input_module)
|
|
289
|
+
memo_tensors = {
|
|
290
|
+
id(v): tf.cast(tf.convert_to_tensor(v), dtype=tf.float32)
|
|
291
|
+
for v in objects_to_freeze.values()
|
|
292
|
+
}
|
|
293
|
+
return deepcopy(input_module, memo_tensors)
|
|
294
|
+
|
|
295
|
+
|
|
280
296
|
def traverse_module(
|
|
281
297
|
m: TraverseInput,
|
|
282
298
|
acc: Accumulator[State],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gpflow
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.10.0
|
|
4
4
|
Summary: Gaussian process methods in TensorFlow
|
|
5
5
|
Home-page: https://www.gpflow.org
|
|
6
6
|
Author: James Hensman, Alex Matthews
|
|
@@ -9,7 +9,6 @@ License: Apache License 2.0
|
|
|
9
9
|
Project-URL: Source on GitHub, https://github.com/GPflow/GPflow
|
|
10
10
|
Project-URL: Documentation, https://gpflow.github.io/GPflow/
|
|
11
11
|
Keywords: machine-learning gaussian-processes kernels tensorflow
|
|
12
|
-
Platform: UNKNOWN
|
|
13
12
|
Classifier: Development Status :: 5 - Production/Stable
|
|
14
13
|
Classifier: Environment :: GPU :: NVIDIA CUDA
|
|
15
14
|
Classifier: Intended Audience :: Developers
|
|
@@ -217,4 +216,3 @@ which can be cited by users.
|
|
|
217
216
|
url = {https://arxiv.org/abs/2003.01115}
|
|
218
217
|
}
|
|
219
218
|
```
|
|
220
|
-
|
|
@@ -74,7 +74,7 @@ def test_assignment_value(path: Path) -> None:
|
|
|
74
74
|
these problems.
|
|
75
75
|
"""
|
|
76
76
|
|
|
77
|
-
self.bad_assigns: List[ast.
|
|
77
|
+
self.bad_assigns: List[Union[ast.Assign, ast.AugAssign, ast.AnnAssign]] = []
|
|
78
78
|
"""
|
|
79
79
|
List of bad assignments, so that we can report multiple errors at the same time.
|
|
80
80
|
"""
|
|
@@ -14,7 +14,7 @@ from gpflow.base import TensorType
|
|
|
14
14
|
|
|
15
15
|
class A(tf.Module):
|
|
16
16
|
def __init__(self) -> None:
|
|
17
|
-
self.var = tf.Variable([1.0])
|
|
17
|
+
self.var = tf.Variable([1.0], dtype=tf.float64)
|
|
18
18
|
shift = tf.Variable(1e-6)
|
|
19
19
|
self.bijector = tfp.bijectors.Chain([tfp.bijectors.Softplus(), tfp.bijectors.Shift(shift)])
|
|
20
20
|
|
|
@@ -87,6 +87,21 @@ def test_freeze() -> None:
|
|
|
87
87
|
assert module_frozen.variables == ()
|
|
88
88
|
assert isinstance(module.module.module.var, tf.Variable)
|
|
89
89
|
assert isinstance(module_frozen.module.module.var, tf.Tensor)
|
|
90
|
+
assert module.module.module.var.dtype is tf.float64
|
|
91
|
+
assert module_frozen.module.module.var.dtype is tf.float64
|
|
92
|
+
assert module.module.module.var == module_frozen.module.module.var
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def test_freeze_as_float32() -> None:
|
|
96
|
+
module = NestedModule(NestedModule(A()))
|
|
97
|
+
module_frozen = gpflow.utilities.freeze_as_float32(module)
|
|
98
|
+
assert len(module.variables) == 2
|
|
99
|
+
assert module_frozen.variables == ()
|
|
100
|
+
assert isinstance(module.module.module.var, tf.Variable)
|
|
101
|
+
assert isinstance(module_frozen.module.module.var, tf.Tensor)
|
|
102
|
+
assert module.module.module.var.dtype is tf.float64
|
|
103
|
+
assert module_frozen.module.module.var.dtype is tf.float32
|
|
104
|
+
assert tf.cast(module.module.module.var, tf.float32) == module_frozen.module.module.var
|
|
90
105
|
|
|
91
106
|
|
|
92
107
|
def test_pickle_frozen() -> None:
|
gpflow-2.9.2/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.9.2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpflow-2.9.2 → gpflow-2.10.0}/tests/gpflow/likelihoods/test_heteroskedastic_constant_variance.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|