Generate a Hadamard matrix. Args: hidden_size (int): The size of the hidden layer. Returns: paddle.Tensor: The generated Hadamard matrix.
(hidden_size: int)
| 394 | |
| 395 | |
| 396 | def create_hadamard_matrix(hidden_size: int) -> paddle.Tensor: |
| 397 | """ |
| 398 | Generate a Hadamard matrix. |
| 399 | |
| 400 | Args: |
| 401 | hidden_size (int): The size of the hidden layer. |
| 402 | |
| 403 | Returns: |
| 404 | paddle.Tensor: The generated Hadamard matrix. |
| 405 | |
| 406 | """ |
| 407 | hadamard_block_size = 32 |
| 408 | h = random_hadamard_matrix(hadamard_block_size, "float32") |
| 409 | block_num = hidden_size // hadamard_block_size |
| 410 | hadamard_matrix = paddle.to_tensor(block_diag(*[h for i in range(block_num)])) |
| 411 | return hadamard_matrix |
| 412 | |
| 413 | |
| 414 | def ensure_divisibility(numerator, denominator): |