Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将pytorch中模型中的每个参数的require_grad更改为false?_Python 3.x_Pytorch - Fatal编程技术网

Python 3.x 如何将pytorch中模型中的每个参数的require_grad更改为false?

Python 3.x 如何将pytorch中模型中的每个参数的require_grad更改为false?,python-3.x,pytorch,Python 3.x,Pytorch,我的代码在下面,我想它可以做我想要的,但是输出显示require\u grad没有变为false import torch import torch.nn as nn encoder = nn.Sequential( nn.Conv2d(1, 4, 1), nn.Sigmoid()) for params in encoder.parameters(): params.require_grad = False print(params.requires_grad) # pr

我的代码在下面,我想它可以做我想要的,但是输出显示require\u grad没有变为false

import torch
import torch.nn as nn

encoder = nn.Sequential( nn.Conv2d(1, 4, 1), nn.Sigmoid())

for params in encoder.parameters():

    params.require_grad = False
    print(params.requires_grad) # prints two True statements?
我做错了什么?

您只是有一个输入错误:)只需在参数中的grad末尾添加一个s.require\u grad=False

将此更改为
params.requires_grad=False
(注意添加的)


拼写错误有时很难被发现;)

感谢您,而且params.require_grad=False不会返回任何错误,因为您分配了一个新属性,这使得调试更加困难。为什么不将
与torch一起使用呢。no_grad():
?我的目标是使用/训练网络的一部分,因此我希望首先冻结80%的层。在某个时代之后,我可以解锁更多层。我想我可以使用torch.no_grad()包装器,通过设置require_grad=True,逐个解锁卷积。