Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error(s) in loading state_dict for PatchcoreLightning #523

Closed
Luksalos opened this issue Aug 29, 2022 · 13 comments
Closed

Error(s) in loading state_dict for PatchcoreLightning #523

Luksalos opened this issue Aug 29, 2022 · 13 comments
Assignees

Comments

@Luksalos
Copy link

Describe the bug

Running tools/inference/torch_inference.py throws:

Traceback (most recent call last):
  File "/workspace/tools/inference/torch_inference.py", line 97, in <module>
    infer()
  File "/workspace/tools/inference/torch_inference.py", line 73, in infer
    inferencer = TorchInferencer(config=args.config, model_source=args.weights)
  File "/workspace/anomalib/deploy/inferencers/torch_inferencer.py", line 54, in __init__
    self.model = self.load_model(model_source)
  File "/workspace/anomalib/deploy/inferencers/torch_inferencer.py", line 85, in load_model
    model.load_state_dict(torch.load(path)["state_dict"])
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1497, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for PatchcoreLightning:
	Unexpected key(s) in state_dict: "normalization_metrics.min", "normalization_metrics.max".

To Reproduce

  1. Using default patchcore/config.yaml
  2. Train the model: python tools/train.py --config anomalib/models/patchcore/config.yaml
  3. Use trained model for torch_inference:
python tools/inference/torch_inference.py \
--config anomalib/models/patchcore/config.yaml \
--weights results/patchcore/mvtec/bottle/weights/model-v14.ckpt \
--input datasets/MVTec/bottle/test/broken_large/000.png \
--output results/patchcore/mvtec/bottle/images

Additional context

Error is present since commit d6951eb

@djdameln
Copy link
Contributor

@ashwinvaidya17 can you have a look at this? It seems to be related to the normalization redesign

@alexriedel1
Copy link
Contributor

The normalization callback setup is not called before the model state dict loading in torch_inference.py

@alevangel
Copy link

I'm having a simlar issue, here the runtime error:

