假设一层的权重矩阵为[32,64,4,2]。是否可以冻结第一个过滤器,同时保持其他31个过滤器的可训练性?
我尝试设置require_grad,但是此参数适用于整个图层。
答案 0 :(得分:0)
这是可能的,但没有您想像的那么简单。 nn.Conv2d
有效的作用是初始化并拥有权重(和偏差,如果适用),然后在forward
中将其分派到functional.conv2d
。
为了实现您的目标,您将需要创建一个类,其中将冻结的过滤器保存为buffer(非参数),将剩余的31个过滤器保存为parameter。然后,向前,它将连接缓冲区和参数以获得32通道过滤器,并分派到functional.conv2d
。