Skip to content

Commit e500d95

Browse files
authored
fix: fix rank 1 loras (#575)
1 parent a3cbdf6 commit e500d95

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lora.hpp

+6-3
Original file line numberDiff line numberDiff line change
@@ -615,9 +615,12 @@ struct LoraModel : public GGMLRunner {
615615
scale_value *= multiplier;
616616

617617
// flat lora tensors to multiply it
618-
int64_t lora_up_rows = lora_up->ne[ggml_n_dims(lora_up) - 1];
619-
lora_up = ggml_reshape_2d(compute_ctx, lora_up, ggml_nelements(lora_up) / lora_up_rows, lora_up_rows);
620-
int64_t lora_down_rows = lora_down->ne[ggml_n_dims(lora_down) - 1];
618+
int64_t lora_up_rows = lora_up->ne[ggml_n_dims(lora_up) - 1];
619+
lora_up = ggml_reshape_2d(compute_ctx, lora_up, ggml_nelements(lora_up) / lora_up_rows, lora_up_rows);
620+
auto lora_down_n_dims = ggml_n_dims(lora_down);
621+
// assume n_dims should always be a multiple of 2 (otherwise rank 1 doesn't work)
622+
lora_down_n_dims = (lora_down_n_dims + lora_down_n_dims % 2);
623+
int64_t lora_down_rows = lora_down->ne[lora_down_n_dims - 1];
621624
lora_down = ggml_reshape_2d(compute_ctx, lora_down, ggml_nelements(lora_down) / lora_down_rows, lora_down_rows);
622625

623626
// ggml_mul_mat requires tensor b transposed

0 commit comments

Comments
 (0)