[torch 参数更多]torch.sparse_csr_tensor¶
torch.sparse_csr_tensor¶
torch.sparse_csr_tensor(crow_indices, col_indices, values, size=None, *, dtype=None, device=None, requires_grad=False, check_invariants=None)
paddle.sparse.sparse_csr_tensor¶
paddle.sparse.sparse_csr_tensor(crows, cols, values, shape, dtype=None, place=None, stop_gradient=True)
PyTorch 相比 Paddle 支持更多其他参数,具体如下:
参数映射¶
PyTorch | PaddlePaddle | 备注 |
---|---|---|
crow_indices | crows | 每行第一个非零元素在 values 的起始位置,仅参数名不一致。 |
col_indices | cols | 一维数组,存储每个非零元素的列信息,仅参数名不一致。 |
values | values | 一维数组,存储非零元素。 |
size | shape | 稀疏 Tensor 的形状,仅参数名不一致。 |
dtype | dtype | 创建 tensor 的数据类型。 |
device | place | 创建 tensor 的设备位置,仅参数名不一致。 |
requires_grad | stop_gradient | 是否阻断 Autograd 的梯度传导,两者参数功能相反,需要转写。 |
check_invariants | - | 是否检查稀疏 Tensor 变量,Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
转写示例¶
requires_grad 参数:是否阻断 Autograd 的梯度传导¶
# PyTorch 写法
crows = [0, 2, 3, 5]
cols = [1, 3, 2, 0, 1]
values = [1, 2, 3, 4, 5]
dense_shape = [3, 4]
csr = torch.sparse_csr_tensor(crows, cols, values, dense_shape, requires_grad=False)
# Paddle 写法
crows = [0, 2, 3, 5]
cols = [1, 3, 2, 0, 1]
values = [1, 2, 3, 4, 5]
dense_shape = [3, 4]
csr = paddle.sparse.sparse_csr_tensor(crows, cols, values, dense_shape, stop_gradient= True)