Comments (2)
Hi @AubreyCH
We are sorry for some inconsistencies in the training setup, the SuperPoint model was released much earlier than glue-factory, which has undergone significant changes until the final release. For reproducibility, I suggest to move to ALIKED, which was trained and released at the final release, and which generally outperforms SuperPoint on most datasets (see the excellent blog post here). We can also provide the logs for our training runs there.
The pretraining looks fine to me. Also, after finetuning, your MegaDepth results are <2% off the official results, so already quite good. However, your final loss is a bit off, we reached a final loss of 0.265. I would suggest to increase the learning rate to 2.0e-4 or even 4.0e-4 at the start (you can keep the schedule of the official config).
Are you using cached features during finetuning or do you extract them again for each pair? I'd recommend caching features.
duplicate cvg/LightGlue#108
from glue-factory.
Hi @Phil26AT
Thank you so much for your quick reply and great advice!
I do use cached features during finetuning with "data.load_features.do=True".
Following your suggestions, I've tried to increase the learning rate to 2.0e-4 and it does help to improve performance, however, it still cannot reach the official results. And I also tried learning rate with 3.0r-4 and 4.0e-4, it seemed too big because the loss exploded to NaN after several epochs.
And some of my findings might be interesting:
- With learning rate=2.0e-4, using mix_precision=float16 achieves reasonable results, however, finetuning without mix_precision leads to higher loss and loss explosion after 7 epochs.
- Different learning rate settings perform inconsistently on the opencv and poselib evaluations. For example, 2.0e-4 performs better with poselib but 1e-4 performs better with opencv.
I feel quite confused about these findings. Could you give me some advice? Do you recommend to use mix_precision?
I will keep working on my projects and I will try to find a good learning rate between 5.0e-5(which seems a bit small according to my work) and 2.0e-4(without mix_precision unfortunately). Besides, I will try to use ALIKED as the keypoints generator.
from glue-factory.
Related Issues (20)
- Why duplicating the log_assignment calculation? HOT 1
- question about homography transformations HOT 2
- Could you please provide some checksum for the dataset?
- what is the approximate training time for each stages? HOT 1
- stuck at the "Creating dataset ImagePairs" when evaluate lightglue on megadepth HOT 1
- How to train lightglue with my extractor? HOT 2
- train => disk +lg HOT 1
- pycolmap error HOT 1
- DeDoDe HOT 1
- memory not release
- mixed precision training
- Error:_pickle.UnpicklingError: invalid load key, '\x0a'.
- what is add_scale_ori and how to use it?
- gluestick training time HOT 3
- simpler GT line matching HOT 1
- the two places name the gamma differently?
- Performance
- The Required Datasets for Training.
- Whether to reuse the Sigmoid function in the confidence loss calculation code?
- Instability of LightGlue training
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glue-factory.