@@ -163,19 +163,20 @@ def __init__(self, config: ExLlamaV2Config, lazy_load = False):
163
163
transformerSublayers = 2
164
164
layer_arrangement = [list (range (* interval )) for interval in config .repeats ]
165
165
layer_arrangement = [item for sublist in layer_arrangement for item in sublist ]
166
- LayeredModules = self .modules
167
166
168
167
169
- self . modules = LayeredModules [:embedTokenLayers ]
168
+ LayeredModules = self . modules [:embedTokenLayers ]
170
169
for idx in layer_arrangement :
171
- self . modules += LayeredModules [idx * transformerSublayers + embedTokenLayers : idx * transformerSublayers + transformerSublayers + embedTokenLayers ]
172
- self . modules += LayeredModules [- 2 :]
170
+ LayeredModules += self . modules [idx * transformerSublayers + embedTokenLayers : idx * transformerSublayers + transformerSublayers + embedTokenLayers ]
171
+ LayeredModules += self . modules [- 2 :]
173
172
self .head_layer_idx = len (self .modules ) - 1
174
173
self .last_kv_layer_idx = len (self .modules ) - 4
175
174
176
- for i , m in enumerate (self . modules ):
175
+ for i , m in enumerate (LayeredModules ):
177
176
print (i , m .key )
178
177
178
+ self .layeredModules = LayeredModules
179
+
179
180
180
181
def set_device_map (self , allocation , embed_cpu = True ):
181
182
@@ -631,9 +632,8 @@ def process_module(module, x, last_state):
631
632
attn_params = ExLlamaV2Attention .Params (batch_size , seq_len , past_len , input_mask , position_offsets )
632
633
last_state = None
633
634
634
- if hasattr (self , 'layers_list' ):
635
- for i , idx in enumerate (self .layers_list ):
636
- module = self .modules [idx ]
635
+ if hasattr (self , 'layeredModules' ):
636
+ for idx , module in enumerate (self .layeredModules ):
637
637
x , last_state = process_module (module , x , last_state )
638
638
if preprocess_only and idx == self .last_kv_layer_idx :
639
639
x = None
0 commit comments