We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
bug(logger): wandb fails on sweep
## 🐛 Bug

When using `wandb` sweeps for hyperparameters search, I get this error:
> wandb: ERROR Attempted to change value of key "dropout_std" from 0.030424838979365657 to 0.030424838979365654

The reason is I ran:
```python
wandb_logger.log_hyperparams(params)
```

Which I guess has some problem with floating-point numbers in high accuracy?

bug(logger): wandb fails on sweep
## 🐛 Bug

When using `wandb` sweeps for hyperparameters search, I get this error:
> wandb: ERROR Attempted to change value of key "dropout_std" from 0.030424838979365657 to 0.030424838979365654

The reason is I ran:
```python
wandb_logger.log_hyperparams(params)
```

Which I guess has some problem with floating-point numbers in high accuracy?


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pytorch_lightning/loggers/wandb.py`
Content:
```
1 """
2 Weights and Biases
3 ------------------
4 """
5 import os
6 from argparse import Namespace
7 from typing import Optional, List, Dict, Union, Any
8 
9 import torch.nn as nn
10 
11 try:
12     import wandb
13     from wandb.wandb_run import Run
14 except ImportError:  # pragma: no-cover
15     raise ImportError('You want to use `wandb` logger which is not installed yet,'  # pragma: no-cover
16                       ' install it with `pip install wandb`.')
17 
18 from pytorch_lightning.loggers.base import LightningLoggerBase, rank_zero_only
19 
20 
21 class WandbLogger(LightningLoggerBase):
22     """
23     Log using `Weights and Biases <https://www.wandb.com/>`_. Install it with pip:
24 
25     .. code-block:: bash
26 
27         pip install wandb
28 
29     Args:
30         name: Display name for the run.
31         save_dir: Path where data is saved.
32         offline: Run offline (data can be streamed later to wandb servers).
33         id: Sets the version, mainly used to resume a previous run.
34         anonymous: Enables or explicitly disables anonymous logging.
35         version: Sets the version, mainly used to resume a previous run.
36         project: The name of the project to which this run will belong.
37         tags: Tags associated with this run.
38         log_model: Save checkpoints in wandb dir to upload on W&B servers.
39         experiment: WandB experiment object
40         entity: The team posting this run (default: your username or your default team)
41 
42     Example:
43         >>> from pytorch_lightning.loggers import WandbLogger
44         >>> from pytorch_lightning import Trainer
45         >>> wandb_logger = WandbLogger()
46         >>> trainer = Trainer(logger=wandb_logger)
47 
48     See Also:
49         - `Tutorial <https://app.wandb.ai/cayush/pytorchlightning/reports/
50           Use-Pytorch-Lightning-with-Weights-%26-Biases--Vmlldzo2NjQ1Mw>`__
51           on how to use W&B with Pytorch Lightning.
52 
53     """
54 
55     def __init__(self,
56                  name: Optional[str] = None,
57                  save_dir: Optional[str] = None,
58                  offline: bool = False,
59                  id: Optional[str] = None,
60                  anonymous: bool = False,
61                  version: Optional[str] = None,
62                  project: Optional[str] = None,
63                  tags: Optional[List[str]] = None,
64                  log_model: bool = False,
65                  experiment=None,
66                  entity=None):
67         super().__init__()
68         self._name = name
69         self._save_dir = save_dir
70         self._anonymous = 'allow' if anonymous else None
71         self._id = version or id
72         self._tags = tags
73         self._project = project
74         self._experiment = experiment
75         self._offline = offline
76         self._entity = entity
77         self._log_model = log_model
78 
79     def __getstate__(self):
80         state = self.__dict__.copy()
81         # args needed to reload correct experiment
82         state['_id'] = self._experiment.id if self._experiment is not None else None
83 
84         # cannot be pickled
85         state['_experiment'] = None
86         return state
87 
88     @property
89     def experiment(self) -> Run:
90         r"""
91 
92         Actual wandb object. To use wandb features in your
93         :class:`~pytorch_lightning.core.lightning.LightningModule` do the following.
94 
95         Example::
96 
97             self.logger.experiment.some_wandb_function()
98 
99         """
100         if self._experiment is None:
101             if self._offline:
102                 os.environ['WANDB_MODE'] = 'dryrun'
103             self._experiment = wandb.init(
104                 name=self._name, dir=self._save_dir, project=self._project, anonymous=self._anonymous,
105                 reinit=True, id=self._id, resume='allow', tags=self._tags, entity=self._entity)
106             # save checkpoints in wandb dir to upload on W&B servers
107             if self._log_model:
108                 self.save_dir = self._experiment.dir
109         return self._experiment
110 
111     def watch(self, model: nn.Module, log: str = 'gradients', log_freq: int = 100):
112         self.experiment.watch(model, log=log, log_freq=log_freq)
113 
114     @rank_zero_only
115     def log_hyperparams(self, params: Union[Dict[str, Any], Namespace]) -> None:
116         params = self._convert_params(params)
117         self.experiment.config.update(params)
118 
119     @rank_zero_only
120     def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:
121         if step is not None:
122             metrics['global_step'] = step
123         self.experiment.log(metrics)
124 
125     @property
126     def name(self) -> str:
127         # don't create an experiment if we don't have one
128         name = self._experiment.project_name() if self._experiment else None
129         return name
130 
131     @property
132     def version(self) -> str:
133         # don't create an experiment if we don't have one
134         return self._experiment.id if self._experiment else None
135
```
--- 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()

```

