From 1b3217f7b0a418b3c096b1f5f50c627528500f9e Mon Sep 17 00:00:00 2001 From: p-moon Date: Mon, 19 Jun 2023 19:10:14 +0800 Subject: [PATCH] The second element of the cut may not be an integer, resulting in training termination --- src/diffusers/loaders.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/diffusers/loaders.py b/src/diffusers/loaders.py index b2e91e3f6ac3..93c5d5e89eb9 100644 --- a/src/diffusers/loaders.py +++ b/src/diffusers/loaders.py @@ -45,6 +45,10 @@ def __init__(self, state_dict: Dict[str, torch.Tensor]): def map_to(module, state_dict, *args, **kwargs): new_state_dict = {} for key, value in state_dict.items(): + temp = key.split(".")[1] + if not temp.isdigit(): # 1 may not be an integer + logger.error("'{}'.split('.')[1] not is a number".format(temp)) + continue num = int(key.split(".")[1]) # 0 is always "layers" new_key = key.replace(f"layers.{num}", module.mapping[num]) new_state_dict[new_key] = value