benkarr:
resnet18
having (resnet18) in quotes will throw this error:
RuntimeError: Error(s) in loading state_dict for Sequential:
Missing key(s) in state_dict: "0.model.conv1.weight", "0.model.bn1.weight", "0.model.bn1.bias", "0.model.bn1.running_mean", "0.model.bn1.running_var", "0.model.layer1.0.conv1.weight", "0.model.layer1.0.bn1.weight", "0.model.layer1.0.bn1.bias", "0.model.layer1.0.bn1.running_mean", "0.model.layer1.0.bn1.running_var", "0.model.layer1.0.conv2.weight", "0.model.layer1.0.bn2.weight", "0.model.layer1.0.bn2.bias", "0.model.layer1.0.bn2.running_mean", "0.model.layer1.0.bn2.running_var", "0.model.layer1.1.conv1.weight", "0.model.layer1.1.bn1.weight", "0.model.layer1.1.bn1.bias", "0.model.layer1.1.bn1.running_mean", "0.model.layer1.1.bn1.running_var", "0.model.layer1.1.conv2.weight", "0.model.layer1.1.bn2.weight", "0.model.layer1.1.bn2.bias", "0.model.layer1.1.bn2.running_mean", "0.model.layer1.1.bn2.running_var", "0.model.layer2.0.conv1.weight", "0.model.layer2.0.bn1.weight", "0.model.layer2.0.bn1.bias", "0.model.layer2.0.bn1.running_mean", "0.model.layer2.0.bn1.running_var", "0.model.layer2.0.conv2.weight", "0.model.layer2.0.bn2.weight", "0.model.layer2.0.bn2.bias", "0.model.layer2.0.bn2.running_mean", "0.model.layer2.0.bn2.running_var", "0.model.layer2.0.downsample.0.weight", "0.model.layer2.0.downsample.1.weight", "0.model.layer2.0.downsample.1.bias", "0.model.layer2.0.downsample.1.running_mean", "0.model.layer2.0.downsample.1.running_var", "0.model.layer2.1.conv1.weight", "0.model.layer2.1.bn1.weight", "0.model.layer2.1.bn1.bias", "0.model.layer2.1.bn1.running_mean", "0.model.layer2.1.bn1.running_var", "0.model.layer2.1.conv2.weight", "0.model.layer2.1.bn2.weight", "0.model.layer2.1.bn2.bias", "0.model.layer2.1.bn2.running_mean", "0.model.layer2.1.bn2.running_var", "0.model.layer3.0.conv1.weight", "0.model.layer3.0.bn1.weight", "0.model.layer3.0.bn1.bias", "0.model.layer3.0.bn1.running_mean", "0.model.layer3.0.bn1.running_var", "0.model.layer3.0.conv2.weight", "0.model.layer3.0.bn2.weight", "0.model.layer3.0.bn2.bias", "0.model.layer3.0.bn2.running_mean", "0.model.layer3.0.bn2.running_var", "0.model.layer3.0.downsample.0.weight", "0.model.layer3.0.downsample.1.weight", "0.model.layer3.0.downsample.1.bias", "0.model.layer3.0.downsample.1.running_mean", "0.model.layer3.0.downsample.1.running_var", "0.model.layer3.1.conv1.weight", "0.model.layer3.1.bn1.weight", "0.model.layer3.1.bn1.bias", "0.model.layer3.1.bn1.running_mean", "0.model.layer3.1.bn1.running_var", "0.model.layer3.1.conv2.weight", "0.model.layer3.1.bn2.weight", "0.model.layer3.1.bn2.bias", "0.model.layer3.1.bn2.running_mean", "0.model.layer3.1.bn2.running_var", "0.model.layer4.0.conv1.weight", "0.model.layer4.0.bn1.weight", "0.model.layer4.0.bn1.bias", "0.model.layer4.0.bn1.running_mean", "0.model.layer4.0.bn1.running_var", "0.model.layer4.0.conv2.weight", "0.model.layer4.0.bn2.weight", "0.model.layer4.0.bn2.bias", "0.model.layer4.0.bn2.running_mean", "0.model.layer4.0.bn2.running_var", "0.model.layer4.0.downsample.0.weight", "0.model.layer4.0.downsample.1.weight", "0.model.layer4.0.downsample.1.bias", "0.model.layer4.0.downsample.1.running_mean", "0.model.layer4.0.downsample.1.running_var", "0.model.layer4.1.conv1.weight", "0.model.layer4.1.bn1.weight", "0.model.layer4.1.bn1.bias", "0.model.layer4.1.bn1.running_mean", "0.model.layer4.1.bn1.running_var", "0.model.layer4.1.conv2.weight", "0.model.layer4.1.bn2.weight", "0.model.layer4.1.bn2.bias", "0.model.layer4.1.bn2.running_mean", "0.model.layer4.1.bn2.running_var".
Unexpected key(s) in state_dict: "0.0.weight", "0.1.weight", "0.1.bias", "0.1.running_mean", "0.1.running_var", "0.1.num_batches_tracked", "0.4.0.conv1.weight", "0.4.0.bn1.weight", "0.4.0.bn1.bias", "0.4.0.bn1.running_mean", "0.4.0.bn1.running_var", "0.4.0.bn1.num_batches_tracked", "0.4.0.conv2.weight", "0.4.0.bn2.weight", "0.4.0.bn2.bias", "0.4.0.bn2.running_mean", "0.4.0.bn2.running_var", "0.4.0.bn2.num_batches_tracked", "0.4.1.conv1.weight", "0.4.1.bn1.weight", "0.4.1.bn1.bias", "0.4.1.bn1.running_mean", "0.4.1.bn1.running_var", "0.4.1.bn1.num_batches_tracked", "0.4.1.conv2.weight", "0.4.1.bn2.weight", "0.4.1.bn2.bias", "0.4.1.bn2.running_mean", "0.4.1.bn2.running_var", "0.4.1.bn2.num_batches_tracked", "0.5.0.conv1.weight", "0.5.0.bn1.weight", "0.5.0.bn1.bias", "0.5.0.bn1.running_mean", "0.5.0.bn1.running_var", "0.5.0.bn1.num_batches_tracked", "0.5.0.conv2.weight", "0.5.0.bn2.weight", "0.5.0.bn2.bias", "0.5.0.bn2.running_mean", "0.5.0.bn2.running_var", "0.5.0.bn2.num_batches_tracked", "0.5.0.downsample.0.weight", "0.5.0.downsample.1.weight", "0.5.0.downsample.1.bias", "0.5.0.downsample.1.running_mean", "0.5.0.downsample.1.running_var", "0.5.0.downsample.1.num_batches_tracked", "0.5.1.conv1.weight", "0.5.1.bn1.weight", "0.5.1.bn1.bias", "0.5.1.bn1.running_mean", "0.5.1.bn1.running_var", "0.5.1.bn1.num_batches_tracked", "0.5.1.conv2.weight", "0.5.1.bn2.weight", "0.5.1.bn2.bias", "0.5.1.bn2.running_mean", "0.5.1.bn2.running_var", "0.5.1.bn2.num_batches_tracked", "0.6.0.conv1.weight", "0.6.0.bn1.weight", "0.6.0.bn1.bias", "0.6.0.bn1.running_mean", "0.6.0.bn1.running_var", "0.6.0.bn1.num_batches_tracked", "0.6.0.conv2.weight", "0.6.0.bn2.weight", "0.6.0.bn2.bias", "0.6.0.bn2.running_mean", "0.6.0.bn2.running_var", "0.6.0.bn2.num_batches_tracked", "0.6.0.downsample.0.weight", "0.6.0.downsample.1.weight", "0.6.0.downsample.1.bias", "0.6.0.downsample.1.running_mean", "0.6.0.downsample.1.running_var", "0.6.0.downsample.1.num_batches_tracked", "0.6.1.conv1.weight", "0.6.1.bn1.weight", "0.6.1.bn1.bias", "0.6.1.bn1.running_mean", "0.6.1.bn1.running_var", "0.6.1.bn1.num_batches_tracked", "0.6.1.conv2.weight", "0.6.1.bn2.weight", "0.6.1.bn2.bias", "0.6.1.bn2.running_mean", "0.6.1.bn2.running_var", "0.6.1.bn2.num_batches_tracked", "0.7.0.conv1.weight", "0.7.0.bn1.weight", "0.7.0.bn1.bias", "0.7.0.bn1.running_mean", "0.7.0.bn1.running_var", "0.7.0.bn1.num_batches_tracked", "0.7.0.conv2.weight", "0.7.0.bn2.weight", "0.7.0.bn2.bias", "0.7.0.bn2.running_mean", "0.7.0.bn2.running_var", "0.7.0.bn2.num_batches_tracked", "0.7.0.downsample.0.weight", "0.7.0.downsample.1.weight", "0.7.0.downsample.1.bias", "0.7.0.downsample.1.running_mean", "0.7.0.downsample.1.running_var", "0.7.0.downsample.1.num_batches_tracked", "0.7.1.conv1.weight", "0.7.1.bn1.weight", "0.7.1.bn1.bias", "0.7.1.bn1.running_mean", "0.7.1.bn1.running_var", "0.7.1.bn1.num_batches_tracked", "0.7.1.conv2.weight", "0.7.1.bn2.weight", "0.7.1.bn2.bias", "0.7.1.bn2.running_mean", "0.7.1.bn2.running_var", "0.7.1.bn2.num_batches_tracked".
Here is part of my code:
def load(arch, size, item=Resize(480, method='squish'), accum=1):
dls = ImageDataLoaders.from_folder(trn_path,valid_pct=0.2, item_tfms=item,
batch_tfms=aug_transforms(size=size, min_scale=0.75), bs=100//accum)
gradient_accumulation = GradientAccumulation(64) if accum else []
learn = vision_learner(dls, arch, metrics=error_rate,
cbs=[gradient_accumulation])
learn.load(f'{arch}',with_opt=True)
return learn.tta(dl=dls.test_dl(tst_files))
models = {
resnet18: {
(Resize(640, method='squish'), 480),
}}
tta_res = []
for arch,details in models.items():
for item,size in details:
print('---',arch)
print(type(arch))
print(size)
print(item.name)
tta_res.append(load(arch, size, item=item, accum=2)) #, epochs=1))
Thanks for your help @benkarr