PyTorch是一个:
机器学习框架,简单易学
可以看做是支持GPU计算和自动微分计算的“Numpy”库
支持100多种Tensor常规算子,包括:创建、索引、切片、转置、连接、随机数、形状改变,线性代数、数学计算
Tensor是一个有值有属性的多维数组对象,跟NumPy ndarray对象比,还支持自动微分(.requires_grad)和选择计算硬件(.device)
Tensor是多维数组
PyTorch中的所有CPU上的Tensor除了CharTensor以外,都支持跟 NumPy ndarray类型相互转换
从神经网络角度来看,PyTorch是一个自动微分(autograd)工具包
使用PyTorch构架神经网络,用户只需要定义forward()方法,而backward()无需用户定义,PyTorch框架已经实现了,这就是所谓的自动微分。
可训练的参数,包含在net.parameters()里面
下面的Python源代码是用Numpy来实现一个简单的神经网络,并完成前向计算和反向传播。可以看出用Numpy来编写神经网络的不方便性: <