0
我前几天使用了tensorflow。构建固定重量的conv层很简单,只需将权重内核传递给conv2d()
即可。加载预制模型如VGG19
十分方便。但是我发现它并没有像pytorch那样工作,因为conv2d()
不接受明确的内核,而是接受内核大小。所以我想知道是否有任何可能性,我们可以通过简单地将它传递给conv2d()
这样的方法来重用VGG19
中的权重。任何答复将不胜感激。Pytorch负载模型
我前几天使用了tensorflow。构建固定重量的conv层很简单,只需将权重内核传递给conv2d()
即可。加载预制模型如VGG19
十分方便。但是我发现它并没有像pytorch那样工作,因为conv2d()
不接受明确的内核,而是接受内核大小。所以我想知道是否有任何可能性,我们可以通过简单地将它传递给conv2d()
这样的方法来重用VGG19
中的权重。任何答复将不胜感激。Pytorch负载模型
我可以看到你有2个问题。如何在pyTorch中使用像VGG这样的预先训练过的模型,以及如何设置像nn.conv2d()这样的特定图层的权重。
对于创建预训练Vgg模型,您可以使用下面的代码。
from torchvision import models
model_vgg = models.vgg16(pretrained=True)
for param in model_vgg.parameters():
param.requires_grad = False
在PyTorch您实现神经网络的子类nn.Module其中包含返回与网络相关的所有的权重参数()函数。
设置特定图层的权重。
decoder = nn.Linear(10, 100)
decoder.weight = #Do anything which is valid.
您可以检查我的代码here知道更多关于如何使用训练模型。
非常感谢你! –
如果它对你有所帮助,你可以选择它作为答案。 –