ndarray 和 tensor 到底有啥区别一张表讲清楚刚学 NumPy 和 PyTorch 的时候很容易懵ndarray和tensor看起来都是多维数组用法也差不多到底有什么区别一句话结论它们确实都是多维数组但来自不同的库能力和运行环境不一样。ndarrayNumPy 的核心数据结构用于CPU 上的科学计算。tensorPyTorch / TensorFlow 的核心数据结构用于CPU 或 GPU 上的张量计算并且支持自动求导。一、核心区别速查表维度ndarray(NumPy)tensor(PyTorch)所属库NumPyPyTorch / TensorFlow运行设备仅 CPUCPU 或 GPU自动求导不支持支持requires_gradTrue梯度计算手动实现自动反向传播主要用途科学计算、数据分析深度学习、神经网络默认浮点类型float64float32默认整型int64int64互相转换torch.from_numpy(a)tensor.numpy()是否共享内存—from_numpy/.numpy()共享内存二、最本质的区别自动求导This is thekey dividing linebetween tensor and ndarray.NumPy没有自动求导importnumpyasnp xnp.array([2.0,3.0])yx**2PorTorch自动求导importtorch xtorch.tensor([2.0,3.0],requires_gradTrue)yx**2y.sum().backward()# 自动求导print(x.grad)# tensor([4., 6.])