qpytorch 0.1__tar.gz → 0.1.1__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.
Potentially problematic release.
This version of qpytorch might be problematic. Click here for more details.
- {qpytorch-0.1 → qpytorch-0.1.1}/.conda/meta.yaml +2 -1
- {qpytorch-0.1 → qpytorch-0.1.1}/CONTRIBUTING.md +8 -4
- {qpytorch-0.1 → qpytorch-0.1.1}/PKG-INFO +28 -27
- {qpytorch-0.1 → qpytorch-0.1.1}/README.md +27 -26
- qpytorch-0.1.1/docs/_config.yml +6 -0
- qpytorch-0.1.1/docs/index.md +59 -0
- qpytorch-0.1/venv_install.yaml → qpytorch-0.1.1/env_install.yaml +1 -2
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/version.py +2 -2
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch.egg-info/PKG-INFO +28 -27
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch.egg-info/SOURCES.txt +3 -1
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch.egg-info/requires.txt +1 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/setup.py +2 -1
- {qpytorch-0.1 → qpytorch-0.1.1}/.github/workflows/deploy.yml +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/.github/workflows/run_test_suite.yml +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/.gitignore +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/.readthedocs.yaml +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/LICENSE +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/Makefile +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/.gitignore +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/_static/custom.css +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/_static/custom.js +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/beta_features.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/conf.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/constraints.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/distributions.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/functions.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/keops_kernels.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/kernels.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/likelihoods.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/linear_operator_objects.inv +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/marginal_log_likelihoods.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/means.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/metrics.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/models.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/module.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/optim.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/priors.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/settings.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/utils.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/docs/source/variational.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/.gitignore +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/Hyperparameters.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/Implementing_a_custom_Kernel.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/Introduction_to_QExponential_Process.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/Metrics.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/Saving_and_Loading_Models.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/kernels_with_additive_or_product_structure.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/satallite_truth_obs.png +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/00_Basic_Usage/statellite_reconstructions.png +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/QEP_Regression_DistributionalKernel.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/QEP_Regression_Fully_Bayesian.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/QEP_Regression_on_Classification_Labels.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/Simple_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/Spectral_Delta_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/Spectral_Mixture_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/01_Exact_QEPs/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Exact_QEP_Posterior_Sampling_with_CIQ.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Grid_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/KISSQEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/KeOps_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/SQEPR_Regression_CUDA.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Scalable_Kernel_Interpolation_for_Products_CUDA.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Simple_MultiGPU_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Simple_QEP_Regression_CUDA.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/Simple_QEP_Regression_With_LOVE_Fast_Variances_and_Sampling.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/02_Scalable_Exact_QEPs/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/Batch_Uncorrelated_Multioutput_QEP.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/Hadamard_Multitask_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/ModelList_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/Multitask_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/03_Multitask_Exact_QEPs/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/045_QEPLVM/QEP_LVM_for_Regularizing_Latent_Representations.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/045_QEPLVM/QExponential_Process_Latent_Variable_Models_with_Stochastic_Variational_Inference.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/045_QEPLVM/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/045_QEPLVM/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/Approximate_QEP_Objective_Functions.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/Modifying_the_variational_strategy_and_distribution.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/Natural_Gradient_Descent.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/Non_Gaussian_Likelihoods.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/PolyaGamma_Binary_Classification.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/QEP_Regression_with_Uncertain_Inputs.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/SVQEP_CIQ.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/SVQEP_Multitask_QEP_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/SVQEP_Regression_CUDA.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/VNNQEP.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/04_Variational_and_Approximate_QEPs/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/05_Deep_QExponential_Processes/DQEP_Multitask_Regression.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/05_Deep_QExponential_Processes/Deep_QExponential_Processes.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/05_Deep_QExponential_Processes/Deep_Sigma_Point_Processes.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/05_Deep_QExponential_Processes/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/05_Deep_QExponential_Processes/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/.gitignore +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/Deep_Kernel_Learning_DenseNet_CIFAR_Tutorial.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/KISSQEP_Deep_Kernel_Regression_CUDA.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/densenet.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/06_PyTorch_NN_Integration_DKL/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/07_QEP_Modeling_with_Derivatives/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/07_QEP_Modeling_with_Derivatives/SVQEP_Regression_Derivative_Information_2d.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/07_QEP_Modeling_with_Derivatives/Simple_QEP_Regression_Derivative_Information_1d.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/07_QEP_Modeling_with_Derivatives/Simple_QEP_Regression_Derivative_Information_2d.ipynb +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/07_QEP_Modeling_with_Derivatives/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/LBFGS.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/README.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/examples/index.rst +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/pyproject.toml +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/constraints/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/delta.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/multitask_multivariate_qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/multivariate_qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/power.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/distributions/qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/functions/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/grid_interpolation_kernel.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/inducing_point_kernel.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/kernel.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/matern32_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/matern52_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/matern52_kernel_gradgrad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/polynomial_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/qexponential_symmetrized_kl_kernel.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/rbf_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/rbf_kernel_gradgrad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/kernels/rff_kernel.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/lazy/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/bernoulli_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/beta_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/gaussian_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/laplace_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/likelihood_list.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/multitask_gaussian_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/multitask_qexponential_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/noise_models.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/qexponential_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/softmax_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/likelihoods/student_t_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/means/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/metrics/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/_approximate_mll.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/deep_approximate_mll.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/deep_predictive_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/exact_marginal_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/gamma_robust_variational_elbo.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/inducing_point_kernel_added_loss_term.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/kl_qexponential_added_loss_term.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/leave_one_out_pseudo_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/marginal_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/predictive_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/sum_marginal_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/mlls/variational_elbo.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/approximate_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/deep_qeps/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/deep_qeps/deep_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/deep_qeps/dspp.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/exact_prediction_strategies.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/exact_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/model_list.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/pyro/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/pyro/_pyro_mixin.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/pyro/distributions/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/pyro/pyro_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/qeplvm/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/qeplvm/bayesian_qeplvm.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/models/qeplvm/latent_variable.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/module.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/optim/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/priors/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/priors/qep_priors.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/test/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/test/base_likelihood_test_case.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/test/model_test_case.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/test/variational_test_case.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/utils/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/utils/warnings.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/additive_grid_interpolation_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/batch_decoupled_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/cholesky_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/ciq_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/delta_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/grid_interpolation_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/independent_multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/lmc_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/mean_field_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/natural_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/nearest_neighbor_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/orthogonally_decoupled_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/tril_natural_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/uncorrelated_multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/unwhitened_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch/variational/variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch.egg-info/dependency_links.txt +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/qpytorch.egg-info/top_level.txt +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/setup.cfg +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/distributions/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/distributions/test_multitask_multivariate_qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/distributions/test_multivariate_qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/distributions/test_qexponential.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/old_variational_strategy_model.pth +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_batch_decoupled_ppqepr_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_batch_multitask_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_batch_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_batch_svqep_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_decoupled_svqep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_derivative_qep_fantasy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_fixed_noise_fanatasy_updates.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_grid_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_hadamard_multitask_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_keops_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_additive_classification.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_additive_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_dkl_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_kronecker_product_classification.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_kronecker_product_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_multiplicative_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_qep_classification.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_variational_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kissqep_white_noise_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kronecker_multitask_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kronecker_multitask_ski_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_kronecker_multitask_sqepr_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_lcm_kernel_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_lmc_svqep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_missing_data.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_model_list_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_rff_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_simple_qep_classification.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_simple_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_spectral_mixture_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_sqepr_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_svqep_qep_classification.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_svqep_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_uncorrelated_multitask_qep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_unwhitened_svqep_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/examples/test_white_noise_regression.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/kernels/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/kernels/test_matern52_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/kernels/test_polynomial_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/kernels/test_rbf_kernel_grad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/kernels/test_rbf_kernel_gradgrad.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/likelihoods/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/likelihoods/test_general_multitask_qexponential_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/likelihoods/test_multitask_qexponential_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/likelihoods/test_qexponential_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/mlls/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/mlls/test_exact_marginal_log_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/mlls/test_inducing_point_kernel_added_loss_term.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/mlls/test_leave_one_out_pseudo_likelihood.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/models/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/models/test_exact_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/models/test_model_list.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/models/test_variational_qep.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/priors/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/priors/test_multivariate_qexponential_prior.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/priors/test_qexponential_prior.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/__init__.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_batch_decoupled_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_ciq_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_grid_interpolation_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_independent_multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_indunc_multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_lmc_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_natural_variational_distribution.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_nearest_neighbor_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_orthogonally_decoupled_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_uncorrelated_multitask_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_unwhitened_variational_strategy.py +0 -0
- {qpytorch-0.1 → qpytorch-0.1.1}/test/variational/test_variational_strategy.py +0 -0
|
@@ -6,9 +6,10 @@ Thanks for contributing!
|
|
|
6
6
|
|
|
7
7
|
To get the development installation with all the necessary dependencies for
|
|
8
8
|
linting, testing, and building the documentation, run the following:
|
|
9
|
+
|
|
9
10
|
```bash
|
|
10
11
|
git clone https://github.com/lanzithinking/qepytorch.git
|
|
11
|
-
cd
|
|
12
|
+
cd qepytorch
|
|
12
13
|
pip install -e .[dev,docs,examples,keops,pyro,test] # keops and pyro are optional
|
|
13
14
|
pre-commit install
|
|
14
15
|
```
|
|
@@ -25,6 +26,7 @@ The [development installation instructions](#development-installation) should in
|
|
|
25
26
|
|
|
26
27
|
`flake8` and `pre-commit` are both run every time you make a local commit.
|
|
27
28
|
To run both commands independent of making a commit:
|
|
29
|
+
|
|
28
30
|
```bash
|
|
29
31
|
SKIP=flake8 pre-commit run --files test/**/*.py qpytorch/**/*.py
|
|
30
32
|
flake8
|
|
@@ -36,7 +38,7 @@ We use [standard sphinx docstrings](https://sphinx-rtd-tutorial.readthedocs.io/e
|
|
|
36
38
|
|
|
37
39
|
### Type Hints
|
|
38
40
|
|
|
39
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch aims to be fully typed using Python 3.
|
|
41
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch aims to be fully typed using Python 3.10+
|
|
40
42
|
[type hints](https://www.python.org/dev/peps/pep-0484/).
|
|
41
43
|
|
|
42
44
|
We recognize that we have a long way to go towards fully typing the library,
|
|
@@ -54,7 +56,7 @@ python -m unittest
|
|
|
54
56
|
```
|
|
55
57
|
|
|
56
58
|
- To run tests within a specific directory, run (e.g.) `python -m unittest discover -s test/kernels`.
|
|
57
|
-
- To run a specific unit test, run (e.g.) `python -m unittest test.
|
|
59
|
+
- To run a specific unit test, run (e.g.) `python -m unittest test.distributions.test_qexponential.TestQExponential.test_batch_log_prob`.
|
|
58
60
|
|
|
59
61
|
|
|
60
62
|
### Documentation
|
|
@@ -121,8 +123,10 @@ We accept the following types of issues:
|
|
|
121
123
|
- Opportuntities to refactor code
|
|
122
124
|
- Performance issues (speed, memory, etc.)
|
|
123
125
|
|
|
126
|
+
<!--
|
|
124
127
|
Please refrain from using the issue tracker for questions or debugging personal code.
|
|
125
|
-
Instead please use the [
|
|
128
|
+
Instead please use the [QePyTorch discussions forum](https://github.com/lanzithinking/qepytorch/discussions).
|
|
129
|
+
-->
|
|
126
130
|
|
|
127
131
|
## License
|
|
128
132
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qpytorch
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: An implementation of Q-Exponential Processes in Pytorch based on GPyTorch
|
|
5
5
|
Home-page: https://lanzithinking.github.io/qepytorch/
|
|
6
6
|
Author: Shiwei Lan
|
|
@@ -28,60 +28,61 @@ License-File: LICENSE
|
|
|
28
28
|
[](LICENSE)
|
|
29
29
|
|
|
30
30
|
[](https://www.python.org/downloads/)
|
|
31
|
-
[](https://anaconda.org/qpytorch)
|
|
32
32
|
[](https://pypi.org/project/qpytorch)
|
|
33
33
|
|
|
34
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Q-exponential process
|
|
34
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Python package for Q-exponential process ([QEP](https://papers.nips.cc/paper_files/paper/2023/file/e6bfdd58f1326ff821a1b92743963bdf-Paper-Conference.pdf)) implemented using PyTorch and built up on [GPyTorch](https://gpytorch.ai). Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is designed to facilitate creating scalable, flexible, and modular QPE models.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
or by composing many of our already existing `LinearOperators`.
|
|
39
|
-
This allows not only for easy implementation of popular scalable QEP techniques,
|
|
40
|
-
but often also for significantly improved utilization of GPU computing compared to solvers based on the Cholesky decomposition.
|
|
36
|
+
Different from GPyTorch for Gaussian process (GP) models, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch focuses on QEP, which generalizes GP by allowing flexible regularization on function spaces through a parameter $q>0$ and embraces GP as a special case with $q=2$. QEP is proven to be superior than GP in modeling inhomogeneous objects with abrupt changes or sharp contrast for $q<2$ [[Li et al (2023)]](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html).
|
|
37
|
+
Inherited from GPyTorch, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch has an efficient and scalable implementation by taking advantage of numerical linear algebra library [LinearOperator](https://github.com/cornellius-gp/linear_operator) and improved GPU utilization.
|
|
41
38
|
|
|
42
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch provides (1) significant GPU acceleration (through MVM based inference);
|
|
43
|
-
(2) state-of-the-art implementations of the latest algorithmic advances for scalability and flexibility ([SKI/KISS-GP](http://proceedings.mlr.press/v37/wilson15.pdf), [stochastic Lanczos expansions](https://arxiv.org/abs/1711.03481), [LOVE](https://arxiv.org/pdf/1803.06058.pdf), [SKIP](https://arxiv.org/pdf/1802.08903.pdf), [stochastic variational](https://arxiv.org/pdf/1611.00336.pdf) [deep kernel learning](http://proceedings.mlr.press/v51/wilson16.pdf), ...);
|
|
44
|
-
(3) easy integration with deep learning frameworks.
|
|
45
39
|
|
|
40
|
+
<!--
|
|
41
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch features ...
|
|
42
|
+
-->
|
|
46
43
|
|
|
47
|
-
## Examples, Tutorials, and Documentation
|
|
48
44
|
|
|
49
|
-
|
|
45
|
+
## Tutorials, Examples, and Documentation
|
|
46
|
+
|
|
47
|
+
See [**documentation**](https://qepytorch.readthedocs.io/en/stable/) on how to construct various QEP models in Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch.
|
|
50
48
|
|
|
51
49
|
## Installation
|
|
52
50
|
|
|
53
51
|
**Requirements**:
|
|
54
52
|
- Python >= 3.10
|
|
55
|
-
- PyTorch >= 2.
|
|
53
|
+
- PyTorch >= 2.0
|
|
56
54
|
- GPyTorch >= 1.13
|
|
57
55
|
|
|
56
|
+
#### Stable Version
|
|
57
|
+
|
|
58
58
|
Install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch using pip or conda:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
pip install qpytorch
|
|
62
|
-
conda install qpytorch
|
|
62
|
+
conda install qpytorch
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
(To use packages globally but install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch as a user-only package, use `pip install --user` above.)
|
|
66
66
|
|
|
67
|
-
#### Latest
|
|
67
|
+
#### Latest Version
|
|
68
68
|
|
|
69
|
-
To upgrade to the latest
|
|
69
|
+
To upgrade to the latest version, run
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
pip install --upgrade git+https://github.com/cornellius-gp/linear_operator.git
|
|
73
|
-
pip install --upgrade git+https://github.com/cornellius-gp/gpytorch.git
|
|
74
72
|
pip install --upgrade git+https://github.com/lanzithinking/qepytorch.git
|
|
75
73
|
```
|
|
76
74
|
|
|
77
|
-
####
|
|
75
|
+
#### from source (for development)
|
|
78
76
|
|
|
79
77
|
If you are contributing a pull request, it is best to perform a manual installation:
|
|
80
78
|
|
|
81
79
|
```sh
|
|
82
|
-
git clone https://github.com/lanzithinking/qepytorch.git
|
|
83
|
-
cd
|
|
80
|
+
git clone https://github.com/lanzithinking/qepytorch.git
|
|
81
|
+
cd qepytorch
|
|
82
|
+
# either
|
|
84
83
|
pip install -e .[dev,docs,examples,keops,pyro,test] # keops and pyro are optional
|
|
84
|
+
# or
|
|
85
|
+
conda env create -f env_install.yaml # installed in the environment qpytorch
|
|
85
86
|
```
|
|
86
87
|
|
|
87
88
|
<!--
|
|
@@ -102,7 +103,7 @@ To discuss any issues related to this AUR package refer to the comments section
|
|
|
102
103
|
|
|
103
104
|
## Citing Us
|
|
104
105
|
|
|
105
|
-
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following
|
|
106
|
+
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following paper:
|
|
106
107
|
> [Li, Shuyi, Michael O'Connor, and Shiwei Lan. "Bayesian Learning via Q-Exponential Process." In Advances in Neural Information Processing Systems (2023).](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html)
|
|
107
108
|
```
|
|
108
109
|
@inproceedings{li2023QEP,
|
|
@@ -124,18 +125,18 @@ for information on submitting issues and pull requests.
|
|
|
124
125
|
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is primarily maintained by:
|
|
125
126
|
- [Shiwei Lan](https://math.la.asu.edu/~slan) (Arizona State University)
|
|
126
127
|
|
|
127
|
-
|
|
128
|
-
Shuyi Li,
|
|
128
|
+
Thanks to the following contributors including (but not limited to)
|
|
129
|
+
- Shuyi Li,
|
|
129
130
|
Guangting Yu,
|
|
130
131
|
Zhi Chang,
|
|
131
132
|
Chukwudi Paul Obite,
|
|
132
133
|
Keyan Wu,
|
|
133
134
|
and many more!
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
<!--
|
|
136
137
|
## Acknowledgements
|
|
137
138
|
Development of Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is supported by.
|
|
138
|
-
|
|
139
|
+
-->
|
|
139
140
|
|
|
140
141
|
## License
|
|
141
142
|
|
|
@@ -6,60 +6,61 @@
|
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
|
|
8
8
|
[](https://www.python.org/downloads/)
|
|
9
|
-
[](https://anaconda.org/qpytorch)
|
|
10
10
|
[](https://pypi.org/project/qpytorch)
|
|
11
11
|
|
|
12
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Q-exponential process
|
|
12
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Python package for Q-exponential process ([QEP](https://papers.nips.cc/paper_files/paper/2023/file/e6bfdd58f1326ff821a1b92743963bdf-Paper-Conference.pdf)) implemented using PyTorch and built up on [GPyTorch](https://gpytorch.ai). Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is designed to facilitate creating scalable, flexible, and modular QPE models.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
or by composing many of our already existing `LinearOperators`.
|
|
17
|
-
This allows not only for easy implementation of popular scalable QEP techniques,
|
|
18
|
-
but often also for significantly improved utilization of GPU computing compared to solvers based on the Cholesky decomposition.
|
|
14
|
+
Different from GPyTorch for Gaussian process (GP) models, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch focuses on QEP, which generalizes GP by allowing flexible regularization on function spaces through a parameter $q>0$ and embraces GP as a special case with $q=2$. QEP is proven to be superior than GP in modeling inhomogeneous objects with abrupt changes or sharp contrast for $q<2$ [[Li et al (2023)]](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html).
|
|
15
|
+
Inherited from GPyTorch, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch has an efficient and scalable implementation by taking advantage of numerical linear algebra library [LinearOperator](https://github.com/cornellius-gp/linear_operator) and improved GPU utilization.
|
|
19
16
|
|
|
20
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch provides (1) significant GPU acceleration (through MVM based inference);
|
|
21
|
-
(2) state-of-the-art implementations of the latest algorithmic advances for scalability and flexibility ([SKI/KISS-GP](http://proceedings.mlr.press/v37/wilson15.pdf), [stochastic Lanczos expansions](https://arxiv.org/abs/1711.03481), [LOVE](https://arxiv.org/pdf/1803.06058.pdf), [SKIP](https://arxiv.org/pdf/1802.08903.pdf), [stochastic variational](https://arxiv.org/pdf/1611.00336.pdf) [deep kernel learning](http://proceedings.mlr.press/v51/wilson16.pdf), ...);
|
|
22
|
-
(3) easy integration with deep learning frameworks.
|
|
23
17
|
|
|
18
|
+
<!--
|
|
19
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch features ...
|
|
20
|
+
-->
|
|
24
21
|
|
|
25
|
-
## Examples, Tutorials, and Documentation
|
|
26
22
|
|
|
27
|
-
|
|
23
|
+
## Tutorials, Examples, and Documentation
|
|
24
|
+
|
|
25
|
+
See [**documentation**](https://qepytorch.readthedocs.io/en/stable/) on how to construct various QEP models in Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch.
|
|
28
26
|
|
|
29
27
|
## Installation
|
|
30
28
|
|
|
31
29
|
**Requirements**:
|
|
32
30
|
- Python >= 3.10
|
|
33
|
-
- PyTorch >= 2.
|
|
31
|
+
- PyTorch >= 2.0
|
|
34
32
|
- GPyTorch >= 1.13
|
|
35
33
|
|
|
34
|
+
#### Stable Version
|
|
35
|
+
|
|
36
36
|
Install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch using pip or conda:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
pip install qpytorch
|
|
40
|
-
conda install qpytorch
|
|
40
|
+
conda install qpytorch
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
(To use packages globally but install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch as a user-only package, use `pip install --user` above.)
|
|
44
44
|
|
|
45
|
-
#### Latest
|
|
45
|
+
#### Latest Version
|
|
46
46
|
|
|
47
|
-
To upgrade to the latest
|
|
47
|
+
To upgrade to the latest version, run
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
pip install --upgrade git+https://github.com/cornellius-gp/linear_operator.git
|
|
51
|
-
pip install --upgrade git+https://github.com/cornellius-gp/gpytorch.git
|
|
52
50
|
pip install --upgrade git+https://github.com/lanzithinking/qepytorch.git
|
|
53
51
|
```
|
|
54
52
|
|
|
55
|
-
####
|
|
53
|
+
#### from source (for development)
|
|
56
54
|
|
|
57
55
|
If you are contributing a pull request, it is best to perform a manual installation:
|
|
58
56
|
|
|
59
57
|
```sh
|
|
60
|
-
git clone https://github.com/lanzithinking/qepytorch.git
|
|
61
|
-
cd
|
|
58
|
+
git clone https://github.com/lanzithinking/qepytorch.git
|
|
59
|
+
cd qepytorch
|
|
60
|
+
# either
|
|
62
61
|
pip install -e .[dev,docs,examples,keops,pyro,test] # keops and pyro are optional
|
|
62
|
+
# or
|
|
63
|
+
conda env create -f env_install.yaml # installed in the environment qpytorch
|
|
63
64
|
```
|
|
64
65
|
|
|
65
66
|
<!--
|
|
@@ -80,7 +81,7 @@ To discuss any issues related to this AUR package refer to the comments section
|
|
|
80
81
|
|
|
81
82
|
## Citing Us
|
|
82
83
|
|
|
83
|
-
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following
|
|
84
|
+
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following paper:
|
|
84
85
|
> [Li, Shuyi, Michael O'Connor, and Shiwei Lan. "Bayesian Learning via Q-Exponential Process." In Advances in Neural Information Processing Systems (2023).](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html)
|
|
85
86
|
```
|
|
86
87
|
@inproceedings{li2023QEP,
|
|
@@ -102,18 +103,18 @@ for information on submitting issues and pull requests.
|
|
|
102
103
|
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is primarily maintained by:
|
|
103
104
|
- [Shiwei Lan](https://math.la.asu.edu/~slan) (Arizona State University)
|
|
104
105
|
|
|
105
|
-
|
|
106
|
-
Shuyi Li,
|
|
106
|
+
Thanks to the following contributors including (but not limited to)
|
|
107
|
+
- Shuyi Li,
|
|
107
108
|
Guangting Yu,
|
|
108
109
|
Zhi Chang,
|
|
109
110
|
Chukwudi Paul Obite,
|
|
110
111
|
Keyan Wu,
|
|
111
112
|
and many more!
|
|
112
113
|
|
|
113
|
-
|
|
114
|
+
<!--
|
|
114
115
|
## Acknowledgements
|
|
115
116
|
Development of Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is supported by.
|
|
116
|
-
|
|
117
|
+
-->
|
|
117
118
|
|
|
118
119
|
## License
|
|
119
120
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
*A highly efficient implementation of Q-Exponential Processes in [PyTorch](https://pytorch.org) based on [GPyTorch](https://gpytorch.ai).*
|
|
6
|
+
|
|
7
|
+
* * *
|
|
8
|
+
|
|
9
|
+
# Example
|
|
10
|
+
|
|
11
|
+
Check out the [`examples`](https://github.com/lanzithinking/QePyTorch/tree/main/examples).
|
|
12
|
+
|
|
13
|
+
# Documentation
|
|
14
|
+
|
|
15
|
+
Here is the [`documentation`](https://qepytorch.readthedocs.io/en/stable/).
|
|
16
|
+
|
|
17
|
+
* * *
|
|
18
|
+
|
|
19
|
+
# Installation
|
|
20
|
+
|
|
21
|
+
## pip
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
pip install qpytorch
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## conda
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
conda install -c conda-forge qpytorch
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## from source
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
git clone https://github.com/lanzithinking/qepytorch.git
|
|
37
|
+
cd qepytorch
|
|
38
|
+
conda env create -f env_install.yaml
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
* * *
|
|
42
|
+
|
|
43
|
+
# Team
|
|
44
|
+
|
|
45
|
+
* Maintain: [Shiwei Lan](https://math.la.asu.edu/~slan) (Arizona State University)
|
|
46
|
+
* Contribute: Shuyi Li, Guangting Yu, Zhi Chang, Chukwudi Paul Obite, Keyan Wu, and many more!
|
|
47
|
+
|
|
48
|
+
# Citing Us
|
|
49
|
+
|
|
50
|
+
> [Li, Shuyi, Michael O'Connor, and Shiwei Lan. "Bayesian Learning via Q-Exponential Process." In Advances in Neural Information Processing Systems (2023).](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
@inproceedings{li2023QEP,
|
|
54
|
+
title={Bayesian Learning via Q-Exponential Process},
|
|
55
|
+
author={Li, Shuyi, Michael O'Connor, and Shiwei Lan},
|
|
56
|
+
booktitle={Advances in Neural Information Processing Systems},
|
|
57
|
+
year={2023}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qpytorch
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: An implementation of Q-Exponential Processes in Pytorch based on GPyTorch
|
|
5
5
|
Home-page: https://lanzithinking.github.io/qepytorch/
|
|
6
6
|
Author: Shiwei Lan
|
|
@@ -28,60 +28,61 @@ License-File: LICENSE
|
|
|
28
28
|
[](LICENSE)
|
|
29
29
|
|
|
30
30
|
[](https://www.python.org/downloads/)
|
|
31
|
-
[](https://anaconda.org/qpytorch)
|
|
32
32
|
[](https://pypi.org/project/qpytorch)
|
|
33
33
|
|
|
34
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Q-exponential process
|
|
34
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is a Python package for Q-exponential process ([QEP](https://papers.nips.cc/paper_files/paper/2023/file/e6bfdd58f1326ff821a1b92743963bdf-Paper-Conference.pdf)) implemented using PyTorch and built up on [GPyTorch](https://gpytorch.ai). Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is designed to facilitate creating scalable, flexible, and modular QPE models.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
or by composing many of our already existing `LinearOperators`.
|
|
39
|
-
This allows not only for easy implementation of popular scalable QEP techniques,
|
|
40
|
-
but often also for significantly improved utilization of GPU computing compared to solvers based on the Cholesky decomposition.
|
|
36
|
+
Different from GPyTorch for Gaussian process (GP) models, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch focuses on QEP, which generalizes GP by allowing flexible regularization on function spaces through a parameter $q>0$ and embraces GP as a special case with $q=2$. QEP is proven to be superior than GP in modeling inhomogeneous objects with abrupt changes or sharp contrast for $q<2$ [[Li et al (2023)]](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html).
|
|
37
|
+
Inherited from GPyTorch, Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch has an efficient and scalable implementation by taking advantage of numerical linear algebra library [LinearOperator](https://github.com/cornellius-gp/linear_operator) and improved GPU utilization.
|
|
41
38
|
|
|
42
|
-
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch provides (1) significant GPU acceleration (through MVM based inference);
|
|
43
|
-
(2) state-of-the-art implementations of the latest algorithmic advances for scalability and flexibility ([SKI/KISS-GP](http://proceedings.mlr.press/v37/wilson15.pdf), [stochastic Lanczos expansions](https://arxiv.org/abs/1711.03481), [LOVE](https://arxiv.org/pdf/1803.06058.pdf), [SKIP](https://arxiv.org/pdf/1802.08903.pdf), [stochastic variational](https://arxiv.org/pdf/1611.00336.pdf) [deep kernel learning](http://proceedings.mlr.press/v51/wilson16.pdf), ...);
|
|
44
|
-
(3) easy integration with deep learning frameworks.
|
|
45
39
|
|
|
40
|
+
<!--
|
|
41
|
+
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch features ...
|
|
42
|
+
-->
|
|
46
43
|
|
|
47
|
-
## Examples, Tutorials, and Documentation
|
|
48
44
|
|
|
49
|
-
|
|
45
|
+
## Tutorials, Examples, and Documentation
|
|
46
|
+
|
|
47
|
+
See [**documentation**](https://qepytorch.readthedocs.io/en/stable/) on how to construct various QEP models in Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch.
|
|
50
48
|
|
|
51
49
|
## Installation
|
|
52
50
|
|
|
53
51
|
**Requirements**:
|
|
54
52
|
- Python >= 3.10
|
|
55
|
-
- PyTorch >= 2.
|
|
53
|
+
- PyTorch >= 2.0
|
|
56
54
|
- GPyTorch >= 1.13
|
|
57
55
|
|
|
56
|
+
#### Stable Version
|
|
57
|
+
|
|
58
58
|
Install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch using pip or conda:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
pip install qpytorch
|
|
62
|
-
conda install qpytorch
|
|
62
|
+
conda install qpytorch
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
(To use packages globally but install Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch as a user-only package, use `pip install --user` above.)
|
|
66
66
|
|
|
67
|
-
#### Latest
|
|
67
|
+
#### Latest Version
|
|
68
68
|
|
|
69
|
-
To upgrade to the latest
|
|
69
|
+
To upgrade to the latest version, run
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
pip install --upgrade git+https://github.com/cornellius-gp/linear_operator.git
|
|
73
|
-
pip install --upgrade git+https://github.com/cornellius-gp/gpytorch.git
|
|
74
72
|
pip install --upgrade git+https://github.com/lanzithinking/qepytorch.git
|
|
75
73
|
```
|
|
76
74
|
|
|
77
|
-
####
|
|
75
|
+
#### from source (for development)
|
|
78
76
|
|
|
79
77
|
If you are contributing a pull request, it is best to perform a manual installation:
|
|
80
78
|
|
|
81
79
|
```sh
|
|
82
|
-
git clone https://github.com/lanzithinking/qepytorch.git
|
|
83
|
-
cd
|
|
80
|
+
git clone https://github.com/lanzithinking/qepytorch.git
|
|
81
|
+
cd qepytorch
|
|
82
|
+
# either
|
|
84
83
|
pip install -e .[dev,docs,examples,keops,pyro,test] # keops and pyro are optional
|
|
84
|
+
# or
|
|
85
|
+
conda env create -f env_install.yaml # installed in the environment qpytorch
|
|
85
86
|
```
|
|
86
87
|
|
|
87
88
|
<!--
|
|
@@ -102,7 +103,7 @@ To discuss any issues related to this AUR package refer to the comments section
|
|
|
102
103
|
|
|
103
104
|
## Citing Us
|
|
104
105
|
|
|
105
|
-
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following
|
|
106
|
+
If you use Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch, please cite the following paper:
|
|
106
107
|
> [Li, Shuyi, Michael O'Connor, and Shiwei Lan. "Bayesian Learning via Q-Exponential Process." In Advances in Neural Information Processing Systems (2023).](https://papers.nips.cc/paper_files/paper/2023/hash/e6bfdd58f1326ff821a1b92743963bdf-Abstract-Conference.html)
|
|
107
108
|
```
|
|
108
109
|
@inproceedings{li2023QEP,
|
|
@@ -124,18 +125,18 @@ for information on submitting issues and pull requests.
|
|
|
124
125
|
Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is primarily maintained by:
|
|
125
126
|
- [Shiwei Lan](https://math.la.asu.edu/~slan) (Arizona State University)
|
|
126
127
|
|
|
127
|
-
|
|
128
|
-
Shuyi Li,
|
|
128
|
+
Thanks to the following contributors including (but not limited to)
|
|
129
|
+
- Shuyi Li,
|
|
129
130
|
Guangting Yu,
|
|
130
131
|
Zhi Chang,
|
|
131
132
|
Chukwudi Paul Obite,
|
|
132
133
|
Keyan Wu,
|
|
133
134
|
and many more!
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
<!--
|
|
136
137
|
## Acknowledgements
|
|
137
138
|
Development of Q<sup style="font-size: 0.5em;">ⓔ</sup>PyTorch is supported by.
|
|
138
|
-
|
|
139
|
+
-->
|
|
139
140
|
|
|
140
141
|
## License
|
|
141
142
|
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
CONTRIBUTING.md
|
|
4
4
|
LICENSE
|
|
5
5
|
README.md
|
|
6
|
+
env_install.yaml
|
|
6
7
|
pyproject.toml
|
|
7
8
|
setup.cfg
|
|
8
9
|
setup.py
|
|
9
|
-
venv_install.yaml
|
|
10
10
|
.conda/meta.yaml
|
|
11
11
|
.github/workflows/deploy.yml
|
|
12
12
|
.github/workflows/run_test_suite.yml
|
|
13
13
|
docs/Makefile
|
|
14
|
+
docs/_config.yml
|
|
15
|
+
docs/index.md
|
|
14
16
|
docs/source/.gitignore
|
|
15
17
|
docs/source/beta_features.rst
|
|
16
18
|
docs/source/conf.py
|
|
@@ -37,7 +37,7 @@ def find_version(*file_paths):
|
|
|
37
37
|
readme = open("README.md").read()
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
torch_min = "2.
|
|
40
|
+
torch_min = "2.0"
|
|
41
41
|
install_requires = [
|
|
42
42
|
"jaxtyping",
|
|
43
43
|
"mpmath>=0.19,<=1.3", # avoid incompatibiltiy with torch+sympy with mpmath 1.4
|
|
@@ -45,6 +45,7 @@ install_requires = [
|
|
|
45
45
|
"scipy>=1.6.0",
|
|
46
46
|
"linear_operator>=0.6",
|
|
47
47
|
"gpytorch>=1.13",
|
|
48
|
+
"numpy<2", # avoid incompatibility of torch with numpy 2 (the minimum supporting (numpy 2) version of pytorch is 2.3)
|
|
48
49
|
]
|
|
49
50
|
# if recent dev version of PyTorch is installed, no need to install stable
|
|
50
51
|
try:
|
|
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
|