local_model.bn1.num_batches_tracked.fill_(0.)
local_model.layer1.0.bn1.num_batches_tracked.fill_(0.)
local_model.layer1.0.bn2.num_batches_tracked.fill_(0.)我想把一些模型参数修改为零。第一行工作良好,但第二行向前。我将得到以下语法错误SyntaxError: invalid syntax

有更好的办法吗?例如,是否可以将包含num_batches_tracked的参数的名称修改为0?
发布于 2022-07-09 23:03:16
在加载模型之后,您可以使用该函数来做您想做的事情。
def reset_tracked_batches_num(model:torch.nn.Module, constant=0.0):
def recurs(model):
for layer in model.children():
if hasattr(layer, 'num_batches_tracked'):
torch.nn.init.constant_(layer.num_batches_tracked,constant)
#print(layer.num_batches_tracked)
recurs(layer)
recurs(model)示例:
model = resnet18()
reset_tracked_batches_num(model, 5)https://stackoverflow.com/questions/72921579
复制相似问题