核心要点

  • 张量是 PyTorch 的核心多维数组,标量/向量/矩阵分别是 0/1/2 维的特例,关键属性有 dtype、device、requires_grad

  • 它能放到 GPU(device=cuda)上做并行加速,这是相比 NumPy 的核心优势

  • 设 requires_grad=True 后张量会被 Autograd 追踪、backward 后梯度存在 .grad,是参数可训练的基础

  • 能与 NumPy 互操作:from_numpy 共享内存零拷贝,.numpy() 转回(GPU 张量需先 .cpu())

简要回答

PyTorch 张量(Tensor) 是框架的核心数据结构——广义上的多维数组,标量(0 维)、向量(1 维)、矩阵(2 维)都是其特例;

关键属性

属性 含义
.shape / .size() 各维大小
.dtype float32、int64 等
.device cpu / cuda:0
requires_grad 是否参与 Autograd
.grad 反向后的梯度

创建torch.tensor()torch.zeros()torch.randn()

标准回答

PyTorch 张量(Tensor) 是框架的核心数据结构——广义上的多维数组,标量(0 维)、向量(1 维)、矩阵(2 维)都是其特例。

关键属性

属性 含义
.shape / .size() 各维大小
.dtype float32、int64 等
.device cpu / cuda:0
requires_grad 是否参与 Autograd
.grad 反向后的梯度

创建torch.tensor()torch.zeros()torch.randn();从 NumPy:torch.from_numpy(arr)(共享内存)。

运算:重载 +@* 等,底层可 dispatch 到 CPU/GPU;广播机制与 NumPy 类似。

神经网络nn.Parameter 是特殊 Tensor;前向中张量在计算图上流动;loss.backward() 沿图回传梯度。

张量设计使 深度学习 代码简洁且高效。详见 深度学习基础

常见误区

⚠️ 常见踩坑

混淆 Tensor 与 Variable(0.4 后已合并);GPU 张量直接 .numpy() 报错需先 .cpu();inplace 操作破坏 Autograd 需小心。

追问

追问 1torch.tensor 和 torch.from_numpy 区别?

题库专题:如何将 NumPy 数组转换为 PyTorch 张量?

torch.from_numpy(arr) 与原 ndarray 共享内存(零拷贝),改一方会影响另一方,且保留 NumPy 的 dtype(如 float64);torch.tensor(data) 总是拷贝一份独立数据,可顺带指定 dtype、device、requires_grad。读大批数据想省内存用 from_numpy,需要独立副本或显式控制属性用 torch.tensor。

题库延伸:与本追问相关的专题题 → 如何将 NumPy 数组转换为 PyTorch 张量?

追问 2view 和 reshape 有何注意?

view 要求张量内存连续(contiguous),只是改变 stride/形状的视图、不拷贝数据;若张量经过 transpose/permute 后不连续,view 会报错,需先 .contiguous()。reshape 更省心:能用视图时返回视图,不行则自动拷贝。两者都不能改变元素总数。性能敏感处优先 view 以避免隐式拷贝。

追问 3dtype 选 float32 还是 float64?

深度学习默认且推荐 float32:显存占用减半、GPU 上吞吐远高于 float64,精度对训练足够。float64 仅在科学计算等对数值精度极敏感的场景才用。追求更快可进一步用混合精度(float16/bfloat16 + AMP)。注意从 float64 的 NumPy 数组转来的张量需显式转成 float32,否则会拖慢训练或与 float32 权重不匹配。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • Pytorch

    Meta 开源的深度学习框架,100K+ stars。以动态计算图和 Pythonic 风格著称,在学术界和工业界都有广泛应用,支持分布式训练、移动端部署和 ONNX 导出

  • Tensorflow

    全球最流行的机器学习框架之一,195K+ stars。Google 开源的端到端 ML 平台,支持 TensorFlow、Keras 等多种 API,覆盖深度学习、强化学习、移动端部署等全场景,是 AI 工程师的必备工具