知了AI学习平台Logo知了
🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

🧮
Tensor的隐身术

PyTorch的Tensor和NumPy的ndarray在内存中共享同一块数据——通过tensor.numpy()转换时,数据根本不会被复制!这意味着修改一个会影响另一个,除非你显式调用.copy()。这个"零拷贝"设计让PyTorch和NumPy的互操作快如闪电。

一句话总结
💡

Tensor 是 PyTorch 的核心数据结构,是支持 GPU 加速与自动求导的多维数组。

常见误区

这些坑别踩

✗

误区 1

Tensor 和 NumPy 的 ndarray 完全等价。

✓

正确理解

Tensor 可在 GPU 上运算并支持自动求导,而 ndarray 仅在 CPU 且不跟踪梯度;二者可通过 from_numpy / numpy 互转但特性不同。

✗

误区 2

改变 Tensor 形状一定会复制数据。

✓

正确理解

view / reshape 只是改变视图元信息,非连续时 reshape 可能复制,但通常不复制底层数据;reshape 在非连续时可能触发复制以保证正确性。

✗

误区 3

两个 Tensor 只要形状相同就能做运算。

✓

正确理解

还需在同一设备(device)且 dtype 兼容,否则会报错;形状相同但设备不同的 Tensor 不能直接运算。