大学毕业生在PyTorch做什么?(不需要毕业)

2024-04-28 07:09:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用resnet作为我的主干,对一个多类分类任务进行迁移学习。你知道吗

在许多教程中,有人指出,在冻结其他层的同时,尝试只训练最后一层(通常是完全连接的层)是明智的。冷冻过程如下:

for param in model.parameters():
    param.requires_grad = False

然而,我刚刚意识到我的所有层实际上都没有冻结,在检查代码时,我意识到我输入了一个错误:

for param in model.parameters():
    param.required_grad = False

我写了required_grad而不是requires_grad。你知道吗

我似乎找不到关于required_grad的信息-它是什么,它做什么。我唯一发现的是它没有改变requires_grad标志,并且有一个单独的required_grad标志被设置为False。你知道吗

有人能解释一下required_grad的作用吗?我是不是一直在“不冻”我的其他层呢?你知道吗


Tags: infalseformodelparam标志required分类
1条回答
网友
1楼 · 发布于 2024-04-28 07:09:49

好吧,这真是太傻了。你知道吗

for param in model.parameters():
    param.required_grad = False

在这种情况下,一个新的“必修学位”是由于我的打字错误而创建的。 例如,即使以下情况也不会引发错误:

for param in model.parameters():
    param.what_in_the_world = False

模型的所有参数现在都有一个what_in_the_world属性。你知道吗

我希望没有人因此浪费时间。你知道吗

相关问题 更多 >