test_mega_dense.py 1.1 KB

123456789101112131415161718192021
  1. from romatch.benchmarks import MegadepthDenseBenchmark
  2. import numpy as np
  3. def test_mega_dense(model, name):
  4. mega_dense_benchmark = MegadepthDenseBenchmark("data/megadepth", h = 560, w = 560)
  5. mega_dense_results = mega_dense_benchmark.benchmark(model)
  6. return mega_dense_results
  7. if __name__ == "__main__":
  8. from romatch import roma_outdoor
  9. device = "cuda"
  10. model = roma_outdoor(device = device, coarse_res = 560, use_custom_corr=True, symmetric = False, upsample_preds = False)
  11. experiment_name = "roma_latest"
  12. results = test_mega_dense(model, experiment_name)
  13. print(results)
  14. # gotten on 3.12 env with torch 2.8.0
  15. reference_results = {'epe': 1.581197752074192, 'mega_pck_1': 0.8516846923828125, 'mega_pck_3': 0.9566336059570313, 'mega_pck_5': 0.9714825439453125}
  16. assert np.isclose(results['epe'], reference_results['epe'], atol=1e-1)
  17. assert np.isclose(results['mega_pck_1'], reference_results['mega_pck_1'], atol=2e-1 / 100)
  18. assert np.isclose(results['mega_pck_3'], reference_results['mega_pck_3'], atol=2e-1 / 100)
  19. assert np.isclose(results['mega_pck_5'], reference_results['mega_pck_5'], atol=2e-1 / 100)