RuntimeError: Error(s) in loading state_dict for PatchcoreLightning:
	Missing key(s) in state_dict: "model.feature_extractor.feature_extractor.conv1.weight", "model.feature_extractor.feature_extractor.bn1.weight", "model.feature_extractor.feature_extractor.bn1.bias", "model.feature_extractor.feature_extractor.bn1.running_mean", "model.feature_extractor.feature_extractor.bn1.running_var", "model.feature_extractor.feature_extractor.layer1.0.conv1.weight", "model.feature_extractor.feature_extractor.layer1.0.bn1.weight", "model.feature_extractor.feature_extractor.layer1.0.bn1.bias", "model.feature_extractor.feature_extractor.layer1.0.bn1.running_mean", "model.feature_extractor.feature_extractor.layer1.0.bn1.running_var", "model.feature_extractor.feature_extractor.layer1.0.conv2.weight", "model.feature_extractor.feature_extractor.layer1.0.bn2.weight", "model.feature_extractor.feature_extractor.layer1.0.bn2.bias", "model.feature_extractor.feature_extractor.layer1.0.bn2.running_mean", "model.feature_extractor.feature_extractor.layer1.0.bn2.running_var", "model.feature_extractor.feature_extractor.layer1.0.conv3.weight", "model.feature_extractor.feature_extractor.layer1.0.bn3.weight", "model.feature_extractor.feature_extractor.layer1.0.bn3.bias", "model.feature_extractor.feature_extractor.layer1.0.bn3.running_mean", "model.feature_extractor.feature_extractor.layer1.0.bn3.running_var", "model.feature_extractor.feature_extractor.layer1.0.downsample.0.weight", "model.feature_extractor.feature_extractor.layer1.0.downsample.1.weight", "model.feature_extractor.feature_extractor.layer1.0.downsample.1.bias", "model.feature_extractor.feature_extractor.layer1.0.downsample.1.running_mean", "model.feature_extractor.feature_extractor.layer1.0.downsample.1.running_var", "model.feature_extractor.feature_extractor.layer1.1.conv1.weight", "model.feature_extractor.feature_extractor.layer1.1.bn1.weight", "model.feature_extractor.feature_extractor.layer1.1.bn1.bias", "model.feature_extractor.feature_extractor.layer1.1.bn1.running_mean", "model.feature_extractor.feature_extractor.layer1.1.bn1.running_var", "model.feature_extractor.feature_extractor.layer1.1.conv2.weight", "model.feature_extractor.feature_extractor.layer1.1.bn2.weight", "model.feature_extractor.feature_extractor.layer1.1.bn2.bias", "model.feature_extractor.feature_extractor.layer1.1.bn2.running_mean", "model.feature_extractor.feature_extractor.layer1.1.bn2.running_var", "model.feature_extractor.feature_extractor.layer1.1.conv3.weight", "model.feature_extractor.feature_extractor.layer1.1.bn3.weight", "model.feature_extractor.feature_extractor.layer1.1.bn3.bias", "model.feature_extractor.feature_extractor.layer1.1.bn3.running_mean", "model.feature_extractor.feature_extractor.layer1.1.bn3.running_var", "model.feature_extractor.feature_extractor.layer1.2.conv1.weight", "model.feature_extractor.feature_extractor.layer1.2.bn1.weight", "model.feature_extractor.feature_extractor.layer1.2.bn1.bias", "model.feature_extractor.feature_extractor.layer1.2.bn1.running_mean", "model.feature_extractor.feature_extractor.layer1.2.bn1.running_var", "model.feature_extractor.feature_extractor.layer1.2.conv2.weight", "model.feature_extractor.feature_extractor.layer1.2.bn2.weight", "model.feature_extractor.feature_extractor.layer1.2.bn2.bias", "model.feature_extractor.feature_extractor.layer1.2.bn2.running_mean", "model.feature_extractor.feature_extractor.layer1.2.bn2.running_var", "model.feature_extractor.feature_extractor.layer1.2.conv3.weight", "model.feature_extractor.feature_extractor.layer1.2.bn3.weight", "model.feature_extractor.feature_extractor.layer1.2.bn3.bias", "model.feature_extractor.feature_extractor.layer1.2.bn3.running_mean", "model.feature_extractor.feature_extractor.layer1.2.bn3.running_var", "model.feature_extractor.feature_extractor.layer2.0.conv1.weight", "model.feature_extractor.feature_extractor.layer2.0.bn1.weight", "model.feature_extractor.feature_extractor.layer2.0.bn1.bias", "model.feature_extractor.feature_extractor.layer2.0.bn1.running_mean", "model.feature_extractor.feature_extractor.layer2.0.bn1.running_var", "model.feature_extractor.feature_extractor.layer2.0.conv2.weight", "model.feature_extractor.feature_extractor.layer2.0.bn2.weight", "model.feature_extractor.feature_extractor.layer2.0.bn2.bias", "model.feature_extractor.feature_extractor.layer2.0.bn2.running_mean", "model.feature_extractor.feature_extractor.layer2.0.bn2.running_var", "model.feature_extractor.feature_extractor.layer2.0.conv3.weight", "model.feature_extractor.feature_extractor.layer2.0.bn3.weight", "model.feature_extractor.feature_extractor.layer2.0.bn3.bias", "model.feature_extractor.feature_extractor.layer2.0.bn3.running_mean", "model.feature_extractor.feature_extractor.layer2.0.bn3.running_var", "model.feature_extractor.feature_extractor.layer2.0.downsample.0.weight", "model.feature_extractor.feature_extractor.layer2.0.downsample.1.weight", "model.feature_extractor.feature_extractor.layer2.0.downsample.1.bias", "model.feature_extractor.feature_extractor.layer2.0.downsample.1.running_mean", "model.feature_extractor.feature_extractor.layer2.0.downsample.1.running_var", "model.feature_extractor.feature_extractor.layer2.1.conv1.weight", "model.feature_extractor.feature_extractor.layer2.1.bn1.weight", "model.feature_extractor.feature_extractor.layer2.1.bn1.bias", "model.feature_extractor.feature_extractor.layer2.1.bn1.running_mean", "model.feature_extractor.feature_extractor.layer2.1.bn1.running_var", "model.feature_extractor.feature_extractor.layer2.1.conv2.weight", "model.feature_extractor.feature_extractor.layer2.1.bn2.weight", "model.feature_extractor.feature_extractor.layer2.1.bn2.bias", "model.feature_extractor.feature_extractor.layer2.1.bn2.running_mean", "model.feature_extractor.feature_extractor.layer2.1.bn2.running_var", "model.feature_extractor.feature_extractor.layer2.1.conv3.weight", "model.feature_extractor.feature_extractor.layer2.1.bn3.weight", "model.feature_extractor.feature_extractor.layer2.1.bn3.bias", "model.feature_extractor.feature_extractor.layer2.1.bn3.running_mean", "model.feature_extractor.feature_extractor.layer2.1.bn3.running_var", "model.feature_extractor.feature_extractor.layer2.2.conv1.weight", "model.feature_extractor.feature_extractor.layer2.2.bn1.weight", "model.feature_extractor.feature_extractor.layer2.2.bn1.bias", "model.feature_extractor.feature_extractor.layer2.2.bn1.running_mean", "model.feature_extractor.feature_extractor.layer2.2.bn1.running_var", "model.feature_extractor.feature_extractor.layer2.2.conv2.weight", "model.feature_extractor.feature_extractor.layer2.2.bn2.weight", "model.feature_extractor.feature_extractor.layer2.2.bn2.bias", "model.feature_extractor.feature_extractor.layer2.2.bn2.running_mean", "model.feature_extractor.feature_extractor.layer2.2.bn2.running_var", "model.feature_extractor.feature_extractor.layer2.2.conv3.weight", "model.feature_extractor.feature_extractor.layer2.2.bn3.weight", "model.feature_extractor.feature_extractor.layer2.2.bn3.bias", "model.feature_extractor.feature_extractor.layer2.2.bn3.running_mean", "model.feature_extractor.feature_extractor.layer2.2.bn3.running_var", "model.feature_extractor.feature_extractor.layer2.3.conv1.weight", "model.feature_extractor.feature_extractor.layer2.3.bn1.weight", "model.feature_extractor.feature_extractor.layer2.3.bn1.bias", "model.feature_extractor.feature_extractor.layer2.3.bn1.running_mean", "model.feature_extractor.feature_extractor.layer2.3.bn1.running_var", "model.feature_extractor.feature_extractor.layer2.3.conv2.weight", "model.feature_extractor.feature_extractor.layer2.3.bn2.weight", "model.feature_extractor.feature_extractor.layer2.3.bn2.bias", "model.feature_extractor.feature_extractor.layer2.3.bn2.running_mean", "model.feature_extractor.feature_extractor.layer2.3.bn2.running_var", "model.feature_extractor.feature_extractor.layer2.3.conv3.weight", "model.feature_extractor.feature_extractor.layer2.3.bn3.weight", "model.feature_extractor.feature_extractor.layer2.3.bn3.bias", "model.feature_extractor.feature_extractor.layer2.3.bn3.running_mean", "model.feature_extractor.feature_extractor.layer2.3.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.0.conv1.weight", "model.feature_extractor.feature_extractor.layer3.0.bn1.weight", "model.feature_extractor.feature_extractor.layer3.0.bn1.bias", "model.feature_extractor.feature_extractor.layer3.0.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.0.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.0.conv2.weight", "model.feature_extractor.feature_extractor.layer3.0.bn2.weight", "model.feature_extractor.feature_extractor.layer3.0.bn2.bias", "model.feature_extractor.feature_extractor.layer3.0.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.0.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.0.conv3.weight", "model.feature_extractor.feature_extractor.layer3.0.bn3.weight", "model.feature_extractor.feature_extractor.layer3.0.bn3.bias", "model.feature_extractor.feature_extractor.layer3.0.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.0.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.0.downsample.0.weight", "model.feature_extractor.feature_extractor.layer3.0.downsample.1.weight", "model.feature_extractor.feature_extractor.layer3.0.downsample.1.bias", "model.feature_extractor.feature_extractor.layer3.0.downsample.1.running_mean", "model.feature_extractor.feature_extractor.layer3.0.downsample.1.running_var", "model.feature_extractor.feature_extractor.layer3.1.conv1.weight", "model.feature_extractor.feature_extractor.layer3.1.bn1.weight", "model.feature_extractor.feature_extractor.layer3.1.bn1.bias", "model.feature_extractor.feature_extractor.layer3.1.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.1.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.1.conv2.weight", "model.feature_extractor.feature_extractor.layer3.1.bn2.weight", "model.feature_extractor.feature_extractor.layer3.1.bn2.bias", "model.feature_extractor.feature_extractor.layer3.1.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.1.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.1.conv3.weight", "model.feature_extractor.feature_extractor.layer3.1.bn3.weight", "model.feature_extractor.feature_extractor.layer3.1.bn3.bias", "model.feature_extractor.feature_extractor.layer3.1.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.1.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.2.conv1.weight", "model.feature_extractor.feature_extractor.layer3.2.bn1.weight", "model.feature_extractor.feature_extractor.layer3.2.bn1.bias", "model.feature_extractor.feature_extractor.layer3.2.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.2.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.2.conv2.weight", "model.feature_extractor.feature_extractor.layer3.2.bn2.weight", "model.feature_extractor.feature_extractor.layer3.2.bn2.bias", "model.feature_extractor.feature_extractor.layer3.2.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.2.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.2.conv3.weight", "model.feature_extractor.feature_extractor.layer3.2.bn3.weight", "model.feature_extractor.feature_extractor.layer3.2.bn3.bias", "model.feature_extractor.feature_extractor.layer3.2.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.2.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.3.conv1.weight", "model.feature_extractor.feature_extractor.layer3.3.bn1.weight", "model.feature_extractor.feature_extractor.layer3.3.bn1.bias", "model.feature_extractor.feature_extractor.layer3.3.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.3.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.3.conv2.weight", "model.feature_extractor.feature_extractor.layer3.3.bn2.weight", "model.feature_extractor.feature_extractor.layer3.3.bn2.bias", "model.feature_extractor.feature_extractor.layer3.3.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.3.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.3.conv3.weight", "model.feature_extractor.feature_extractor.layer3.3.bn3.weight", "model.feature_extractor.feature_extractor.layer3.3.bn3.bias", "model.feature_extractor.feature_extractor.layer3.3.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.3.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.4.conv1.weight", "model.feature_extractor.feature_extractor.layer3.4.bn1.weight", "model.feature_extractor.feature_extractor.layer3.4.bn1.bias", "model.feature_extractor.feature_extractor.layer3.4.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.4.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.4.conv2.weight", "model.feature_extractor.feature_extractor.layer3.4.bn2.weight", "model.feature_extractor.feature_extractor.layer3.4.bn2.bias", "model.feature_extractor.feature_extractor.layer3.4.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.4.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.4.conv3.weight", "model.feature_extractor.feature_extractor.layer3.4.bn3.weight", "model.feature_extractor.feature_extractor.layer3.4.bn3.bias", "model.feature_extractor.feature_extractor.layer3.4.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.4.bn3.running_var", "model.feature_extractor.feature_extractor.layer3.5.conv1.weight", "model.feature_extractor.feature_extractor.layer3.5.bn1.weight", "model.feature_extractor.feature_extractor.layer3.5.bn1.bias", "model.feature_extractor.feature_extractor.layer3.5.bn1.running_mean", "model.feature_extractor.feature_extractor.layer3.5.bn1.running_var", "model.feature_extractor.feature_extractor.layer3.5.conv2.weight", "model.feature_extractor.feature_extractor.layer3.5.bn2.weight", "model.feature_extractor.feature_extractor.layer3.5.bn2.bias", "model.feature_extractor.feature_extractor.layer3.5.bn2.running_mean", "model.feature_extractor.feature_extractor.layer3.5.bn2.running_var", "model.feature_extractor.feature_extractor.layer3.5.conv3.weight", "model.feature_extractor.feature_extractor.layer3.5.bn3.weight", "model.feature_extractor.feature_extractor.layer3.5.bn3.bias", "model.feature_extractor.feature_extractor.layer3.5.bn3.running_mean", "model.feature_extractor.feature_extractor.layer3.5.bn3.running_var", "model.anomaly_map_generator.blur.kernel". 
	Unexpected key(s) in state_dict: "training_distribution.image_mean", "training_distribution.image_std", "training_distribution.pixel_mean", "training_distribution.pixel_std", "min_max.min", "min_max.max", "model.feature_extractor.backbone.conv1.weight", "model.feature_extractor.backbone.bn1.weight", "model.feature_extractor.backbone.bn1.bias", "model.feature_extractor.backbone.bn1.running_mean", "model.feature_extractor.backbone.bn1.running_var", "model.feature_extractor.backbone.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer1.0.conv1.weight", "model.feature_extractor.backbone.layer1.0.bn1.weight", "model.feature_extractor.backbone.layer1.0.bn1.bias", "model.feature_extractor.backbone.layer1.0.bn1.running_mean", "model.feature_extractor.backbone.layer1.0.bn1.running_var", "model.feature_extractor.backbone.layer1.0.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer1.0.conv2.weight", "model.feature_extractor.backbone.layer1.0.bn2.weight", "model.feature_extractor.backbone.layer1.0.bn2.bias", "model.feature_extractor.backbone.layer1.0.bn2.running_mean", "model.feature_extractor.backbone.layer1.0.bn2.running_var", "model.feature_extractor.backbone.layer1.0.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer1.0.conv3.weight", "model.feature_extractor.backbone.layer1.0.bn3.weight", "model.feature_extractor.backbone.layer1.0.bn3.bias", "model.feature_extractor.backbone.layer1.0.bn3.running_mean", "model.feature_extractor.backbone.layer1.0.bn3.running_var", "model.feature_extractor.backbone.layer1.0.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer1.0.downsample.0.weight", "model.feature_extractor.backbone.layer1.0.downsample.1.weight", "model.feature_extractor.backbone.layer1.0.downsample.1.bias", "model.feature_extractor.backbone.layer1.0.downsample.1.running_mean", "model.feature_extractor.backbone.layer1.0.downsample.1.running_var", "model.feature_extractor.backbone.layer1.0.downsample.1.num_batches_tracked", "model.feature_extractor.backbone.layer1.1.conv1.weight", "model.feature_extractor.backbone.layer1.1.bn1.weight", "model.feature_extractor.backbone.layer1.1.bn1.bias", "model.feature_extractor.backbone.layer1.1.bn1.running_mean", "model.feature_extractor.backbone.layer1.1.bn1.running_var", "model.feature_extractor.backbone.layer1.1.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer1.1.conv2.weight", "model.feature_extractor.backbone.layer1.1.bn2.weight", "model.feature_extractor.backbone.layer1.1.bn2.bias", "model.feature_extractor.backbone.layer1.1.bn2.running_mean", "model.feature_extractor.backbone.layer1.1.bn2.running_var", "model.feature_extractor.backbone.layer1.1.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer1.1.conv3.weight", "model.feature_extractor.backbone.layer1.1.bn3.weight", "model.feature_extractor.backbone.layer1.1.bn3.bias", "model.feature_extractor.backbone.layer1.1.bn3.running_mean", "model.feature_extractor.backbone.layer1.1.bn3.running_var", "model.feature_extractor.backbone.layer1.1.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer1.2.conv1.weight", "model.feature_extractor.backbone.layer1.2.bn1.weight", "model.feature_extractor.backbone.layer1.2.bn1.bias", "model.feature_extractor.backbone.layer1.2.bn1.running_mean", "model.feature_extractor.backbone.layer1.2.bn1.running_var", "model.feature_extractor.backbone.layer1.2.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer1.2.conv2.weight", "model.feature_extractor.backbone.layer1.2.bn2.weight", "model.feature_extractor.backbone.layer1.2.bn2.bias", "model.feature_extractor.backbone.layer1.2.bn2.running_mean", "model.feature_extractor.backbone.layer1.2.bn2.running_var", "model.feature_extractor.backbone.layer1.2.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer1.2.conv3.weight", "model.feature_extractor.backbone.layer1.2.bn3.weight", "model.feature_extractor.backbone.layer1.2.bn3.bias", "model.feature_extractor.backbone.layer1.2.bn3.running_mean", "model.feature_extractor.backbone.layer1.2.bn3.running_var", "model.feature_extractor.backbone.layer1.2.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer2.0.conv1.weight", "model.feature_extractor.backbone.layer2.0.bn1.weight", "model.feature_extractor.backbone.layer2.0.bn1.bias", "model.feature_extractor.backbone.layer2.0.bn1.running_mean", "model.feature_extractor.backbone.layer2.0.bn1.running_var", "model.feature_extractor.backbone.layer2.0.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer2.0.conv2.weight", "model.feature_extractor.backbone.layer2.0.bn2.weight", "model.feature_extractor.backbone.layer2.0.bn2.bias", "model.feature_extractor.backbone.layer2.0.bn2.running_mean", "model.feature_extractor.backbone.layer2.0.bn2.running_var", "model.feature_extractor.backbone.layer2.0.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer2.0.conv3.weight", "model.feature_extractor.backbone.layer2.0.bn3.weight", "model.feature_extractor.backbone.layer2.0.bn3.bias", "model.feature_extractor.backbone.layer2.0.bn3.running_mean", "model.feature_extractor.backbone.layer2.0.bn3.running_var", "model.feature_extractor.backbone.layer2.0.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer2.0.downsample.0.weight", "model.feature_extractor.backbone.layer2.0.downsample.1.weight", "model.feature_extractor.backbone.layer2.0.downsample.1.bias", "model.feature_extractor.backbone.layer2.0.downsample.1.running_mean", "model.feature_extractor.backbone.layer2.0.downsample.1.running_var", "model.feature_extractor.backbone.layer2.0.downsample.1.num_batches_tracked", "model.feature_extractor.backbone.layer2.1.conv1.weight", "model.feature_extractor.backbone.layer2.1.bn1.weight", "model.feature_extractor.backbone.layer2.1.bn1.bias", "model.feature_extractor.backbone.layer2.1.bn1.running_mean", "model.feature_extractor.backbone.layer2.1.bn1.running_var", "model.feature_extractor.backbone.layer2.1.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer2.1.conv2.weight", "model.feature_extractor.backbone.layer2.1.bn2.weight", "model.feature_extractor.backbone.layer2.1.bn2.bias", "model.feature_extractor.backbone.layer2.1.bn2.running_mean", "model.feature_extractor.backbone.layer2.1.bn2.running_var", "model.feature_extractor.backbone.layer2.1.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer2.1.conv3.weight", "model.feature_extractor.backbone.layer2.1.bn3.weight", "model.feature_extractor.backbone.layer2.1.bn3.bias", "model.feature_extractor.backbone.layer2.1.bn3.running_mean", "model.feature_extractor.backbone.layer2.1.bn3.running_var", "model.feature_extractor.backbone.layer2.1.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer2.2.conv1.weight", "model.feature_extractor.backbone.layer2.2.bn1.weight", "model.feature_extractor.backbone.layer2.2.bn1.bias", "model.feature_extractor.backbone.layer2.2.bn1.running_mean", "model.feature_extractor.backbone.layer2.2.bn1.running_var", "model.feature_extractor.backbone.layer2.2.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer2.2.conv2.weight", "model.feature_extractor.backbone.layer2.2.bn2.weight", "model.feature_extractor.backbone.layer2.2.bn2.bias", "model.feature_extractor.backbone.layer2.2.bn2.running_mean", "model.feature_extractor.backbone.layer2.2.bn2.running_var", "model.feature_extractor.backbone.layer2.2.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer2.2.conv3.weight", "model.feature_extractor.backbone.layer2.2.bn3.weight", "model.feature_extractor.backbone.layer2.2.bn3.bias", "model.feature_extractor.backbone.layer2.2.bn3.running_mean", "model.feature_extractor.backbone.layer2.2.bn3.running_var", "model.feature_extractor.backbone.layer2.2.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer2.3.conv1.weight", "model.feature_extractor.backbone.layer2.3.bn1.weight", "model.feature_extractor.backbone.layer2.3.bn1.bias", "model.feature_extractor.backbone.layer2.3.bn1.running_mean", "model.feature_extractor.backbone.layer2.3.bn1.running_var", "model.feature_extractor.backbone.layer2.3.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer2.3.conv2.weight", "model.feature_extractor.backbone.layer2.3.bn2.weight", "model.feature_extractor.backbone.layer2.3.bn2.bias", "model.feature_extractor.backbone.layer2.3.bn2.running_mean", "model.feature_extractor.backbone.layer2.3.bn2.running_var", "model.feature_extractor.backbone.layer2.3.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer2.3.conv3.weight", "model.feature_extractor.backbone.layer2.3.bn3.weight", "model.feature_extractor.backbone.layer2.3.bn3.bias", "model.feature_extractor.backbone.layer2.3.bn3.running_mean", "model.feature_extractor.backbone.layer2.3.bn3.running_var", "model.feature_extractor.backbone.layer2.3.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.0.conv1.weight", "model.feature_extractor.backbone.layer3.0.bn1.weight", "model.feature_extractor.backbone.layer3.0.bn1.bias", "model.feature_extractor.backbone.layer3.0.bn1.running_mean", "model.feature_extractor.backbone.layer3.0.bn1.running_var", "model.feature_extractor.backbone.layer3.0.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.0.conv2.weight", "model.feature_extractor.backbone.layer3.0.bn2.weight", "model.feature_extractor.backbone.layer3.0.bn2.bias", "model.feature_extractor.backbone.layer3.0.bn2.running_mean", "model.feature_extractor.backbone.layer3.0.bn2.running_var", "model.feature_extractor.backbone.layer3.0.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.0.conv3.weight", "model.feature_extractor.backbone.layer3.0.bn3.weight", "model.feature_extractor.backbone.layer3.0.bn3.bias", "model.feature_extractor.backbone.layer3.0.bn3.running_mean", "model.feature_extractor.backbone.layer3.0.bn3.running_var", "model.feature_extractor.backbone.layer3.0.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.0.downsample.0.weight", "model.feature_extractor.backbone.layer3.0.downsample.1.weight", "model.feature_extractor.backbone.layer3.0.downsample.1.bias", "model.feature_extractor.backbone.layer3.0.downsample.1.running_mean", "model.feature_extractor.backbone.layer3.0.downsample.1.running_var", "model.feature_extractor.backbone.layer3.0.downsample.1.num_batches_tracked", "model.feature_extractor.backbone.layer3.1.conv1.weight", "model.feature_extractor.backbone.layer3.1.bn1.weight", "model.feature_extractor.backbone.layer3.1.bn1.bias", "model.feature_extractor.backbone.layer3.1.bn1.running_mean", "model.feature_extractor.backbone.layer3.1.bn1.running_var", "model.feature_extractor.backbone.layer3.1.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.1.conv2.weight", "model.feature_extractor.backbone.layer3.1.bn2.weight", "model.feature_extractor.backbone.layer3.1.bn2.bias", "model.feature_extractor.backbone.layer3.1.bn2.running_mean", "model.feature_extractor.backbone.layer3.1.bn2.running_var", "model.feature_extractor.backbone.layer3.1.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.1.conv3.weight", "model.feature_extractor.backbone.layer3.1.bn3.weight", "model.feature_extractor.backbone.layer3.1.bn3.bias", "model.feature_extractor.backbone.layer3.1.bn3.running_mean", "model.feature_extractor.backbone.layer3.1.bn3.running_var", "model.feature_extractor.backbone.layer3.1.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.2.conv1.weight", "model.feature_extractor.backbone.layer3.2.bn1.weight", "model.feature_extractor.backbone.layer3.2.bn1.bias", "model.feature_extractor.backbone.layer3.2.bn1.running_mean", "model.feature_extractor.backbone.layer3.2.bn1.running_var", "model.feature_extractor.backbone.layer3.2.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.2.conv2.weight", "model.feature_extractor.backbone.layer3.2.bn2.weight", "model.feature_extractor.backbone.layer3.2.bn2.bias", "model.feature_extractor.backbone.layer3.2.bn2.running_mean", "model.feature_extractor.backbone.layer3.2.bn2.running_var", "model.feature_extractor.backbone.layer3.2.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.2.conv3.weight", "model.feature_extractor.backbone.layer3.2.bn3.weight", "model.feature_extractor.backbone.layer3.2.bn3.bias", "model.feature_extractor.backbone.layer3.2.bn3.running_mean", "model.feature_extractor.backbone.layer3.2.bn3.running_var", "model.feature_extractor.backbone.layer3.2.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.3.conv1.weight", "model.feature_extractor.backbone.layer3.3.bn1.weight", "model.feature_extractor.backbone.layer3.3.bn1.bias", "model.feature_extractor.backbone.layer3.3.bn1.running_mean", "model.feature_extractor.backbone.layer3.3.bn1.running_var", "model.feature_extractor.backbone.layer3.3.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.3.conv2.weight", "model.feature_extractor.backbone.layer3.3.bn2.weight", "model.feature_extractor.backbone.layer3.3.bn2.bias", "model.feature_extractor.backbone.layer3.3.bn2.running_mean", "model.feature_extractor.backbone.layer3.3.bn2.running_var", "model.feature_extractor.backbone.layer3.3.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.3.conv3.weight", "model.feature_extractor.backbone.layer3.3.bn3.weight", "model.feature_extractor.backbone.layer3.3.bn3.bias", "model.feature_extractor.backbone.layer3.3.bn3.running_mean", "model.feature_extractor.backbone.layer3.3.bn3.running_var", "model.feature_extractor.backbone.layer3.3.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.4.conv1.weight", "model.feature_extractor.backbone.layer3.4.bn1.weight", "model.feature_extractor.backbone.layer3.4.bn1.bias", "model.feature_extractor.backbone.layer3.4.bn1.running_mean", "model.feature_extractor.backbone.layer3.4.bn1.running_var", "model.feature_extractor.backbone.layer3.4.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.4.conv2.weight", "model.feature_extractor.backbone.layer3.4.bn2.weight", "model.feature_extractor.backbone.layer3.4.bn2.bias", "model.feature_extractor.backbone.layer3.4.bn2.running_mean", "model.feature_extractor.backbone.layer3.4.bn2.running_var", "model.feature_extractor.backbone.layer3.4.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.4.conv3.weight", "model.feature_extractor.backbone.layer3.4.bn3.weight", "model.feature_extractor.backbone.layer3.4.bn3.bias", "model.feature_extractor.backbone.layer3.4.bn3.running_mean", "model.feature_extractor.backbone.layer3.4.bn3.running_var", "model.feature_extractor.backbone.layer3.4.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer3.5.conv1.weight", "model.feature_extractor.backbone.layer3.5.bn1.weight", "model.feature_extractor.backbone.layer3.5.bn1.bias", "model.feature_extractor.backbone.layer3.5.bn1.running_mean", "model.feature_extractor.backbone.layer3.5.bn1.running_var", "model.feature_extractor.backbone.layer3.5.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer3.5.conv2.weight", "model.feature_extractor.backbone.layer3.5.bn2.weight", "model.feature_extractor.backbone.layer3.5.bn2.bias", "model.feature_extractor.backbone.layer3.5.bn2.running_mean", "model.feature_extractor.backbone.layer3.5.bn2.running_var", "model.feature_extractor.backbone.layer3.5.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer3.5.conv3.weight", "model.feature_extractor.backbone.layer3.5.bn3.weight", "model.feature_extractor.backbone.layer3.5.bn3.bias", "model.feature_extractor.backbone.layer3.5.bn3.running_mean", "model.feature_extractor.backbone.layer3.5.bn3.running_var", "model.feature_extractor.backbone.layer3.5.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer4.0.conv1.weight", "model.feature_extractor.backbone.layer4.0.bn1.weight", "model.feature_extractor.backbone.layer4.0.bn1.bias", "model.feature_extractor.backbone.layer4.0.bn1.running_mean", "model.feature_extractor.backbone.layer4.0.bn1.running_var", "model.feature_extractor.backbone.layer4.0.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer4.0.conv2.weight", "model.feature_extractor.backbone.layer4.0.bn2.weight", "model.feature_extractor.backbone.layer4.0.bn2.bias", "model.feature_extractor.backbone.layer4.0.bn2.running_mean", "model.feature_extractor.backbone.layer4.0.bn2.running_var", "model.feature_extractor.backbone.layer4.0.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer4.0.conv3.weight", "model.feature_extractor.backbone.layer4.0.bn3.weight", "model.feature_extractor.backbone.layer4.0.bn3.bias", "model.feature_extractor.backbone.layer4.0.bn3.running_mean", "model.feature_extractor.backbone.layer4.0.bn3.running_var", "model.feature_extractor.backbone.layer4.0.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer4.0.downsample.0.weight", "model.feature_extractor.backbone.layer4.0.downsample.1.weight", "model.feature_extractor.backbone.layer4.0.downsample.1.bias", "model.feature_extractor.backbone.layer4.0.downsample.1.running_mean", "model.feature_extractor.backbone.layer4.0.downsample.1.running_var", "model.feature_extractor.backbone.layer4.0.downsample.1.num_batches_tracked", "model.feature_extractor.backbone.layer4.1.conv1.weight", "model.feature_extractor.backbone.layer4.1.bn1.weight", "model.feature_extractor.backbone.layer4.1.bn1.bias", "model.feature_extractor.backbone.layer4.1.bn1.running_mean", "model.feature_extractor.backbone.layer4.1.bn1.running_var", "model.feature_extractor.backbone.layer4.1.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer4.1.conv2.weight", "model.feature_extractor.backbone.layer4.1.bn2.weight", "model.feature_extractor.backbone.layer4.1.bn2.bias", "model.feature_extractor.backbone.layer4.1.bn2.running_mean", "model.feature_extractor.backbone.layer4.1.bn2.running_var", "model.feature_extractor.backbone.layer4.1.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer4.1.conv3.weight", "model.feature_extractor.backbone.layer4.1.bn3.weight", "model.feature_extractor.backbone.layer4.1.bn3.bias", "model.feature_extractor.backbone.layer4.1.bn3.running_mean", "model.feature_extractor.backbone.layer4.1.bn3.running_var", "model.feature_extractor.backbone.layer4.1.bn3.num_batches_tracked", "model.feature_extractor.backbone.layer4.2.conv1.weight", "model.feature_extractor.backbone.layer4.2.bn1.weight", "model.feature_extractor.backbone.layer4.2.bn1.bias", "model.feature_extractor.backbone.layer4.2.bn1.running_mean", "model.feature_extractor.backbone.layer4.2.bn1.running_var", "model.feature_extractor.backbone.layer4.2.bn1.num_batches_tracked", "model.feature_extractor.backbone.layer4.2.conv2.weight", "model.feature_extractor.backbone.layer4.2.bn2.weight", "model.feature_extractor.backbone.layer4.2.bn2.bias", "model.feature_extractor.backbone.layer4.2.bn2.running_mean", "model.feature_extractor.backbone.layer4.2.bn2.running_var", "model.feature_extractor.backbone.layer4.2.bn2.num_batches_tracked", "model.feature_extractor.backbone.layer4.2.conv3.weight", "model.feature_extractor.backbone.layer4.2.bn3.weight", "model.feature_extractor.backbone.layer4.2.bn3.bias", "model.feature_extractor.backbone.layer4.2.bn3.running_mean", "model.feature_extractor.backbone.layer4.2.bn3.running_var", "model.feature_extractor.backbone.layer4.2.bn3.num_batches_tracked", "model.feature_extractor.backbone.fc.weight", "model.feature_extractor.backbone.fc.bias". 