diff --git a/pytorch_lightning/loggers/wandb.py b/pytorch_lightning/loggers/wandb.py
--- a/pytorch_lightning/loggers/wandb.py
+++ b/pytorch_lightning/loggers/wandb.py
@@ -114,7 +114,7 @@
     @rank_zero_only
     def log_hyperparams(self, params: Union[Dict[str, Any], Namespace]) -> None:
         params = self._convert_params(params)
-        self.experiment.config.update(params)
+        self.experiment.config.update(params, allow_val_change=True)
 
     @rank_zero_only
     def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:

{"golden_diff": "diff --git a/pytorch_lightning/loggers/wandb.py b/pytorch_lightning/loggers/wandb.py\n--- a/pytorch_lightning/loggers/wandb.py\n+++ b/pytorch_lightning/loggers/wandb.py\n@@ -114,7 +114,7 @@\n     @rank_zero_only\n     def log_hyperparams(self, params: Union[Dict[str, Any], Namespace]) -> None:\n         params = self._convert_params(params)\n-        self.experiment.config.update(params)\n+        self.experiment.config.update(params, allow_val_change=True)\n \n     @rank_zero_only\n     def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:\n", "issue": "bug(logger): wandb fails on sweep\n## \ud83d\udc1b Bug\r\n\r\nWhen using `wandb` sweeps for hyperparameters search, I get this error:\r\n> wandb: ERROR Attempted to change value of key \"dropout_std\" from 0.030424838979365657 to 0.030424838979365654\r\n\r\nThe reason is I ran:\r\n```python\r\nwandb_logger.log_hyperparams(params)\r\n```\r\n\r\nWhich I guess has some problem with floating-point numbers in high accuracy?\r\n\nbug(logger): wandb fails on sweep\n## \ud83d\udc1b Bug\r\n\r\nWhen using `wandb` sweeps for hyperparameters search, I get this error:\r\n> wandb: ERROR Attempted to change value of key \"dropout_std\" from 0.030424838979365657 to 0.030424838979365654\r\n\r\nThe reason is I ran:\r\n```python\r\nwandb_logger.log_hyperparams(params)\r\n```\r\n\r\nWhich I guess has some problem with floating-point numbers in high accuracy?\r\n\n", "before_files": [{"content": "\"\"\"\nWeights and Biases\n------------------\n\"\"\"\nimport os\nfrom argparse import Namespace\nfrom typing import Optional, List, Dict, Union, Any\n\nimport torch.nn as nn\n\ntry:\n    import wandb\n    from wandb.wandb_run import Run\nexcept ImportError:  # pragma: no-cover\n    raise ImportError('You want to use `wandb` logger which is not installed yet,'  # pragma: no-cover\n                      ' install it with `pip install wandb`.')\n\nfrom pytorch_lightning.loggers.base import LightningLoggerBase, rank_zero_only\n\n\nclass WandbLogger(LightningLoggerBase):\n    \"\"\"\n    Log using `Weights and Biases <https://www.wandb.com/>`_. Install it with pip:\n\n    .. code-block:: bash\n\n        pip install wandb\n\n    Args:\n        name: Display name for the run.\n        save_dir: Path where data is saved.\n        offline: Run offline (data can be streamed later to wandb servers).\n        id: Sets the version, mainly used to resume a previous run.\n        anonymous: Enables or explicitly disables anonymous logging.\n        version: Sets the version, mainly used to resume a previous run.\n        project: The name of the project to which this run will belong.\n        tags: Tags associated with this run.\n        log_model: Save checkpoints in wandb dir to upload on W&B servers.\n        experiment: WandB experiment object\n        entity: The team posting this run (default: your username or your default team)\n\n    Example:\n        >>> from pytorch_lightning.loggers import WandbLogger\n        >>> from pytorch_lightning import Trainer\n        >>> wandb_logger = WandbLogger()\n        >>> trainer = Trainer(logger=wandb_logger)\n\n    See Also:\n        - `Tutorial <https://app.wandb.ai/cayush/pytorchlightning/reports/\n          Use-Pytorch-Lightning-with-Weights-%26-Biases--Vmlldzo2NjQ1Mw>`__\n          on how to use W&B with Pytorch Lightning.\n\n    \"\"\"\n\n    def __init__(self,\n                 name: Optional[str] = None,\n                 save_dir: Optional[str] = None,\n                 offline: bool = False,\n                 id: Optional[str] = None,\n                 anonymous: bool = False,\n                 version: Optional[str] = None,\n                 project: Optional[str] = None,\n                 tags: Optional[List[str]] = None,\n                 log_model: bool = False,\n                 experiment=None,\n                 entity=None):\n        super().__init__()\n        self._name = name\n        self._save_dir = save_dir\n        self._anonymous = 'allow' if anonymous else None\n        self._id = version or id\n        self._tags = tags\n        self._project = project\n        self._experiment = experiment\n        self._offline = offline\n        self._entity = entity\n        self._log_model = log_model\n\n    def __getstate__(self):\n        state = self.__dict__.copy()\n        # args needed to reload correct experiment\n        state['_id'] = self._experiment.id if self._experiment is not None else None\n\n        # cannot be pickled\n        state['_experiment'] = None\n        return state\n\n    @property\n    def experiment(self) -> Run:\n        r\"\"\"\n\n        Actual wandb object. To use wandb features in your\n        :class:`~pytorch_lightning.core.lightning.LightningModule` do the following.\n\n        Example::\n\n            self.logger.experiment.some_wandb_function()\n\n        \"\"\"\n        if self._experiment is None:\n            if self._offline:\n                os.environ['WANDB_MODE'] = 'dryrun'\n            self._experiment = wandb.init(\n                name=self._name, dir=self._save_dir, project=self._project, anonymous=self._anonymous,\n                reinit=True, id=self._id, resume='allow', tags=self._tags, entity=self._entity)\n            # save checkpoints in wandb dir to upload on W&B servers\n            if self._log_model:\n                self.save_dir = self._experiment.dir\n        return self._experiment\n\n    def watch(self, model: nn.Module, log: str = 'gradients', log_freq: int = 100):\n        self.experiment.watch(model, log=log, log_freq=log_freq)\n\n    @rank_zero_only\n    def log_hyperparams(self, params: Union[Dict[str, Any], Namespace]) -> None:\n        params = self._convert_params(params)\n        self.experiment.config.update(params)\n\n    @rank_zero_only\n    def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:\n        if step is not None:\n            metrics['global_step'] = step\n        self.experiment.log(metrics)\n\n    @property\n    def name(self) -> str:\n        # don't create an experiment if we don't have one\n        name = self._experiment.project_name() if self._experiment else None\n        return name\n\n    @property\n    def version(self) -> str:\n        # don't create an experiment if we don't have one\n        return self._experiment.id if self._experiment else None\n", "path": "pytorch_lightning/loggers/wandb.py"}], "after_files": [{"content": "\"\"\"\nWeights and Biases\n------------------\n\"\"\"\nimport os\nfrom argparse import Namespace\nfrom typing import Optional, List, Dict, Union, Any\n\nimport torch.nn as nn\n\ntry:\n    import wandb\n    from wandb.wandb_run import Run\nexcept ImportError:  # pragma: no-cover\n    raise ImportError('You want to use `wandb` logger which is not installed yet,'  # pragma: no-cover\n                      ' install it with `pip install wandb`.')\n\nfrom pytorch_lightning.loggers.base import LightningLoggerBase, rank_zero_only\n\n\nclass WandbLogger(LightningLoggerBase):\n    \"\"\"\n    Log using `Weights and Biases <https://www.wandb.com/>`_. Install it with pip:\n\n    .. code-block:: bash\n\n        pip install wandb\n\n    Args:\n        name: Display name for the run.\n        save_dir: Path where data is saved.\n        offline: Run offline (data can be streamed later to wandb servers).\n        id: Sets the version, mainly used to resume a previous run.\n        anonymous: Enables or explicitly disables anonymous logging.\n        version: Sets the version, mainly used to resume a previous run.\n        project: The name of the project to which this run will belong.\n        tags: Tags associated with this run.\n        log_model: Save checkpoints in wandb dir to upload on W&B servers.\n        experiment: WandB experiment object\n        entity: The team posting this run (default: your username or your default team)\n\n    Example:\n        >>> from pytorch_lightning.loggers import WandbLogger\n        >>> from pytorch_lightning import Trainer\n        >>> wandb_logger = WandbLogger()\n        >>> trainer = Trainer(logger=wandb_logger)\n\n    See Also:\n        - `Tutorial <https://app.wandb.ai/cayush/pytorchlightning/reports/\n          Use-Pytorch-Lightning-with-Weights-%26-Biases--Vmlldzo2NjQ1Mw>`__\n          on how to use W&B with Pytorch Lightning.\n\n    \"\"\"\n\n    def __init__(self,\n                 name: Optional[str] = None,\n                 save_dir: Optional[str] = None,\n                 offline: bool = False,\n                 id: Optional[str] = None,\n                 anonymous: bool = False,\n                 version: Optional[str] = None,\n                 project: Optional[str] = None,\n                 tags: Optional[List[str]] = None,\n                 log_model: bool = False,\n                 experiment=None,\n                 entity=None):\n        super().__init__()\n        self._name = name\n        self._save_dir = save_dir\n        self._anonymous = 'allow' if anonymous else None\n        self._id = version or id\n        self._tags = tags\n        self._project = project\n        self._experiment = experiment\n        self._offline = offline\n        self._entity = entity\n        self._log_model = log_model\n\n    def __getstate__(self):\n        state = self.__dict__.copy()\n        # args needed to reload correct experiment\n        state['_id'] = self._experiment.id if self._experiment is not None else None\n\n        # cannot be pickled\n        state['_experiment'] = None\n        return state\n\n    @property\n    def experiment(self) -> Run:\n        r\"\"\"\n\n        Actual wandb object. To use wandb features in your\n        :class:`~pytorch_lightning.core.lightning.LightningModule` do the following.\n\n        Example::\n\n            self.logger.experiment.some_wandb_function()\n\n        \"\"\"\n        if self._experiment is None:\n            if self._offline:\n                os.environ['WANDB_MODE'] = 'dryrun'\n            self._experiment = wandb.init(\n                name=self._name, dir=self._save_dir, project=self._project, anonymous=self._anonymous,\n                reinit=True, id=self._id, resume='allow', tags=self._tags, entity=self._entity)\n            # save checkpoints in wandb dir to upload on W&B servers\n            if self._log_model:\n                self.save_dir = self._experiment.dir\n        return self._experiment\n\n    def watch(self, model: nn.Module, log: str = 'gradients', log_freq: int = 100):\n        self.experiment.watch(model, log=log, log_freq=log_freq)\n\n    @rank_zero_only\n    def log_hyperparams(self, params: Union[Dict[str, Any], Namespace]) -> None:\n        params = self._convert_params(params)\n        self.experiment.config.update(params, allow_val_change=True)\n\n    @rank_zero_only\n    def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:\n        if step is not None:\n            metrics['global_step'] = step\n        self.experiment.log(metrics)\n\n    @property\n    def name(self) -> str:\n        # don't create an experiment if we don't have one\n        name = self._experiment.project_name() if self._experiment else None\n        return name\n\n    @property\n    def version(self) -> str:\n        # don't create an experiment if we don't have one\n        return self._experiment.id if self._experiment else None\n", "path": "pytorch_lightning/loggers/wandb.py"}]}