[torch 参数更多]torch.sparse_csr_tensor¶
torch.sparse_csr_tensor¶
torch.sparse_csr_tensor(crow_indices,
col_indices,
values,
size=None,
*,
dtype=None,
layout=torch.strided,
device=None,
pin_memory=False,
requires_grad=False,
check_invariants=None)
paddle.sparse.sparse_csr_tensor¶
paddle.sparse.sparse_csr_tensor(crows, cols, values, shape=None, 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 的数据类型。 |
layout | - | 表示布局方式,Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
device | place | 创建 tensor 的设备位置,仅参数名不一致。 |
pin_memory | - | 表示是否使用锁页内存, Paddle 无此参数,一般对网络训练结果影响不大,可直接删除。 |
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)