And this is the code I'm using:


        config = get_configurable_parameters(config_path=my_args['config'])
        config.trainer.resume_from_checkpoint = str(my_args['weights'])
        config.visualization.show_images = my_args['show']
        config.visualization.mode = my_args['visualization_mode']
        if my_args['output']:  # overwrite save path
            config.visualization.save_images = True
            config.visualization.image_save_path = my_args['output']
        else:
            config.visualization.save_images = False

        model = get_model(config)
        callbacks = get_callbacks(config)

        trainer = Trainer(callbacks=callbacks, **config.trainer)

        transform_config = config.dataset.transform_config.val if "transform_config" in config.dataset.keys() else None
        dataset = InferenceDataset(
            my_args['input'], image_size=tuple(config.dataset.image_size), transform_config=transform_config
        )
        dataloader = DataLoader(dataset)
        trainer.predict(model=model, dataloaders=[dataloader])

With weights trained on Colab, and doing inference on CPU. This is the models/patchcore/config.yaml file, almost standard:

dataset:
  name: mvtec #options: [mvtec, btech, folder]
  format: mvtec
  path: ./datasets/Tesmec
  task: segmentation
  category: rocks
  image_size: 448
  train_batch_size: 32
  test_batch_size: 1
  num_workers: 8
  transform_config:
    train: null
    val: null
  create_validation_set: false
  tiling:
    apply: false
    tile_size: 64
    stride: null
    remove_border_count: 0
    use_random_tiling: False
    random_tile_count: 16

