Skip to content

Commit

Permalink
Improved readability
Browse files Browse the repository at this point in the history
  • Loading branch information
Lu-Feng committed Mar 19, 2024
1 parent 15c49cd commit 3fd9bdf
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
16 changes: 6 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,29 +34,25 @@ python3 train.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eva

## Test

To evaluate the trained model on Pitts30k/Pitts250k:
To evaluate the trained model:

```
python3 eval.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eval_dataset_name=pitts30k --resume=/path/to/trained/model/CricaVPR.pth --infer_batch_size=8
```

To evaluate the trained model on other datasets:

```
python3 eval.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eval_dataset_name=msls --resume=/path/to/trained/model/CricaVPR.pth
python3 eval.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eval_dataset_name=pitts30k --resume=/path/to/trained/model/CricaVPR.pth
```

To add PCA:

```
python3 eval.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eval_dataset_name=pitts30k --resume=/path/to/trained/model/CricaVPR.pth --infer_batch_size=8 --pca_dim=4096 --pca_dataset_folder=pitts30k/images/train
python3 eval.py --eval_datasets_folder=/path/to/your/datasets_vg/datasets --eval_dataset_name=pitts30k --resume=/path/to/trained/model/CricaVPR.pth --pca_dim=4096 --pca_dataset_folder=pitts30k/images/train
```

## Trained Model

You can directly download the trained model [HERE](https://drive.google.com/file/d/171lCcxZFFnvEvo88ntIwELeBegcMTEJs/view?usp=sharing).

**Our another work (two-stage VPR based on DINOv2) SelaVPR achieved SOTA performance on several datasets. The code has been released [HERE](https://github.com/Lu-Feng/SelaVPR).**
## Related Work

**Our another work (two-stage VPR based on DINOv2) SelaVPR achieved SOTA performance on several datasets. The code is released at [HERE](https://github.com/Lu-Feng/SelaVPR).**

## Acknowledgements

Expand Down
3 changes: 3 additions & 0 deletions eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
args.save_dir = join("test", args.save_dir, start_time.strftime('%Y-%m-%d_%H-%M-%S'))
commons.setup_logging(args.save_dir)
commons.make_deterministic(args.seed)

if args.eval_dataset_name.startswith("pitts"): # set infer_batch_size = 8 for pitts30k/pitts250k
args.infer_batch_size = args.infer_batch_size // 2
logging.info(f"Arguments: {args}")
logging.info(f"The outputs are being saved in {args.save_dir}")

Expand Down
5 changes: 4 additions & 1 deletion network.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,14 @@ def __init__(self, args):
super().__init__()
self.backbone = get_backbone(args)
self.aggregation = nn.Sequential(L2Norm(), GeM(work_with_tokens=None), Flatten())

# In TransformerEncoderLayer, "batch_first=False" means the input tensors should be provided as (seq, batch, feature) to encode on the "seq" dimension.
# Our input tensor is provided as (batch, seq, feature), which performs encoding on the "batch" dimension.
encoder_layer = nn.TransformerEncoderLayer(d_model=768, nhead=16, dim_feedforward=2048, activation="gelu", dropout=0.1, batch_first=False)
self.encoder = nn.TransformerEncoder(encoder_layer, num_layers=2) # Cross-image encoder

if args.fc_output_dim != None:
# Concatenate fully connected layer to the aggregation layer
# Concatenate fully connected layer
self.aggregation = nn.Sequential(self.aggregation,
nn.Linear(args.features_dim, args.fc_output_dim),
L2Norm())
Expand Down

0 comments on commit 3fd9bdf

Please sign in to comment.