[torch 参数更多 ]torch.scalar_tensor¶
[torch.scalar_tensor]¶
torch.scalar_tensor(s,
dtype=torch.float32,
layout=torch.strided,
device=None,
requires_grad=False,
pin_memory=False)
paddle.to_tensor¶
paddle.to_tensor(data,
dtype=None,
place=None,
stop_gradient=True)
PyTorch 相比 Paddle 支持更多其他参数,具体如下:
参数映射¶
PyTorch | PaddlePaddle | 备注 |
---|---|---|
s | data | 表示输入的数据。 |
dtype | dtype | 表示数据的类型。两者参数默认值不同,Paddle 应设置为 paddle.float32。 |
layout | - | 数据布局格式,Paddle 无此参数。一般对训练结果影响不大,可直接删除。 |
device | place | 表示 Tensor 存放设备位置,两者参数类型不相同,需要转写。 |
requires_grad | stop_gradient | 表示是否计算梯度, 两者参数意义不相同,Paddle 输入与 PyTorch 逻辑相反。需要转写。 |
pin_memeory | - | 表示是否使用锁页内存, Paddle 无此参数,需要转写。 Paddle 需要对结果使用 padlde.Tensor.pin_memory()。 |
转写示例¶
device: Tensor 的设备¶
# PyTorch 写法
torch.tensor(3, device=torch.device('cpu'))
# Paddle 写法
y = paddle.to_tensor(3, dtype=paddle.float32, place=paddle.CPUPlace())
requires_grad:是否不阻断梯度传导¶
# PyTorch 写法
x = torch.tensor(3, requires_grad=True)
# Paddle 写法
x = paddle.to_tensor(3, dtype=paddle.float32, stop_gradient=False)
pin_memory:是否分配到固定内存上¶
# PyTorch 写法
x = torch.tensor(3, pin_memory=True)
# Paddle 写法
x = paddle.to_tensor(3, dtype=paddle.float32).pin_memory()