У меня есть две разные установки - одна занимает ок. 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])
Это все скопировано и взломано из кода других людей, поэтому есть части, которые я не понимаю. Но самое непонятное, почему один будет намного быстрее другого. Я хотел бы использовать второй вариант, потому что его легче понять, и я могу просто поменять предварительно обученную модель, чтобы протестировать разные.