model:
  name: patchcore
  backbone: wide_resnet50_2
  pre_trained: true
  layers:
    - layer1
    - layer2
    - layer3
  coreset_sampling_ratio: 0.1
  num_neighbors: 9
  normalization_method: min_max # options: [null, min_max, cdf]

metrics:
  image:
    - F1Score
    - AUROC
  pixel:
    - F1Score
    - AUROC
  threshold:
    image_default: 0
    pixel_default: 0
    adaptive: true

visualization:
  show_images: False # show images on the screen
  save_images: True # save images to the file system
  log_images: True # log images to the available loggers (if any)
  image_save_path: null # path to which images will be saved
  mode: full # options: ["full", "simple"]

project:
  seed: 42
  path: ./results

logging:
  logger: [] # options: [tensorboard, wandb, csv] or combinations.
  log_graph: false # Logs the model graph to respective logger.

optimization:
  export_mode: null # options: onnx, openvino

# PL Trainer Args. Don't add extra parameter here.
trainer:
  accelerator: auto # <"cpu", "gpu", "tpu", "ipu", "hpu", "auto">
  accumulate_grad_batches: 1
  amp_backend: native
  auto_lr_find: false
  auto_scale_batch_size: false
  auto_select_gpus: false
  benchmark: false
  check_val_every_n_epoch: 1 # Don't validate before extracting features.
  default_root_dir: null
  detect_anomaly: false
  deterministic: false
  devices: 1
  enable_checkpointing: true
  enable_model_summary: true
  enable_progress_bar: true
  fast_dev_run: false
  gpus: null # Set automatically
  gradient_clip_val: 0
  ipus: null
  limit_predict_batches: 1.0
  limit_test_batches: 1.0
  limit_train_batches: 1.0
  limit_val_batches: 1.0
  log_every_n_steps: 50
  log_gpu_memory: null
  max_epochs: 1
  max_steps: -1
  max_time: null
  min_epochs: null
  min_steps: null
  move_metrics_to_cpu: false
  multiple_trainloader_mode: max_size_cycle
  num_nodes: 1
  num_processes: null
  num_sanity_val_steps: 0
  overfit_batches: 0.0
  plugins: null
  precision: 32
  profiler: null
  reload_dataloaders_every_n_epochs: 0
  replace_sampler_ddp: true
  strategy: null
  sync_batchnorm: false
  tpu_cores: null
  track_grad_norm: -1
  val_check_interval: 1.0 # Don't validate before extracting features.

