{"cells": [{"cell_type": "code", "execution_count": null, "id": "debug-cell-0", "metadata": {}, "outputs": [], "source": "import os, subprocess\n\n# List ALL directories under /kaggle/input (no depth limit)\nresult = subprocess.run(['find', '/kaggle/input', '-type', 'd'],\n                        capture_output=True, text=True)\nprint('=== ALL dirs in /kaggle/input ===')\nfor line in sorted(result.stdout.strip().split('\\n')):\n    print(line)\n\n# Try kagglehub\ntry:\n    import kagglehub\n    print('\\n=== kagglehub available ===')\n    for handle in ['ns6464/glomap', 'ns6464/ns64-imc2025lib',\n                   'ns6464/imc2023models', 'ns6464/imc2025models']:\n        try:\n            p = kagglehub.dataset_download(handle)\n            print(f'{handle} => {p}')\n        except Exception as e:\n            print(f'{handle} => ERROR: {e}')\nexcept ImportError:\n    print('kagglehub NOT available')\n"}, {"cell_type": "code", "execution_count": null, "id": "write-models-yaml", "metadata": {}, "outputs": [], "source": "# Write corrected models.yaml with new Kaggle path structure\nmodels_yaml_content = '''# Corrected models.yaml for new Kaggle path structure\nCVNET_R101:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/cvnet/CVPR2022_CVNet_R101.pyth\n\nLOFTR_OUTDOOR_KORNIA:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/loftr/loftr_outdoor.ckpt\n\nLOFTR_INDOOR_KORNIA:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/loftr/loftr_indoor.ckpt\n\nDISK_DEPTH:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/disk/disk_depth.pth\n\nMTLDESC:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models\n\nMATCHFORMER_OUTDOOR_LARGE_LA:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/matchformer/outdoor-large-LA.ckpt\n\nSE2LOFTR_BIG:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/se2loftr/4rot-big.ckpt\n\nSE2LOFTR_BIG_CONFIG_FILE:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/se2loftr/loftr_ds_e2_dense_big.py\n\nPOSFEAT_IMC2022:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/posfeat/keypoint_imc2022_2_1/006\n\nALIKED_N32:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/aliked/aliked-n32.pth\n\nLANET_V1:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lanet/PointModel_v1.pth\n\nDKM_V3_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dkm/DKMv3_outdoor.pth\n\nOPENGLUE_MTLDESC:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/openglue/sg_mtldesc_v2\n\nECOTR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/eco-tr/checkpoint.pth.tar\n\nQUADTREE_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/quadtree/outdoor.ckpt\n\nSFD2:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/sfd2/20220810_ressegnetv2_wapv2_ce_sd2mfsf_uspg.pth\n\nSUPERPOINT_COCO:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/superpoint/superpoint_coco_heat2_0/checkpoints/superPointNet_170000_checkpoint.pth.tar\n\nSUPERPOINT_KITTI:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/superpoint/superpoint_kitti_heat2_0/checkpoints/superPointNet_50000_checkpoint.pth.tar\n\nOPENGLUE_SUPERPOINT_COCO:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/openglue_superpoint/coco\n\nOPENGLUE_SUPERPOINT_KITTI:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/openglue_superpoint/kitti\n\nAPGEM_RESNET101:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/apgem/Resnet-101-AP-GeM.pt\n\nALIKE_L:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/alike/alike-l.pth\n\nFEATUREBOOSTER_ALIKE_BOOST_F:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/featurebooster/ALIKEBoost-F.pth\n\nADAMATCHER:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/adamatcher/adamatcher.ckpt\n\nADAMATCHER_ASPAN:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/adamatcher/adamatcher_aspan.ckpt\n\nADAMATCHER_QUAD:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/adamatcher/adamatcher_quad.ckpt\n\nNCMNET_YFCC:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/ncmnet/yfcc/model_best.pth\n\nMAGICLEAP_SUPERPOINT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/research_only/magicleap/superpoint_v1.pth\n\nMAGICLEAP_SUPERGLUE:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/research_only/magicleap/superglue_outdoor.pth\n\nOPENGLUE_ALIKED_V1:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/openglue/sg_aliked_v1\n\nROMA_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/roma/roma_outdoor.pth\n\nROMA_DINO_V2:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/roma/dinov2_vitl14_pretrain.pth\n\nOPENGLUE_MTLDESC_V4:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/openglue/sg_mtldesc_v4\n\nSILK:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/silk/coco-rgb-aug.ckpt\n\nFSNET_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fsnet/weights/outdoor_fundamentals.pth\n\nFSNET_OUTDOOR_CONFIG:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fsnet/config/conf.yaml\n\nFSNET_F:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fsnet/fundamentals.npy\n\nASPANFORMER_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/aspanformer/weights/outdoor.ckpt\n\nORINET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/OriNet.pth\n\nKEYNET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/keynet_pytorch.pth\n\nAFFNET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/AffNet.pth\n\nHARDNET_LIB:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/checkpoint_liberty_with_aug.pth\n\nHARDNET_PP:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/hardnet_pp.pth\n\nHARDNET8:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/hardnet8v2.pt\n\nOPENGLUE_HARDNET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/hardnet/openglue\n\nPANET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/panet/checkpoint.pth\n\nPIXLOC_MEGADEPTH:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/pixloc_megadepth\n\nDINOV2_BASE:\n  kernel: /kaggle/input/models/metaresearch/dinov2/pytorch/base/1\n\nDINOV2_VIT_L14:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dinov2/dinov2_vitl14_pretrain.pth\n\nALIKED_LIGHTGLUE_N16:\n  kernel: /kaggle/input/models/oldufo/aliked/pytorch/aliked-n16/1/aliked-n16.pth\n\nLIGHTGLUE_WITH_ALIKED_N16:\n  kernel: /kaggle/input/models/oldufo/lightglue/pytorch/aliked/1/aliked_lightglue.pth\n\nLIGHTGLUE_WITH_DEDODE_B:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/dedodeb_lightglue.pth\n\nLIGHTGLUE_WITH_DEDODE_G:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/dedodeg_lightglue.pth\n\nLIGHTGLUE_WITH_DISK:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/disk_lightglue.pth\n\nLIGHTGLUE_WITH_SIFT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/sift_lightglue.pth\n\nLIGHTGLUE_WITH_DOGHARDNET:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/doghardnet_lightglue.pth\n\nLIGHTGLUE_WITH_SUPERPOINT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/lightglue/superpoint_lightglue.pth\n\nDEDODE_DETECTOR_L:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dedode/dedode_detector_L.pth\n\nDEDODE_DESCRIPTOR_B:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dedode/dedode_descriptor_B.pth\n\nDEDODE_DESCRIPTOR_G:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dedode/dedode_descriptor_G.pth\n\nDOPPELGANGERS:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/doppelgangers/doppelgangers_classifier_loftr.pt\n\nDOPPELGANGERS_LOFTR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/doppelgangers/outdoor_ds.ckpt\n\nRELF_RN18:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/relf/best_model.pt\n\nRELF_WRN:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/relf/best_model_wrn.pt\n\nXFEAT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/xfeat/xfeat.pt\n\nSTEERER_B_C4_PERM_DEDODE_DESC_SETTING_C:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/steerers/B_C4_Perm_descriptor_setting_C.pth\n\nSTEERER_B_C4_PERM_STEERER_SETTING_C:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/steerers/B_C4_Perm_steerer_setting_C.pth\n\nSTEERER_B_C4_STEERER_SETTING_A:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/steerers/B_C4_steerer_setting_A.pth\n\nSTEERER_B_SO2_SPREAD_DEDODE_DESC_SETTING_B:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/steerers/B_SO2_Spread_descriptor_setting_B.pth\n\nSTEERER_B_SO2_SPREAD_STEERER_SETTING_B:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/steerers/B_SO2_Spread_steerer_setting_B.pth\n\nCHECK_ORIENTATION_MODEL:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/check_orientation/2020-11-16_resnext50_32x4d.pth\n\nCHECK_ORIENTATION_CONFIG:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/check_orientation/2020-11-16.yaml\n\nEFFICIENT_LOFTR_OUTDOOR:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/efficient_loftr/eloftr_outdoor.ckpt\n\nFFTFORMER_REALBLUR_J:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fftformer/net_g_Realblur_J.pth\n\nFFTFORMER_REALBLUR_R:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fftformer/net_g_Realblur_R.pth\n\nFFTFORMER_GOPRO:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/fftformer/fftformer_GoPro.pth\n\nLIMAP_MODELS:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/limap\n\nHF_DEPTH_ANYTHING_LARGE:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/depth_anything/models--LiheYoung--depth-anything-large-hf/snapshots/27ccb0920352c0c37b3a96441873c8d37bd52fb6\n\nDINOV2_SALAD:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dinov2_salad/dino_salad.ckpt\n\nDINOV2_VITB14:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/dinov2_salad/dinov2_vitb14_pretrain.pth\n\nOMNIGLUE_ONNX:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/omniglue_onnx/omniglue.onnx\n\nOMNIGLUE_ONNX_SP_V6:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/omniglue_onnx/sp_v6.onnx\n\nPATCH_NETVLAD_LANDMARKS:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/patch_netvlad/landmarks_WPCA4096.pth.tar\n\nVGG16:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/vgg16/vgg16-397923af.pth\n\nMICKEY_MODEL:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/mickey/mickey_weights/mickey.ckpt\n\nMICKEY_CONFIG:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/mickey/mickey_weights/config.yaml\n\nGIM_SUPERPOINT_LIGHTGLUE:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/gim/gim_lightglue_100h.ckpt\n\nGIM_DKM:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/gim/gim_dkm_100h.ckpt\n\nGIM_LIGHTGLUE_WITH_SUPERPOINT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/gim/superpoint_lightglue_v0-1_arxiv.pth\n\nHF_GROUNDING_DINO_BASE:\n  kernel: ./hf_grounding_dino_base\n\nHF_SAM_VIT_BASE:\n  kernel: ./hf_sam_vit_base\n\nDARKFEAT:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/darkfeat/DarkFeat.pth\n\nDELF_PYTORCH:\n  kernel: /kaggle/input/datasets/ns6464/imc2023models/delf_pytorch/fix.pth.tar\n\nDEDODE_V2_DETECTOR_L:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/dedode_v2/dedode_detector_L_v2.pth\n\nMAST3R:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/mast3r/MASt3R_ViTLarge_BaseDecoder_512_catmlpdpt_metric.pth\n\nMAST3R_RETRIEVAL:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/mast3r_retrieval/MASt3R_ViTLarge_BaseDecoder_512_catmlpdpt_metric_retrieval_trainingfree.pth\n\nMAST3R_RETRIEVAL_CODEBOOK:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/mast3r_retrieval/MASt3R_ViTLarge_BaseDecoder_512_catmlpdpt_metric_retrieval_codebook.pkl\n\nGIM_LOFTR:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/gim_loftr/gim_loftr_50h.ckpt\n\nVGGT:\n  kernel: ./hf_vggt_1b\n\nDAD:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/dad/dad.pth\n\nEDGEPOINT2_L64:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/edgepoint2/L64.pth\n\nVGGT_FIX:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/vggt/model_tracker_fixed_e20.pt\n\nSIGLIP2_SO400M_PATCH14_384:\n  kernel: ./siglip2_so400m_patch14_384\n\nISC:\n  kernel: /kaggle/input/datasets/ns6464/imc2025models/isc/isc_ft_v107.pth.tar\n'''\nwith open('/kaggle/working/models_corrected.yaml', 'w') as f:\n    f.write(models_yaml_content)\nimport os\nos.environ['DEFAULT_MODEL_LIST_PATH'] = '/kaggle/working/models_corrected.yaml'\nprint('Written models_corrected.yaml')\n"}, {"cell_type": "code", "execution_count": null, "metadata": {"_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", "execution": {"iopub.execute_input": "2025-05-22T13:54:10.959212Z", "iopub.status.busy": "2025-05-22T13:54:10.958679Z", "iopub.status.idle": "2025-05-22T13:54:11.472957Z", "shell.execute_reply": "2025-05-22T13:54:11.47204Z", "shell.execute_reply.started": "2025-05-22T13:54:10.959189Z"}, "trusted": true}, "outputs": [], "source": "!pip config set global.disable-pip-version-check true"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:54:17.674867Z", "iopub.status.busy": "2025-05-22T13:54:17.674514Z", "iopub.status.idle": "2025-05-22T13:54:33.224268Z", "shell.execute_reply": "2025-05-22T13:54:33.223469Z", "shell.execute_reply.started": "2025-05-22T13:54:17.674833Z"}, "trusted": true}, "outputs": [], "source": "!cp /kaggle/working/glomap_lib/glomap /usr/local/bin/\n!chmod 755 /usr/local/bin/glomap\n\n!cp -r /kaggle/working/glomap_lib glomap_lib\n!rm glomap_lib/librt.so.1  # conflict\n!rm glomap_lib/libdl.so.2\n!rm glomap_lib/libnvJitLink.so.12*"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:54:44.346441Z", "iopub.status.busy": "2025-05-22T13:54:44.34567Z", "iopub.status.idle": "2025-05-22T13:54:45.102291Z", "shell.execute_reply": "2025-05-22T13:54:45.101114Z", "shell.execute_reply.started": "2025-05-22T13:54:44.346415Z"}, "trusted": true}, "outputs": [], "source": "!cp -r /kaggle/input/datasets/ns6464/ns64-imc2025lib/lib_py311_t4/custom_ops ./\n!cp /kaggle/input/datasets/ns6464/ns64-imc2025lib/lib_py311_t4/score_computation_cuda.cpython-311-x86_64-linux-gnu.so ./\n!cp /kaggle/input/datasets/ns6464/ns64-imc2025lib/lib_py311_t4/value_aggregation_cuda.cpython-311-x86_64-linux-gnu.so ./"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:54:45.533973Z", "iopub.status.busy": "2025-05-22T13:54:45.533637Z", "iopub.status.idle": "2025-05-22T13:54:49.020596Z", "shell.execute_reply": "2025-05-22T13:54:49.019662Z", "shell.execute_reply.started": "2025-05-22T13:54:45.533944Z"}, "trusted": true}, "outputs": [], "source": "!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/ns64_imc2025lib-0.1.50-py3-none-any.whl"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:54:49.022355Z", "iopub.status.busy": "2025-05-22T13:54:49.022088Z", "iopub.status.idle": "2025-05-22T13:55:51.649676Z", "shell.execute_reply": "2025-05-22T13:55:51.64896Z", "shell.execute_reply.started": "2025-05-22T13:54:49.022325Z"}, "trusted": true}, "outputs": [], "source": "!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/addict-2.4.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/asmk-0.1-cp311-cp311-linux_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/attrs-25.3.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/cholespy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/croco-0.1.2-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/curope-0.0.0-cp311-cp311-linux_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/dad-0.2.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/dedode-0.0.1-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/dotmap-1.3.30-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/dsine-0.0.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/dust3r-0.1.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/e2cnn-0.2.3-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/einops-0.8.1-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/faiss_cpu-1.10.0-cp311-cp311-manylinux_2_28_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/flask-3.1.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/glcontext-3.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/hloc-1.5-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/HTML4Vision-0.5.0-py2.py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/huggingface_hub-0.30.2-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/hydra_core-1.3.2-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/iglovikov_helper_functions-0.0.53-py2.py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/kornia_moons-0.2.9-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/lightglue-0.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/lightning-2.5.1-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/loguru-0.7.3-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/mast3r-0.1.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/mmengine-0.10.7-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/moderngl-5.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/moge-1.0.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/mono-0.0.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/mpsfm-0.1.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/plyfile-1.1-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/pyceres-2.4-cp311-cp311-manylinux_2_28_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/pycolmap-3.11.1-cp311-cp311-manylinux_2_28_x86_64.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/superglue_pretrained_network-0.0.0-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/utils3d-0.0.2-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/vggt-0.0.1-py3-none-any.whl\n!pip install --no-deps /kaggle/input/datasets/ns6464/ns64-imc2025lib/yacs-0.1.8-py3-none-any.whl"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:57:31.744624Z", "iopub.status.busy": "2025-05-22T13:57:31.743788Z", "iopub.status.idle": "2025-05-22T13:57:33.899382Z", "shell.execute_reply": "2025-05-22T13:57:33.8986Z", "shell.execute_reply.started": "2025-05-22T13:57:31.744596Z"}, "trusted": true}, "outputs": [], "source": "!mkdir -p hf_grounding_dino_base\n!mkdir -p hf_sam_vit_base\n!mkdir -p hf_vggt_1b\n!mkdir -p siglip2_so400m_patch14_384\n\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/5548f844c928c4b6f411fa8cbcc2bfa8dbbba437cb1d513975519f93c2a9ed21 ./hf_grounding_dino_base/model.safetensors\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/5a7f6206a1e488c54316e1f594311dd47a03a41b ./hf_grounding_dino_base/config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/5cb45d963917ed130ce46a93204b349cbec21131 ./hf_grounding_dino_base/preprocessor_config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/688882a79f44442ddc1f60d70334a7ff5df0fb47 ./hf_grounding_dino_base/tokenizer.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/a8b3208c2884c4efb86e49300fdd3dc877220cdf ./hf_grounding_dino_base/special_tokens_map.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/ed97a84add5f9b2091e756765ad3ba087a345e17 ./hf_grounding_dino_base/tokenizer_config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--IDEA-Research--grounding-dino-base/blobs/fb140275c155a9c7c5a3b3e0e77a9e839594a938 ./hf_grounding_dino_base/vocab.txt\n\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--facebook--sam-vit-base/blobs/5880e4f874dbeb2a1921c9cf3bb44da529e46bf4 ./hf_sam_vit_base/config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--facebook--sam-vit-base/blobs/732fbaf0c512b97d8d9161f51bc157bfb2873d12 ./hf_sam_vit_base/preprocessor_config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2023models/grounded_sam/models--facebook--sam-vit-base/blobs/892c410e496344e527255ccdcb2cb7244a609acb5389c7c4fdba1288f861c579 ./hf_sam_vit_base/model.safetensors\n\n!ln -s /kaggle/input/datasets/ns6464/imc2025models/models--facebook--VGGT-1B/blobs/303bf21400e2723e8ff9c0c7ceb6d86859b1ddeb ./hf_vggt_1b/config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2025models/models--facebook--VGGT-1B/blobs/f164acf60724910d8fe1578bb499d800850c7bb0948db7555c413f9fbe60467e ./hf_vggt_1b/model.safetensors\n\n!ln -s /kaggle/input/datasets/ns6464/imc2025models/models--google--siglip2-so400m-patch14-384/blobs/7c1e0ed1759922fc4eb362d3b405958e829f364d ./siglip2_so400m_patch14_384/config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2025models/models--google--siglip2-so400m-patch14-384/blobs/e9e084ab5a0d74573432f1dcf11c1bdd8d9b3655 ./siglip2_so400m_patch14_384/preprocessor_config.json\n!ln -s /kaggle/input/datasets/ns6464/imc2025models/models--google--siglip2-so400m-patch14-384/blobs/9f4f4a49f908ef0c979bce8ff5a5c0e88882dc6c5dc4304387cbbd152558e2c2 ./siglip2_so400m_patch14_384/model.safetensors"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:57:35.263978Z", "iopub.status.busy": "2025-05-22T13:57:35.263262Z", "iopub.status.idle": "2025-05-22T13:57:35.289889Z", "shell.execute_reply": "2025-05-22T13:57:35.289232Z", "shell.execute_reply.started": "2025-05-22T13:57:35.26395Z"}, "trusted": true}, "outputs": [], "source": "import numpy as np\nimport yaml\nimport os\nimport sys\nsys.path.insert(0, '/usr/local/lib/python3.11/dist-packages/ns64_imc2025lib')\nos.environ[\"OPEN3D_DISABLE_WEB_VISUALIZER\"] = \"true\"\nos.environ['DEFAULT_DATASET_DIR'] = '/kaggle/input/competitions/image-matching-challenge-2025'\nos.environ['DEFAULT_TMP_DIR'] = '/kaggle/tmp'\nos.environ['DEFAULT_MODEL_LIST_PATH'] = '/kaggle/working/models_corrected.yaml'\nos.environ[\"TRANSFORMERS_OFFLINE\"] = \"1\"\nos.environ[\"HF_HUB_OFFLINE\"] = \"1\"\n#os.environ['DEFAULT_MODEL_LIST_PATH'] = '/kaggle/input/datasets/ns6464/imc2023models/models.yaml'\n#os.environ['SCENE_SPACE_DIR_PERSISTENT'] = 'yes'"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:57:40.82579Z", "iopub.status.busy": "2025-05-22T13:57:40.825318Z", "iopub.status.idle": "2025-05-22T13:57:44.946162Z", "shell.execute_reply": "2025-05-22T13:57:44.945429Z", "shell.execute_reply.started": "2025-05-22T13:57:40.82576Z"}, "trusted": true}, "outputs": [], "source": "os.environ['CUBLAS_WORKSPACE_CONFIG'] = ':4096:8'\nimport torch\ntorch.use_deterministic_algorithms(True)"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:57:44.947975Z", "iopub.status.busy": "2025-05-22T13:57:44.947351Z", "iopub.status.idle": "2025-05-22T13:58:15.946299Z", "shell.execute_reply": "2025-05-22T13:58:15.945681Z", "shell.execute_reply.started": "2025-05-22T13:57:44.947949Z"}, "trusted": true}, "outputs": [], "source": "import sys\nimport os\n\nsys.path.insert(0, '/usr/local/lib/python3.11/dist-packages/ns64_imc2025lib')\nsys.path.insert(0, '/kaggle/input/datasets/ns6464/ns64-imc2025lib/lib_py311_t4')\n\nos.environ['DEFAULT_MODEL_LIST_PATH'] = '/kaggle/working/models_corrected.yaml'\nos.environ['LD_LIBRARY_PATH'] = '/kaggle/working/glomap_lib:' + os.environ.get('LD_LIBRARY_PATH', '')\n\nfrom ns64_imc2025lib.config import SubmissionConfig\nfrom ns64_imc2025lib.kernel import run_and_save_submission\nfrom ns64_imc2025lib.data import on_kaggle_kernel_rerun\n"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:58:16.802784Z", "iopub.status.busy": "2025-05-22T13:58:16.801672Z", "iopub.status.idle": "2025-05-22T13:58:16.855859Z", "shell.execute_reply": "2025-05-22T13:58:16.855107Z", "shell.execute_reply.started": "2025-05-22T13:58:16.80276Z"}, "trusted": true}, "outputs": [], "source": "conf = SubmissionConfig.load_config_from_pipeline_config_string(\"\"\"\n# conf/pipeline/imc2025/vggt/vggt-fix-001.yaml\n# ------------------------------------\n# ------------------------------------\ntype: imc2025\n\nimc2025_pipeline:\n  point_tracking_matchers:\n    - type: vggt\n      impl_version: v2\n      local_features:\n        - type: lightglue_aliked\n          lightglue_aliked:\n            weight_path: ALIKED_LIGHTGLUE_N16\n            max_num_keypoints: 4096\n          resize:\n            func: lightglue\n            lg_resize: 1280\n        - type: magicleap_superpoint\n          magicleap_superpoint:\n            weight_path: MAGICLEAP_SUPERPOINT\n            nms_radius: 4\n            keypoint_threshold: 0.0005\n            max_keypoints: 4096\n            remove_borders: 4\n            fix_sampling: true\n          resize:\n            func: magicleap\n            ml_resize: 1600\n      vggt:\n        model:\n          pretrained_model: VGGT_FIX\n        min_matches: 15\n        load_fixed_weight: true\n        use_custom_vggt: false\n        target_size: 448\n        conf_score_threshold: 0.2\n        vis_score_threshold: 0.2\n        filtering_method: \"conf&vis\"\n\n  shortlist_generator: \n    type: ensemble\n    ensemble:\n      all_pairs_fallback_threshold: 0\n      shortlist_generators:\n        - type: mast3r_retrieval_asmk\n          mast3r_retrieval_asmk_fallback_threshold: 0\n          mast3r_retrieval_asmk_remove_swapped_pairs: true\n          mast3r_retrieval_asmk_make_pairs_fps_n: 10\n          mast3r_retrieval_asmk_make_pairs_fps_k: 25\n          mast3r_retrieval_asmk_make_pairs_fps_dist_threshold: null\n          mast3r_retrieval_asmk:\n            mast3r:\n              weight_path: MAST3R\n              retrieval_weight_path: MAST3R_RETRIEVAL\n              retrieval_codebook_path: MAST3R_RETRIEVAL_CODEBOOK\n        - type: global_desc\n          global_desc_model: mast3r_retrieval_spoc\n          global_desc_batch_size: 1\n          global_desc_num_workers: 1\n          global_desc_similar_distance_threshold: 9999\n          global_desc_topk: 10\n          global_desc_fallback_threshold: 0\n          global_desc_remove_swapped_pairs: true\n          global_desc_num_refills_when_no_matches: 10\n          mast3r_retrieval_spoc:\n            mast3r:\n              weight_path: MAST3R\n              retrieval_weight_path: MAST3R_RETRIEVAL\n              retrieval_codebook_path: MAST3R_RETRIEVAL_CODEBOOK\n            global_desc_type: retrieval_spoc\n        - type: global_desc\n          global_desc_model: dinov2\n          global_desc_batch_size: 1\n          global_desc_num_workers: 1\n          global_desc_similar_distance_threshold: 9999\n          global_desc_topk: 10\n          global_desc_fallback_threshold: 0\n          global_desc_remove_swapped_pairs: true\n          global_desc_num_refills_when_no_matches: 10\n          dinov2:\n            pretrained_model: DINOV2_BASE\n        - type: global_desc\n          global_desc_model: isc\n          global_desc_batch_size: 1\n          global_desc_num_workers: 1\n          global_desc_similar_distance_threshold: 9999\n          global_desc_topk: 10\n          global_desc_fallback_threshold: 0\n          global_desc_remove_swapped_pairs: true\n          global_desc_num_refills_when_no_matches: 10\n          isc:\n            weight_path: ISC\n  \n  reconstruction:\n    fill_zero_Rt: false\n    fill_nan_Rt: false\n    fill_nearest_position: false\n    mapper_min_model_size: 3\n    mapper_max_num_models: 25\n  \n  clustering: null\n\"\"\")\nprint(conf.model_dump_json(indent=4))\n\nwith open(\"config.yaml\", \"w\") as fp:\n    yaml.safe_dump(conf.model_dump(), fp)"}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": "!KAGGLE_IS_COMPETITION_RERUN=1"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T13:59:05.492191Z", "iopub.status.busy": "2025-05-22T13:59:05.491867Z", "iopub.status.idle": "2025-05-22T14:03:31.285876Z", "shell.execute_reply": "2025-05-22T14:03:31.284917Z", "shell.execute_reply.started": "2025-05-22T13:59:05.492167Z"}, "trusted": true}, "outputs": [], "source": "!KAGGLE_IS_COMPETITION_RERUN=1 \\\n PYTHONPATH=/usr/local/lib/python3.11/dist-packages/ns64_imc2025lib:/kaggle/input/datasets/ns6464/ns64-imc2025lib/lib_py311_t4:$PYTHONPATH \\\n LD_LIBRARY_PATH=/kaggle/working/glomap_lib:$LD_LIBRARY_PATH \\\n OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 \\\n OPEN3D_DISABLE_WEB_VISUALIZER=true HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \\\n DEFAULT_DATASET_DIR=/kaggle/input/competitions/image-matching-challenge-2025 \\\n CUBLAS_WORKSPACE_CONFIG=':4096:8' \\\n PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True \\\n DEFAULT_TMP_DIR=/kaggle/tmp \\\n DEFAULT_MODEL_LIST_PATH=/kaggle/working/models_corrected.yaml \\\n torchrun --nnodes 1 --nproc_per_node 1 --standalone -m ns64_imc2025lib.kernel -c config.yaml --env-name kernel\n"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T14:03:53.584233Z", "iopub.status.busy": "2025-05-22T14:03:53.583551Z", "iopub.status.idle": "2025-05-22T14:03:53.588637Z", "shell.execute_reply": "2025-05-22T14:03:53.587894Z", "shell.execute_reply.started": "2025-05-22T14:03:53.584204Z"}, "trusted": true}, "outputs": [], "source": "RUN_SINGLE_PROCESS = False\nif RUN_SINGLE_PROCESS:\n    print(\"RUN_SINGLE_PROCESS=True\")\n    if on_kaggle_kernel_rerun():\n        run_and_save_submission(conf)\n    else:\n        conf.target_data_type = 'submission-fast-commit'\n        run_and_save_submission(conf)"}, {"cell_type": "code", "execution_count": null, "metadata": {"execution": {"iopub.execute_input": "2025-05-22T14:03:54.804335Z", "iopub.status.busy": "2025-05-22T14:03:54.803567Z", "iopub.status.idle": "2025-05-22T14:03:54.957438Z", "shell.execute_reply": "2025-05-22T14:03:54.956647Z", "shell.execute_reply.started": "2025-05-22T14:03:54.804299Z"}, "trusted": true}, "outputs": [], "source": "!ls submission.csv"}, {"cell_type": "code", "execution_count": null, "metadata": {"trusted": true}, "outputs": [], "source": ""}], "metadata": {"kaggle": {"accelerator": "nvidiaTeslaT4", "dataSources": [{"databundleVersionId": 11655853, "sourceId": 91498, "sourceType": "competition"}, {"datasetId": 3204501, "sourceId": 8571511, "sourceType": "datasetVersion"}, {"datasetId": 7185924, "sourceId": 11890648, "sourceType": "datasetVersion"}, {"datasetId": 7487001, "sourceId": 11909458, "sourceType": "datasetVersion"}, {"datasetId": 7105843, "sourceId": 12008724, "sourceType": "datasetVersion"}, {"modelId": 986, "modelInstanceId": 3326, "sourceId": 4534, "sourceType": "modelInstanceVersion"}, {"modelId": 21716, "modelInstanceId": 14317, "sourceId": 17191, "sourceType": "modelInstanceVersion"}, {"modelId": 22086, "modelInstanceId": 14611, "sourceId": 17555, "sourceType": "modelInstanceVersion"}], "dockerImageVersionId": 31011, "isGpuEnabled": true, "isInternetEnabled": false, "language": "python", "sourceType": "notebook"}, "kernelspec": {"display_name": "medgemma_3090", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.15"}}, "nbformat": 4, "nbformat_minor": 4}