Skip to content
This repository was archived by the owner on Mar 11, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions merlion/models/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ def __reduce__(self):
def __copy__(self):
return self.from_dict(self.to_dict())

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
return self.__copy__()

def get_unused_kwargs(self, **kwargs):
Expand Down Expand Up @@ -467,7 +469,9 @@ def __copy__(self):
new_model.__setstate__(state_dict)
return new_model

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
new_model = self.__class__(config=copy.deepcopy(self.config))
state_dict = self.__getstate__()
state_dict.pop("config", None)
Expand Down
4 changes: 3 additions & 1 deletion merlion/models/ensemble/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,9 @@ def __copy__(self):
config_dict["models"] = self.models
return self.from_dict(config_dict)

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
copied = copy.copy(self)
copied.models = copy.deepcopy(self.models)
return copied
Expand Down
4 changes: 3 additions & 1 deletion merlion/models/ensemble/combine.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ def from_dict(cls, state):
def __copy__(self):
return self.from_dict(self.to_dict())

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
return self.__copy__()

@abstractmethod
Expand Down
4 changes: 3 additions & 1 deletion merlion/models/layers.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ def __copy__(self):
config_dict["model"] = self.model
return self.from_dict(config_dict)

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
config_dict = super().to_dict(_skipped_keys={"model"})
config_dict["model"] = copy.deepcopy(self.model)
return self.from_dict(config_dict)
Expand Down
4 changes: 3 additions & 1 deletion merlion/post_process/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def from_dict(cls, state_dict):
def __copy__(self):
return self.from_dict(self.to_dict())

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
return self.__copy__()

def __repr__(self):
Expand Down
4 changes: 3 additions & 1 deletion merlion/utils/conj_priors.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,9 @@ def __copy__(self):
setattr(ret, k, copy.deepcopy(v))
return ret

def __deepcopy__(self, memodict={}):
def __deepcopy__(self, memodict=None):
if memodict is None:
memodict = {}
return self.__copy__()

@staticmethod
Expand Down