gpt4 book ai didi

python - 不更新权重的反向传播(DCGAN)

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:41 29 4
gpt4 key购买 nike

基本思想是,我加载一个经过训练的模型 (DCGAN) 并用它对图像进行异常检测。对于异常检测,我必须在测试阶段进行一些迭代来评估它是否是异常。

为此,我在测试设置中有两个损失函数,它们应该计算生成器输入的反向传播和更新潜在向量但是它只应该更新潜在向量,而不是图上的权重。

这可能吗?

可能,如果我只使用我的潜在向量的 pytorch 变量并将生成器的变量输出设置为“requires_grad=False”就像在文档中一样 --> Pytorch

最佳答案

是的,您在正确的轨道上。您可以单独设置模型参数的 requires_grad 属性(更准确地说是计算图中的所有叶节点)。我不熟悉 DCGAN,但我假设潜在向量也是一个可训练的参数(否则反向传播更新对我来说意义不大)。

以下改编自 PyTorch 文档的代码片段可能对您的目的有用:

# Load your model
model = torchvision.models.resnet18(pretrained=True)

# Disable gradient computation for all parameters
for param in model.parameters():
param.requires_grad = False

# Enable gradient computation for a specific layer (here the last fc layer)
for param in model.fc.parameters():
param.requires_grad = True

# Optimize only the the desired parameters (for you latent vectors)
optimizer = optim.SGD(model.fc.parameters(), lr=1e-2, momentum=0.9)

关于python - 不更新权重的反向传播(DCGAN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44946190/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com