性能提示
GPU与CPU之间的数据传输开销较大,应尽量减少数据在设备间的移动次数。建议在GPU上完成所有计算后,再将结果移回CPU。
PyTorch核心数据结构详解
Tensor(张量)是PyTorch中最核心的数据结构,可以理解为多维数组的泛化形式。 它是神经网络中数据传递和计算的基本单元,支持GPU加速计算,是实现深度学习算法的基础。
0维张量,单个数值
1维张量,一维数组
2维张量,二维数组
3维及以上张量
| 特性 | PyTorch Tensor | NumPy ndarray |
|---|---|---|
| GPU支持 | 原生支持CUDA加速 | 不支持(需借助CuPy等) |
| 自动求导 | 支持autograd自动微分 | 不支持 |
| 数据类型 | torch.float32, torch.int64等 | numpy.float32, numpy.int64等 |
| 内存共享 | 可与NumPy数组共享内存 | 可与Tensor共享内存 |
| 主要用途 | 深度学习计算 | 科学计算、数据分析 |
GPU与CPU之间的数据传输开销较大,应尽量减少数据在设备间的移动次数。建议在GPU上完成所有计算后,再将结果移回CPU。