私は2つのセットアップを持っています - 1つは約かかります。もう一方を実行するのに 10 分は、1 時間後も引き続き実行されます。
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])
これはすべて他人のコードをコピペしてハッキングしたものなので、よくわからない部分があります。しかし、最も困惑するのは、一方が他方よりもはるかに高速である理由です。2 番目のオプションを使用したいと思います。これは、理解しやすく、事前トレーニング済みのモデルを交換して別のモデルをテストできるためです。