@alexriedel1
Copy link
Contributor

@alevangel you might have not installed the same anomalib version on colab and locally where your are running your inference

@alevangel
Copy link

@alexriedel1 on Colab I'm doing:
!git clone https://github.com/openvinotoolkit/anomalib

While on local I'm on the last commit of the main branch, SHA:
bd369190cdb49f22a22ebd058ea4af46f50aee26

Those versions are not the same?

@alexriedel1
Copy link
Contributor

alexriedel1 commented Sep 1, 2022

On loading the state dictionary, it looks like the saved model file was trained before using timm models for feature extraction:
Unexpected key(s) in state_dict: "model.feature_extractor.backbone.layer1.0.bn2.running_var"

Where as the model defined for loading the weights is the most recent one using the timm feature extractor:
Missing key(s) in state_dict: "model.feature_extractor.feature_extractor.layer1.0.bn2.running_var"

self.feature_extractor = timm.create_model(
backbone,
pretrained=pre_trained,
features_only=True,
exportable=True,
out_indices=self.idx,
)

Are you sure you trained the model with the most recent version of anomalib?

@alevangel
Copy link

alevangel commented Sep 1, 2022

@alexriedel1 I'm quite sure that I'm on the same commit on both sides:
!git checkout bd369190cdb49f22a22ebd058ea4af46f50aee26

