(weights: NDArray, n_head: int, n_head_kv: int)
| 424 | # |
| 425 | |
| 426 | def permute(weights: NDArray, n_head: int, n_head_kv: int) -> NDArray: |
| 427 | #print( "permute debug " + str(weights.shape[0]) + " x " + str(weights.shape[1]) + " nhead " + str(n_head) + " nheadkv " + str(n_kv_head) ) |
| 428 | if n_head_kv is not None and n_head != n_head_kv: |
| 429 | n_head = n_head_kv |
| 430 | return (weights.reshape(n_head, 2, weights.shape[0] // n_head // 2, *weights.shape[1:]) |
| 431 | .swapaxes(1, 2) |
| 432 | .reshape(weights.shape)) |
| 433 | |
| 434 | |
| 435 | class Tensor(metaclass=ABCMeta): |
no test coverage detected