Giter Site home page Giter Site logo

Comments (2)

Phil26AT avatar Phil26AT commented on June 9, 2024

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.

AubreyCH avatar AubreyCH commented on June 9, 2024

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:

  1. 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.
  2. 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.