And I'm training on colab with the method:
!python tools/train.py --model "patchcore"

Do you have weights for leather/patchcore trained with the most recent version? So that maybe I can try on my local to see if the problem persists.

@alexriedel1
Copy link
Contributor

Do you have weights for leather/patchcore trained with the most recent version? So that maybe I can try on my local.

Unfortunately I don't. Can you show the code you are using for loading the trained model?

@alevangel
Copy link

alevangel commented Sep 1, 2022

This is the full code that I'm using in local:

from pytorch_lightning import Trainer
from torch.utils.data import DataLoader

from anomalib.config import get_configurable_parameters
from anomalib.data.inference import InferenceDataset
from anomalib.models import get_model
from anomalib.utils.callbacks import get_callbacks

        my_args = {'config': 'anomalib/models/patchcore/config.yaml',
                   'weights': f'results/patchcore/mvtec/leather/weights/model.ckpt',
                   'input': file_path,
                   'output': 'app/static/results/',
                   'visualization_mode': 'simple',
                   'show': False}

        config = get_configurable_parameters(config_path=my_args['config'])
        config.trainer.resume_from_checkpoint = str(my_args['weights'])
        config.visualization.show_images = my_args['show']
        config.visualization.mode = my_args['visualization_mode']
        if my_args['output']:  # overwrite save path
            config.visualization.save_images = True
            config.visualization.image_save_path = my_args['output']
        else:
            config.visualization.save_images = False

        model = get_model(config)
        callbacks = get_callbacks(config)

        trainer = Trainer(callbacks=callbacks, **config.trainer)

        transform_config = config.dataset.transform_config.val if "transform_config" in config.dataset.keys() else None
        dataset = InferenceDataset(
            my_args['input'], image_size=tuple(config.dataset.image_size), transform_config=transform_config
        )
        dataloader = DataLoader(dataset)
        trainer.predict(model=model, dataloaders=[dataloader])

