【发布时间】:2019-07-10 18:38:14
【问题描述】:
我有两个设置 - 一个需要大约。 10分钟跑另一个还在跑一个小时后:
10 米:
import pretrainedmodels
def resnext50_32x4d(pretrained=False):
pretrained = 'imagenet' if pretrained else None
model = pretrainedmodels.se_resnext50_32x4d(pretrained=pretrained)
return nn.Sequential(*list(model.children()))
learn = cnn_learner(data, resnext50_32x4d, pretrained=True, cut=-2, split_on=lambda m: (m[0][3], m[1]),metrics=[accuracy, error_rate])
未完成:
import torchvision.models as models
def get_model(pretrained=True, model_name = 'resnext50_32x4d', **kwargs ):
arch = models.resnext50_32x4d(pretrained, **kwargs )
return arch
learn = Learner(data, get_model(), metrics=[accuracy, error_rate])
这都是从其他人的代码中复制和破解的,所以有些部分我不明白。但最令人困惑的是为什么一个会比另一个快得多。我想使用第二个选项,因为它更容易理解,我可以换掉预训练模型来测试不同的模型。
【问题讨论】:
-
cnn_leaner 和 Learner 是 fastai 例程 - docs.fast.ai/vision.learner.html 训练后的所有内容都是
learn.fit_one_cycle(4) -
这是什么
pretrainedmodels模块?我想模型之间是不同的。如果您在两个示例中插入相同的模型会发生什么(比如说来自torchvision的那个)
标签: python pytorch pre-trained-model fast-ai