prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Where is `fast_pred_var` moving?
  I received the following warning when using `fast_pred_var`:
  
  ```
  /cluster/nhunt/anaconda/envs/bayes_opt/lib/python3.7/site-packages/gpytorch/beta_features.py:17:
  DeprecationWarning: `gpytorch.settings.fast_pred_var` has moved to `gpytorch.settings.fast_pred_var`.
  ```
  
  It seems that I'm being warned that `fast_pred_var` has moved to its current location. Was there a typo in the warning about how we should be using this setting now?
  
  ```bash
  $ pip list | grep gpytorch
  gpytorch           0.2.1
  ```
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `gpytorch/__init__.py`
  Content:
  ```
  1 #!/usr/bin/env python3
  2 from .module import Module
  3 from . import (
  4     beta_features,
  5     distributions,
  6     kernels,
  7     lazy,
  8     likelihoods,
  9     means,
  10     mlls,
  11     models,
  12     priors,
  13     settings,
  14     utils,
  15     variational,
  16 )
  17 from .functions import (
  18     add_diag,
  19     add_jitter,
  20     dsmm,
  21     inv_matmul,
  22     inv_quad,
  23     inv_quad_logdet,
  24     logdet,
  25     log_normal_cdf,
  26     matmul,
  27     normal_cdf,
  28     root_decomposition,
  29     root_inv_decomposition,
  30     # Deprecated
  31     inv_quad_log_det,
  32     log_det,
  33 )
  34 from .mlls import ExactMarginalLogLikelihood, VariationalMarginalLogLikelihood
  35 from .lazy import lazify, delazify
  36 
  37 
  38 __version__ = "0.2.1"
  39 
  40 # Old deprecated stuff
  41 fast_pred_var = beta_features._moved_beta_feature(settings.fast_pred_var, "gpytorch.settings.fast_pred_var")
  42 
  43 __all__ = [
  44     # Submodules
  45     "distributions",
  46     "kernels",
  47     "lazy",
  48     "likelihoods",
  49     "means",
  50     "mlls",
  51     "models",
  52     "priors",
  53     "utils",
  54     "variational",
  55     # Classes
  56     "Module",
  57     "ExactMarginalLogLikelihood",
  58     "VariationalMarginalLogLikelihood",
  59     # Functions
  60     "add_diag",
  61     "add_jitter",
  62     "delazify",
  63     "dsmm",
  64     "inv_matmul",
  65     "inv_quad",
  66     "inv_quad_logdet",
  67     "lazify",
  68     "logdet",
  69     "log_normal_cdf",
  70     "matmul",
  71     "normal_cdf",
  72     "root_decomposition",
  73     "root_inv_decomposition",
  74     # Context managers
  75     "beta_features",
  76     "settings",
  77     # Other
  78     "__version__",
  79     # Deprecated
  80     "fast_pred_var",
  81     "inv_quad_log_det",
  82     "log_det",
  83 ]
  84
  ```
  
  Path: `gpytorch/beta_features.py`
  Content:
  ```
  1 #!/usr/bin/env python3
  2 
  3 import warnings
  4 from .settings import _feature_flag, _value_context
  5 from .settings import fast_pred_var as _fast_pred_var
  6 from .settings import fast_pred_samples as _fast_pred_samples
  7 
  8 
  9 class _moved_beta_feature(object):
  10     def __init__(self, new_cls, orig_name=None):
  11         self.new_cls = new_cls
  12         self.orig_name = orig_name if orig_name is not None else "gpytorch.settings.{}".format(new_cls.__name__)
  13 
  14     def __call__(self, *args, **kwargs):
  15         warnings.warn(
  16             "`{}` has moved to `gpytorch.settings.{}`.".format(self.orig_name, self.new_cls.__name__),
  17             DeprecationWarning
  18         )
  19         return self.new_cls(*args, **kwargs)
  20 
  21     def __getattr__(self, name):
  22         return getattr(self.new_cls, name)
  23 
  24 
  25 fast_pred_var = _moved_beta_feature(_fast_pred_var)
  26 fast_pred_samples = _moved_beta_feature(_fast_pred_samples)
  27 
  28 
  29 class checkpoint_kernel(_value_context):
  30     """
  31     Should the kernel be computed in chunks with checkpointing or not? (Default, no)
  32 
  33     If `split_size = 0`:
  34         The kernel is computed explicitly. During training, the kernel matrix is
  35         kept in memory for the backward pass. This is the fastest option but the
  36         most memory intensive.
  37     If `split_size > 0`:
  38         The kernel is never fully computed or stored. Instead, the kernel is only
  39         accessed through matrix multiplication. The matrix multiplication is
  40         computed in `segments` chunks. This is slower, but requires significantly less memory.
  41 
  42     Default: 0
  43     """
  44 
  45     _global_value = 0
  46 
  47 
  48 class diagonal_correction(_feature_flag):
  49     """
  50     Add a diagonal correction to scalable inducing point methods
  51     """
  52 
  53     _state = True
  54 
  55 
  56 class default_preconditioner(_feature_flag):
  57     """
  58     Add a diagonal correction to scalable inducing point methods
  59     """
  60 
  61     pass
  62 
  63 
  64 __all__ = ["fast_pred_var", "fast_pred_samples", "diagonal_correction", "default_preconditioner"]
  65
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/gpytorch/__init__.py b/gpytorch/__init__.py
  --- a/gpytorch/__init__.py
  +++ b/gpytorch/__init__.py
  @@ -37,9 +37,6 @@
   
   __version__ = "0.2.1"
   
  -# Old deprecated stuff
  -fast_pred_var = beta_features._moved_beta_feature(settings.fast_pred_var, "gpytorch.settings.fast_pred_var")
  -
   __all__ = [
       # Submodules
       "distributions",
  @@ -77,7 +74,6 @@
       # Other
       "__version__",
       # Deprecated
  -    "fast_pred_var",
       "inv_quad_log_det",
       "log_det",
   ]
  diff --git a/gpytorch/beta_features.py b/gpytorch/beta_features.py
  --- a/gpytorch/beta_features.py
  +++ b/gpytorch/beta_features.py
  @@ -2,8 +2,6 @@
   
   import warnings
   from .settings import _feature_flag, _value_context
  -from .settings import fast_pred_var as _fast_pred_var
  -from .settings import fast_pred_samples as _fast_pred_samples
   
   
   class _moved_beta_feature(object):
  @@ -22,10 +20,6 @@
           return getattr(self.new_cls, name)
   
   
  -fast_pred_var = _moved_beta_feature(_fast_pred_var)
  -fast_pred_samples = _moved_beta_feature(_fast_pred_samples)
  -
  -
   class checkpoint_kernel(_value_context):
       """
       Should the kernel be computed in chunks with checkpointing or not? (Default, no)
  @@ -61,4 +55,4 @@
       pass
   
   
  -__all__ = ["fast_pred_var", "fast_pred_samples", "diagonal_correction", "default_preconditioner"]
  +__all__ = ["checkpoint_kernel", "diagonal_correction", "default_preconditioner"]
  
verification_info: {"golden_diff": "diff --git a/gpytorch/__init__.py b/gpytorch/__init__.py\n--- a/gpytorch/__init__.py\n+++ b/gpytorch/__init__.py\n@@ -37,9 +37,6 @@\n \n __version__ = \"0.2.1\"\n \n-# Old deprecated stuff\n-fast_pred_var = beta_features._moved_beta_feature(settings.fast_pred_var, \"gpytorch.settings.fast_pred_var\")\n-\n __all__ = [\n     # Submodules\n     \"distributions\",\n@@ -77,7 +74,6 @@\n     # Other\n     \"__version__\",\n     # Deprecated\n-    \"fast_pred_var\",\n     \"inv_quad_log_det\",\n     \"log_det\",\n ]\ndiff --git a/gpytorch/beta_features.py b/gpytorch/beta_features.py\n--- a/gpytorch/beta_features.py\n+++ b/gpytorch/beta_features.py\n@@ -2,8 +2,6 @@\n \n import warnings\n from .settings import _feature_flag, _value_context\n-from .settings import fast_pred_var as _fast_pred_var\n-from .settings import fast_pred_samples as _fast_pred_samples\n \n \n class _moved_beta_feature(object):\n@@ -22,10 +20,6 @@\n         return getattr(self.new_cls, name)\n \n \n-fast_pred_var = _moved_beta_feature(_fast_pred_var)\n-fast_pred_samples = _moved_beta_feature(_fast_pred_samples)\n-\n-\n class checkpoint_kernel(_value_context):\n     \"\"\"\n     Should the kernel be computed in chunks with checkpointing or not? (Default, no)\n@@ -61,4 +55,4 @@\n     pass\n \n \n-__all__ = [\"fast_pred_var\", \"fast_pred_samples\", \"diagonal_correction\", \"default_preconditioner\"]\n+__all__ = [\"checkpoint_kernel\", \"diagonal_correction\", \"default_preconditioner\"]\n", "issue": "Where is `fast_pred_var` moving?\nI received the following warning when using `fast_pred_var`:\r\n\r\n```\r\n/cluster/nhunt/anaconda/envs/bayes_opt/lib/python3.7/site-packages/gpytorch/beta_features.py:17:\r\nDeprecationWarning: `gpytorch.settings.fast_pred_var` has moved to `gpytorch.settings.fast_pred_var`.\r\n```\r\n\r\nIt seems that I'm being warned that `fast_pred_var` has moved to its current location. Was there a typo in the warning about how we should be using this setting now?\r\n\r\n```bash\r\n$ pip list | grep gpytorch\r\ngpytorch           0.2.1\r\n```\n", "before_files": [{"content": "#!/usr/bin/env python3\nfrom .module import Module\nfrom . import (\n    beta_features,\n    distributions,\n    kernels,\n    lazy,\n    likelihoods,\n    means,\n    mlls,\n    models,\n    priors,\n    settings,\n    utils,\n    variational,\n)\nfrom .functions import (\n    add_diag,\n    add_jitter,\n    dsmm,\n    inv_matmul,\n    inv_quad,\n    inv_quad_logdet,\n    logdet,\n    log_normal_cdf,\n    matmul,\n    normal_cdf,\n    root_decomposition,\n    root_inv_decomposition,\n    # Deprecated\n    inv_quad_log_det,\n    log_det,\n)\nfrom .mlls import ExactMarginalLogLikelihood, VariationalMarginalLogLikelihood\nfrom .lazy import lazify, delazify\n\n\n__version__ = \"0.2.1\"\n\n# Old deprecated stuff\nfast_pred_var = beta_features._moved_beta_feature(settings.fast_pred_var, \"gpytorch.settings.fast_pred_var\")\n\n__all__ = [\n    # Submodules\n    \"distributions\",\n    \"kernels\",\n    \"lazy\",\n    \"likelihoods\",\n    \"means\",\n    \"mlls\",\n    \"models\",\n    \"priors\",\n    \"utils\",\n    \"variational\",\n    # Classes\n    \"Module\",\n    \"ExactMarginalLogLikelihood\",\n    \"VariationalMarginalLogLikelihood\",\n    # Functions\n    \"add_diag\",\n    \"add_jitter\",\n    \"delazify\",\n    \"dsmm\",\n    \"inv_matmul\",\n    \"inv_quad\",\n    \"inv_quad_logdet\",\n    \"lazify\",\n    \"logdet\",\n    \"log_normal_cdf\",\n    \"matmul\",\n    \"normal_cdf\",\n    \"root_decomposition\",\n    \"root_inv_decomposition\",\n    # Context managers\n    \"beta_features\",\n    \"settings\",\n    # Other\n    \"__version__\",\n    # Deprecated\n    \"fast_pred_var\",\n    \"inv_quad_log_det\",\n    \"log_det\",\n]\n", "path": "gpytorch/__init__.py"}, {"content": "#!/usr/bin/env python3\n\nimport warnings\nfrom .settings import _feature_flag, _value_context\nfrom .settings import fast_pred_var as _fast_pred_var\nfrom .settings import fast_pred_samples as _fast_pred_samples\n\n\nclass _moved_beta_feature(object):\n    def __init__(self, new_cls, orig_name=None):\n        self.new_cls = new_cls\n        self.orig_name = orig_name if orig_name is not None else \"gpytorch.settings.{}\".format(new_cls.__name__)\n\n    def __call__(self, *args, **kwargs):\n        warnings.warn(\n            \"`{}` has moved to `gpytorch.settings.{}`.\".format(self.orig_name, self.new_cls.__name__),\n            DeprecationWarning\n        )\n        return self.new_cls(*args, **kwargs)\n\n    def __getattr__(self, name):\n        return getattr(self.new_cls, name)\n\n\nfast_pred_var = _moved_beta_feature(_fast_pred_var)\nfast_pred_samples = _moved_beta_feature(_fast_pred_samples)\n\n\nclass checkpoint_kernel(_value_context):\n    \"\"\"\n    Should the kernel be computed in chunks with checkpointing or not? (Default, no)\n\n    If `split_size = 0`:\n        The kernel is computed explicitly. During training, the kernel matrix is\n        kept in memory for the backward pass. This is the fastest option but the\n        most memory intensive.\n    If `split_size > 0`:\n        The kernel is never fully computed or stored. Instead, the kernel is only\n        accessed through matrix multiplication. The matrix multiplication is\n        computed in `segments` chunks. This is slower, but requires significantly less memory.\n\n    Default: 0\n    \"\"\"\n\n    _global_value = 0\n\n\nclass diagonal_correction(_feature_flag):\n    \"\"\"\n    Add a diagonal correction to scalable inducing point methods\n    \"\"\"\n\n    _state = True\n\n\nclass default_preconditioner(_feature_flag):\n    \"\"\"\n    Add a diagonal correction to scalable inducing point methods\n    \"\"\"\n\n    pass\n\n\n__all__ = [\"fast_pred_var\", \"fast_pred_samples\", \"diagonal_correction\", \"default_preconditioner\"]\n", "path": "gpytorch/beta_features.py"}], "after_files": [{"content": "#!/usr/bin/env python3\nfrom .module import Module\nfrom . import (\n    beta_features,\n    distributions,\n    kernels,\n    lazy,\n    likelihoods,\n    means,\n    mlls,\n    models,\n    priors,\n    settings,\n    utils,\n    variational,\n)\nfrom .functions import (\n    add_diag,\n    add_jitter,\n    dsmm,\n    inv_matmul,\n    inv_quad,\n    inv_quad_logdet,\n    logdet,\n    log_normal_cdf,\n    matmul,\n    normal_cdf,\n    root_decomposition,\n    root_inv_decomposition,\n    # Deprecated\n    inv_quad_log_det,\n    log_det,\n)\nfrom .mlls import ExactMarginalLogLikelihood, VariationalMarginalLogLikelihood\nfrom .lazy import lazify, delazify\n\n\n__version__ = \"0.2.1\"\n\n__all__ = [\n    # Submodules\n    \"distributions\",\n    \"kernels\",\n    \"lazy\",\n    \"likelihoods\",\n    \"means\",\n    \"mlls\",\n    \"models\",\n    \"priors\",\n    \"utils\",\n    \"variational\",\n    # Classes\n    \"Module\",\n    \"ExactMarginalLogLikelihood\",\n    \"VariationalMarginalLogLikelihood\",\n    # Functions\n    \"add_diag\",\n    \"add_jitter\",\n    \"delazify\",\n    \"dsmm\",\n    \"inv_matmul\",\n    \"inv_quad\",\n    \"inv_quad_logdet\",\n    \"lazify\",\n    \"logdet\",\n    \"log_normal_cdf\",\n    \"matmul\",\n    \"normal_cdf\",\n    \"root_decomposition\",\n    \"root_inv_decomposition\",\n    # Context managers\n    \"beta_features\",\n    \"settings\",\n    # Other\n    \"__version__\",\n    # Deprecated\n    \"inv_quad_log_det\",\n    \"log_det\",\n]\n", "path": "gpytorch/__init__.py"}, {"content": "#!/usr/bin/env python3\n\nimport warnings\nfrom .settings import _feature_flag, _value_context\n\n\nclass _moved_beta_feature(object):\n    def __init__(self, new_cls, orig_name=None):\n        self.new_cls = new_cls\n        self.orig_name = orig_name if orig_name is not None else \"gpytorch.settings.{}\".format(new_cls.__name__)\n\n    def __call__(self, *args, **kwargs):\n        warnings.warn(\n            \"`{}` has moved to `gpytorch.settings.{}`.\".format(self.orig_name, self.new_cls.__name__),\n            DeprecationWarning\n        )\n        return self.new_cls(*args, **kwargs)\n\n    def __getattr__(self, name):\n        return getattr(self.new_cls, name)\n\n\nclass checkpoint_kernel(_value_context):\n    \"\"\"\n    Should the kernel be computed in chunks with checkpointing or not? (Default, no)\n\n    If `split_size = 0`:\n        The kernel is computed explicitly. During training, the kernel matrix is\n        kept in memory for the backward pass. This is the fastest option but the\n        most memory intensive.\n    If `split_size > 0`:\n        The kernel is never fully computed or stored. Instead, the kernel is only\n        accessed through matrix multiplication. The matrix multiplication is\n        computed in `segments` chunks. This is slower, but requires significantly less memory.\n\n    Default: 0\n    \"\"\"\n\n    _global_value = 0\n\n\nclass diagonal_correction(_feature_flag):\n    \"\"\"\n    Add a diagonal correction to scalable inducing point methods\n    \"\"\"\n\n    _state = True\n\n\nclass default_preconditioner(_feature_flag):\n    \"\"\"\n    Add a diagonal correction to scalable inducing point methods\n    \"\"\"\n\n    pass\n\n\n__all__ = [\"checkpoint_kernel\", \"diagonal_correction\", \"default_preconditioner\"]\n", "path": "gpytorch/beta_features.py"}]}