How to reproduce the results

February 24, 2026 ยท View on GitHub

Steps to Reproduce

  1. Download and set up precomputed image features:

    • Download the features from here
    • Place the downloaded precomputed_image_features directory in the root directory of this project
  2. Configure dataset paths:

    • Set the COMPARATIVE_CLIP_DATA_DIR environment variable to the directory where your datasets (e.g., ImageNet, CUB, etc.) are located.
    • Example: export COMPARATIVE_CLIP_DATA_DIR=/path/to/your/datasets
    • By default, the code looks in /mnt/datasets/comparative-clip.
  3. Run experiment scripts:

    cd scripts/experiments
    # Reproduce Table 2
    ./Experiment-ours.sh
    ./Experiment-baselines.sh
    # Reproduce Table 3
    ./Experiment-using_only_descriptor.sh
    # Reproduce Table 4
    ./Experiment-equal_number.sh
    # Reproduce Table 6
    ./Experiment-filter_existing_method.sh
    
  • The results will be saved as .csv files in the results directory.

Baselines

Our code is built upon the following repositories:

  • DCLIP: Visual Classification via Description from Large Language Models (ICLR 2023)
    Paper | GitHub
  • WaffleCLIP: Waffling around for Performance: Visual Classification with Random Words and Broad Concepts (ICCV 2023)
    Paper | GitHub

Results

ViT-B/32IN1kIN1k-V2CaltechCIFARCUBSATPlacesFoodPetsDTDFlowersAircraftCarsAvg
CLIP62.0454.6778.3964.3151.3640.8939.1182.5785.0443.1962.9724.9658.6257.55
DCLIP63.6656.2881.2364.9453.6141.3741.6483.0685.2544.2666.6326.6759.0859.05
WaffleCLIP63.3255.9781.0665.4452.4743.6640.6782.8485.4842.9366.3225.7058.8258.82
Ours64.0256.7182.2465.6954.0942.9242.2283.8187.4146.5467.0727.5759.3059.97
Ours + Filtering65.6657.5683.5564.8156.4151.0844.1884.6287.0453.7873.4328.6160.1562.37