[ torch 参数更多 ]torch.linalg.lu_factor_ex

torch.linalg.lu_factor_ex

torch.linalg.lu_factor_ex(A, *, pivot=True, check_errors=False, out=None)

paddle.linalg.lu

paddle.linalg.lu(x, pivot=True, get_infos=True, name=None)

PyTorch 相比 Paddle 支持更多其他参数,具体如下:

参数映射

PyTorch PaddlePaddle 备注
A x 表示需要进行 LU 分解的输入 Tensor ,仅参数名不一致。
pivot pivot 表示 LU 分解时是否进行旋转。
- get_infos 表示是否返回分解状态信息 ,PyTorch 返回 infos 信息,Paddle 需要设置为 True。
check_errors - 检查 infos 的内容,如果为非 0 抛出错误, Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。
out - 表示输出的 Tensor 元组 ,Paddle 无此参数,需要转写。
返回值 返回值 表示返回的 Tensor 元组 ,PyTorch 返回 info 的 shape 为[],Paddle 返回 info 的 shape 为[1],需要转写。

转写示例

out:指定输出

# PyTorch 写法
torch.linalg.lu_factor_ex(A, out=(LU, pivots, info))

# Paddle 写法
y = paddle.linalg.lu(A, get_infos=True)
y[2] = paddle.to_tensor(y[2].item(), dtype='int32')
paddle.assign(y[0], out[0]), paddle.assign(y[1], out[1]), paddle.assign(y[2], out[2])

返回值

# PyTorch 写法
y = torch.linalg.lu_factor_ex(A)

# Paddle 写法
y = paddle.linalg.lu(A, get_infos=True)
y[2] = paddle.to_tensor(y[2].item(), dtype='int32')