to_tensor
通过已知的 data 来创建一个 Tensor,Tensor 类型为 paddle.Tensor。 data 可以是 scalar,tuple,list,numpy.ndarray,paddle.Tensor。
如果 data 已经是一个 Tensor,且 dtype 、 place 没有发生变化,将不会发生 Tensor 的拷贝并返回原来的 Tensor。 否则会创建一个新的 Tensor,且不保留原来计算图。
我们使用如下规则来进行类型转换:
保持类型
np.number ───────► paddle.Tensor
(0-D Tensor)
paddle 默认类型
Python Number ───────────────► paddle.Tensor
(0-D Tensor)
保持类型
np.ndarray ─────────► paddle.Tensor
参数
data (scalar|tuple|list|ndarray|Tensor) - 初始化 Tensor 的数据,可以是 scalar,list,tuple,numpy.ndarray,paddle.Tensor 类型。
dtype (str|paddle.dtype|np.dtype,可选) - 创建 Tensor 的数据类型,可以是 bool、float16、float32、float64、int8、int16、int32、int64、uint8、complex64、complex128。 默认值为 None,如果
data为 python 浮点类型,则从 get_default_dtype 获取类型,如果data为其他类型,则会自动推导类型。place (CPUPlace|CUDAPinnedPlace|CUDAPlace,可选) - 创建 tensor 的设备位置,可以是 CPUPlace、CUDAPinnedPlace、CUDAPlace。默认值为 None,使用全局的 place。别名:
device。stop_gradient (bool,可选) - 是否阻断 Autograd 的梯度传导。默认值为 True,此时不进行梯度传传导。
返回
通过 data 创建的 Tensor。
代码示例
>>> import paddle
>>> type(paddle.to_tensor(1))
<class 'paddle.Tensor'>
>>> paddle.to_tensor(1)
Tensor(shape=[], dtype=int64, place=Place(cpu), stop_gradient=True,
1)
>>> x = paddle.to_tensor(1, stop_gradient=False)
>>> print(x)
Tensor(shape=[], dtype=int64, place=Place(cpu), stop_gradient=False,
1)
>>> paddle.to_tensor(x) # A new tensor will be created with default stop_gradient=True
Tensor(shape=[], dtype=int64, place=Place(cpu), stop_gradient=True,
1)
>>> paddle.to_tensor([[0.1, 0.2], [0.3, 0.4]], place=paddle.CPUPlace(), stop_gradient=False)
Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=False,
[[0.10000000, 0.20000000],
[0.30000001, 0.40000001]])
>>> type(paddle.to_tensor([[1+1j, 2], [3+2j, 4]], dtype='complex64'))
<class 'paddle.Tensor'>
>>> paddle.to_tensor([[1+1j, 2], [3+2j, 4]], dtype='complex64')
Tensor(shape=[2, 2], dtype=complex64, place=Place(cpu), stop_gradient=True,
[[(1+1j), (2+0j)],
[(3+2j), (4+0j)]])
使用本API的教程文档¶
- 使用样例
- 案例解析
- 转换原理
- Limitations
- 报错调试
- 使用 paddle.nn.Layer 自定义网络
- 隐式数据类型提升介绍
- 自动微分机制介绍
- 梯度裁剪方式介绍
- 模型性能分析(Profiler)
- 附录: 飞桨框架 2.x
- CV - 迁移经验汇总
- 解读 Bert 模型权重转换
- CV - 快速上手
- NLP - 快速上手
- 解读网络结构转换
- NLP - 迁移经验汇总
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- Pytorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法,dim=0
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法:
- PyTorch 写法:
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- Pytorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法
- PyTorch 写法:
- 升级指南
- 迁移经验汇总
- 解读 Bert 模型权重转换
- 快速上手
- 解读网络结构转换
- Tensor 介绍
- Paddle Tensor 索引介绍
- 张量模型并行
- 快速开始-数据并行
- 前向重计算
- 飞桨框架 3.0 正式版发布——加速大模型时代的技术创新与产业应用
- 高阶自动微分功能支持科学计算
- 自动并行训练
- 动转静 SOT 原理及使用
- Paddle Inference(TensorRT 子图引擎)