pytorch深度学习框架基础知识

1. 张量

在深度学习中,张量的计算是核心,一张迷你批次大小的图片可以看成四维的张量,一个迷你批次的文本可以看成二维张量或更高维度的张量。张量在内存中是从最后一个维度开始的连续排列的。张量可以支持每一个维度的长度,也支持四则运算,如加、减、乘、除等,另外,还支持变换维度。张量可以把某个维度分裂成两个维度,也可以把多个维度合并成一个维度。张量支持线性变换的操作(如卷积层和全连接层)和对每个元素的激活函数操作。

2. 计算图

一般来说,神经网络需要记录运算的过程,并构建计算图的方法。在深度学习中,目前存在静态图和动态图两种计算方式。静态图就是在计算之前先构建一个计算图,图中的节点是运算操作,包括矩阵的乘法和加法等。因为静态图是固定的,不用每次计算都重新构建计算图,所以有效地减少了计算图构建的时间消耗。但静态图的缺陷是构建完成之后不能修改,不便于循环和条件判断语句的书写。动态图就是在计算过程中逐渐构建计算图,最后得到神经网络的输出结果。动态图虽然执行效率比静态图低,但灵活性更强。

3. 自动求导和反向传播

深度学习中的所谓的自动求导是指从标量值反推计算图权重张量的梯度,动态计算图在构建前向计算的时候会给每个输出张量绑定一个反向传播的梯度计算函数,当计算图到达最终的损失函数张量的时候,直接调用该张量对应的反向传播函数。

你可能感兴趣的:(PyTorch,深度学习,pytorch,神经网络)