切换GPU设备会影响PyTorch反向传播中的梯度吗?

问题描述我用火炬。在计算中,我将一些数据和运算符A移到了GPU中。在中间步骤中,我将数据和运算符B移到CPU并继续前进。我的问题是:我的运算符B非常耗费内存,无法在GPU中使用。这是否会影响反向传播(某些部分在GPU中计算,其他部分在CPU中计算)?推荐答案Pytorch跟踪张量

发布:2022-10-16 标签:cpugpupytorchbackpropagationgradient-descent


计算两个模型之间的渐变

问题描述让我们假设我们正在构建一个基本的CNN,它可以识别猫和狗的图片(二进制分类器)。这类CNN的例子如下:model=Sequential([Conv2D(32,(3,3),input_shape=...),Activation('relu'),MaxPooling2D(po

发布:2022-10-16 标签:pythontensorflowtensorflow2.0backpropagation


反向传播和渐变下降使用相同的逻辑吗?

问题描述CNN使用反向传播来更新随机分配的权重、偏差和过滤器。对于值的更新,我们从头到尾使用链式规则找出梯度,并使用公式NewValue=oldvalue-(learningRate*gradient)梯度下降是一个优化器,用于优化损失函数。这里还计算了梯度,公式为Newvalu

发布:2022-10-16 标签:neural-networkbackpropagationgradient-descentconv-neural-network


如果我只对某些样本进行转发,计算图什么时候会被释放?

问题描述我有一个用例,我对批次中的每个样本进行转发,并且仅根据样本模型输出的某些条件累积某些样本的损失.这是一个说明代码,IhaveausecasewhereIdoforwardforeachsampleinabatchandonlyaccumulatelossforsomeof

发布:2022-10-16 标签:pythonpytorchbackpropagation


如何正确更新 PyTorch 中的权重?

问题描述我正在尝试根据此schema使用PyTorch实现梯度下降但无法弄清楚如何正确更新权重.这只是一个玩具示例,有2个线性层,隐藏层中有2个节点,一个输出.I'mtryingtoimplementthegradientdescentwithPyTorchaccordingto

发布:2022-10-16 标签:gradientpytorchbackpropagation


pytorch 如何通过 argmax 反向传播?

问题描述我正在pytorch中使用质心位置的梯度下降而不是期望最大化来构建Kmeans.损失是每个点到其最近质心的平方距离之和.为了确定哪个质心离每个点最近,我使用argmin,它在任何地方都不可微.然而,pytorch仍然能够反向传播和更新权重(质心位置),在数据上提供与skl

发布:2022-10-16 标签:machine-learningcluster-analysispytorchk-meansbackpropagation


PyTorch 中的截断反向传播(代码检查)

问题描述我正在尝试在PyTorch中实现截断的反向传播,对于K1=K2的简单情况.我在下面有一个可以产生合理输出的实现,但我只想确保它是正确的.当我在网上查找TBTT的PyTorch示例时,它们在分离隐藏状态和将梯度归零以及这些操作的顺序方面做了不一致的事情.如果我做错了,请告诉

发布:2022-10-16 标签:pytorchbackpropagation


找不到就地操作:梯度计算所需的变量之一已被就地操作修改

问题描述我正在尝试计算网络雅可比的损失(即执行双重反向传播),但出现以下错误:运行时错误:梯度计算所需的变量之一已被原位操作修改Iamtryingtocomputealossonthejacobianofthenetwork(i.e.toperformdoublebackprop

发布:2022-10-16 标签:pytorchbackpropagation


为什么在 Pytorch 中,当我复制网络权重时,它会在反向传播后自动更新?

问题描述我编写了以下代码作为测试,因为在我的原始网络中,我使用ModuleDict并取决于我提供的索引将仅切片和训练该网络的一部分.IwrotethefollowingcodeasatestbecauseinmyoriginalnetworkIuseaModuleDictandd

发布:2022-10-16 标签:pythonmachine-learningpytorchbackpropagation


Pytorch:如何创建不来自衍生品的更新规则?

问题描述我想实现以下算法,摘自不明白如何在pytorch中实现更新规则(w的规则与theta的规则非常相似).据我所知,torch需要loss.backwward()的损失.这个表格似乎不适用于引用的算法.我仍然确定在pytorch中实现此类更新规则的正确方法.鉴于V(s,w)是

发布:2022-10-16 标签:pythonmachine-learningpytorchbackpropagationreinforcement-learning