diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b32eb9554..7bbde78b86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - minimal requirements issue ([#1147](https://github.com/catalyst-team/catalyst/issues/1147)) - +- nested dicts in `loaders_params`/`samplers_params` overriding fixed ([#1150](https://github.com/catalyst-team/catalyst/pull/1150)) ## [21.03.1] - 2021-03-28 diff --git a/catalyst/utils/data.py b/catalyst/utils/data.py index 6bc4cb1387..450921b74c 100644 --- a/catalyst/utils/data.py +++ b/catalyst/utils/data.py @@ -1,5 +1,6 @@ from typing import Any, Callable, Dict, Iterable from collections import OrderedDict +import copy from functools import partial import torch @@ -120,11 +121,11 @@ def get_loaders_from_params( default_batch_size = batch_size default_num_workers = num_workers - loaders_params = loaders_params or {} + loaders_params = copy.deepcopy(loaders_params) or {} assert isinstance(loaders_params, dict), ( f"`loaders_params` should be a Dict. " f"Got: {loaders_params}" ) - samplers_params = samplers_params or {} + samplers_params = copy.deepcopy(samplers_params) or {} assert isinstance( samplers_params, dict ), f"`samplers_params` should be a Dict. Got: {samplers_params}"