block_diag¶
根据 inputs 创建对角矩阵。
参数¶
inputs (list|tuple) - 是一个 Tensor 列表或 Tensor 元组,其子项为 0、1、2 维的 Tensor 。数据类型为: bool、 float16、 float32、 float64、 uint8、 int8、 int16、 int32、 int64、 bfloat16、 complex64、 complex128。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor, 与 inputs
数据类型相同。
代码示例¶
>>> import paddle
>>> A = paddle.to_tensor([[4], [3], [2]])
>>> B = paddle.to_tensor([7, 6, 5])
>>> C = paddle.to_tensor(1)
>>> D = paddle.to_tensor([[5, 4, 3], [2, 1, 0]])
>>> E = paddle.to_tensor([[8, 7], [7, 8]])
>>> out = paddle.block_diag([A, B, C, D, E])
>>> print(out)
Tensor(shape=[9, 10], dtype=int64, place=Place(gpu:0), stop_gradient=True,
[[4, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[2, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 7, 6, 5, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 5, 4, 3, 0, 0],
[0, 0, 0, 0, 0, 2, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 8, 7],
[0, 0, 0, 0, 0, 0, 0, 0, 7, 8]])