Also I had to change this line (as stated in this issue):

pl_module.load_state_dict(torch.load(self.weights_path)["state_dict"])

to:
pl_module.load_state_dict(torch.load(self.weights_path, map_location=torch.device('cpu')["state_dict"])

This is also my env:

absl-py==1.2.0
aiohttp==3.8.1
aiosignal==1.2.0
albumentations==1.2.1
analytics-python==1.4.0
-e git+https://github.com/openvinotoolkit/anomalib@bd369190cdb49f22a22ebd058ea4af46f50aee26#egg=anomalib
antlr4-python3-runtime==4.9.3
anyio==3.6.1
async-timeout==4.0.2
attrs==22.1.0
backoff==1.10.0
bcrypt==4.0.0
cachetools==5.2.0
certifi==2022.6.15
cffi==1.15.1
charset-normalizer==2.1.1
click==8.1.3
colorama==0.4.5
cryptography==37.0.4
cycler==0.11.0
docker-pycreds==0.4.0
docstring-parser==0.14.1
einops==0.4.1
fastapi==0.81.0
ffmpy==0.3.0
Flask==2.2.2
fonttools==4.37.1
frozenlist==1.3.1
fsspec==2022.8.2
gitdb==4.0.9
GitPython==3.1.27
google-auth==2.11.0
google-auth-oauthlib==0.4.6
gradio==3.2
grpcio==1.47.0
h11==0.12.0
httpcore==0.15.0
httpx==0.23.0
idna==3.3
imageio==2.21.2
imgaug==0.4.0
importlib-metadata==4.12.0
itsdangerous==2.1.2
Jinja2==3.1.2
joblib==1.1.0
jsonargparse==4.13.2
kiwisolver==1.4.4
kornia==0.6.7
linkify-it-py==1.0.3
Markdown==3.4.1
markdown-it-py==2.1.0
MarkupSafe==2.1.1
matplotlib==3.5.3
mdit-py-plugins==0.3.0
mdurl==0.1.2
monotonic==1.6
multidict==6.0.2
networkx==2.8.6
numpy==1.23.2
oauthlib==3.2.0
omegaconf==2.2.3
opencv-python==4.6.0.66
opencv-python-headless==4.6.0.66
orjson==3.8.0
packaging==21.3
pandas==1.4.4
paramiko==2.11.0
pathtools==0.1.2
Pillow==9.2.0
promise==2.3
protobuf==3.19.4
psutil==5.9.1
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.21
pycryptodome==3.15.0
pydantic==1.10.1
pyDeprecate==0.3.2
pydub==0.25.1
PyNaCl==1.5.0
pyparsing==3.0.9
python-dateutil==2.8.2
python-multipart==0.0.5
pytorch-lightning==1.6.5
pytz==2022.2.1
PyWavelets==1.3.0
PyYAML==6.0
qudida==0.0.4
requests==2.28.1
requests-oauthlib==1.3.1
rfc3986==1.5.0
rsa==4.9
scikit-image==0.19.3
scikit-learn==1.1.2
scipy==1.9.1
sentry-sdk==1.9.6
setproctitle==1.3.2
Shapely==1.8.4
shortuuid==1.0.9
six==1.16.0
smmap==5.0.0
sniffio==1.2.0
starlette==0.19.1
tensorboard==2.10.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
threadpoolctl==3.1.0
tifffile==2022.8.12
timm==0.5.4
torch==1.11.0
torchmetrics==0.9.1
torchtext==0.12.0
torchvision==0.12.0
tqdm==4.64.0
typing_extensions==4.3.0
uc-micro-py==1.0.1
urllib3==1.26.12
uvicorn==0.18.3
wandb==0.12.17
websockets==10.3
Werkzeug==2.2.2
yarl==1.8.1
zipp==3.8.1

@alevangel
Copy link

@alexriedel1 actually I think as you that is a version problem, running inferences on Colab seems work:

!python tools/inference/lightning_inference.py \
    --config anomalib/models/patchcore/config.yaml \
    --weights results/patchcore/mvtec/leather/weights/model.ckpt \
    --input datasets/MVTec/leather/test/cut/000.png \
    --output test_results

But I am pretty sure that is the same commit on both side... where is the trick?! :'(

@alexriedel1
Copy link
Contributor

Hm. can you please show the output of

import anomalib
print(anomalib.__version__) 

on both colab and your local machine?

@alevangel
Copy link

@alexriedel1 on both sides is
__version__ = "0.3.5"

@alevangel
Copy link

alevangel commented Sep 1, 2022

@alexriedel1 oh gosh! It was a messy with the colab versions, I found the problem where was... In the big block of isntalling libraries I also installed anomalib (while also cloning the git repo), and this created an overlapping in the versions.

Now it works :') Thanks!!

@Luksalos Luksalos closed this as completed Sep 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants