brainscore-vision 2.2.3__py3-none-any.whl → 2.2.5__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- brainscore_vision/data/baker2022/__init__.py +10 -10
- brainscore_vision/data/baker2022/data_packaging/inverted_distortion_data_assembly.py +2 -2
- brainscore_vision/data/baker2022/data_packaging/inverted_distortion_stimulus_set.py +2 -2
- brainscore_vision/data/baker2022/data_packaging/normal_distortion_data_assembly.py +2 -2
- brainscore_vision/data/baker2022/data_packaging/normal_distortion_stimulus_set.py +2 -2
- brainscore_vision/data/barbumayo2019/__init__.py +3 -3
- brainscore_vision/data/bashivankar2019/__init__.py +10 -10
- brainscore_vision/data/bashivankar2019/data_packaging/synthetic.py +2 -2
- brainscore_vision/data/bmd2024/__init__.py +20 -20
- brainscore_vision/data/bmd2024/data_packaging/BMD_2024_data_assembly.py +2 -1
- brainscore_vision/data/bmd2024/data_packaging/BMD_2024_simulus_set.py +2 -1
- brainscore_vision/data/bracci2019/__init__.py +5 -5
- brainscore_vision/data/bracci2019/data_packaging.py +1 -1
- brainscore_vision/data/cadena2017/__init__.py +5 -5
- brainscore_vision/data/cichy2019/__init__.py +5 -5
- brainscore_vision/data/coggan2024_behavior/__init__.py +8 -8
- brainscore_vision/data/coggan2024_behavior/data_packaging.py +2 -2
- brainscore_vision/data/coggan2024_fMRI/__init__.py +5 -6
- brainscore_vision/data/coggan2024_fMRI/data_packaging.py +2 -2
- brainscore_vision/data/david2004/__init__.py +5 -5
- brainscore_vision/data/deng2009/__init__.py +3 -3
- brainscore_vision/data/ferguson2024/__init__.py +112 -112
- brainscore_vision/data/ferguson2024/data_packaging/data_packaging.py +2 -2
- brainscore_vision/data/freemanziemba2013/__init__.py +31 -30
- brainscore_vision/data/geirhos2021/__init__.py +85 -85
- brainscore_vision/data/geirhos2021/data_packaging/colour/colour_data_assembly.py +2 -2
- brainscore_vision/data/geirhos2021/data_packaging/colour/colour_stimulus_set.py +2 -2
- brainscore_vision/data/geirhos2021/data_packaging/contrast/contrast_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/contrast/contrast_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/cue-conflict/cue-conflict_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/cue-conflict/cue-conflict_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/edge/edge_data_assembly.py +2 -2
- brainscore_vision/data/geirhos2021/data_packaging/edge/edge_stimulus_set.py +2 -2
- brainscore_vision/data/geirhos2021/data_packaging/eidolonI/eidolonI_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/eidolonI/eidolonI_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/eidolonII/eidolonII_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/eidolonII/eidolonII_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/eidolonIII/eidolonIII_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/eidolonIII/eidolonIII_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/false-colour/false-colour_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/false-colour/false-colour_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/high-pass/high-pass_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/high-pass/high-pass_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/low-pass/low-pass_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/low-pass/low-pass_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/phase-scrambling/phase-scrambling_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/phase-scrambling/phase-scrambling_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/power-equalisation/power-equalisation_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/power-equalisation/power-equalisation_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/rotation/rotation_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/rotation/rotation_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/silhouette/silhouette_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/silhouette/silhouette_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/sketch/sketch_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/sketch/sketch_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/stylized/stylized_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/stylized/stylized_stimulus_set.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/uniform-noise/uniform-noise_data_assembly.py +1 -1
- brainscore_vision/data/geirhos2021/data_packaging/uniform-noise/uniform-noise_stimulus_set.py +1 -1
- brainscore_vision/data/hebart2023/__init__.py +5 -5
- brainscore_vision/data/hebart2023/packaging/data_assembly.py +2 -2
- brainscore_vision/data/hebart2023/packaging/stimulus_set.py +1 -1
- brainscore_vision/data/hendrycks2019/__init__.py +12 -12
- brainscore_vision/data/igustibagus2024/__init__.py +5 -5
- brainscore_vision/data/imagenetslim15000/__init__.py +3 -3
- brainscore_vision/data/islam2021/__init__.py +3 -3
- brainscore_vision/data/kar2018/__init__.py +7 -7
- brainscore_vision/data/kar2019/__init__.py +5 -5
- brainscore_vision/data/kuzovkin2018/__init__.py +5 -5
- brainscore_vision/data/lonnqvist2024/__init__.py +12 -12
- brainscore_vision/data/lonnqvist2024/data_packaging/lonnqvist_data_assembly.py +1 -1
- brainscore_vision/data/lonnqvist2024/data_packaging/lonnqvist_stimulus_set.py +1 -1
- brainscore_vision/data/majajhong2015/__init__.py +23 -23
- brainscore_vision/data/malania2007/__init__.py +77 -77
- brainscore_vision/data/malania2007/data_packaging/malania_data_assembly.py +1 -1
- brainscore_vision/data/malania2007/data_packaging/malania_stimulus_set.py +1 -1
- brainscore_vision/data/maniquet2024/__init__.py +11 -11
- brainscore_vision/data/marques2020/__init__.py +30 -30
- brainscore_vision/data/rajalingham2018/__init__.py +10 -10
- brainscore_vision/data/rajalingham2020/__init__.py +5 -5
- brainscore_vision/data/rust2012/__init__.py +7 -7
- brainscore_vision/data/sanghavi2020/__init__.py +19 -19
- brainscore_vision/data/scialom2024/__init__.py +110 -110
- brainscore_vision/data/scialom2024/data_packaging/scialom_data_assembly.py +1 -1
- brainscore_vision/data/scialom2024/data_packaging/scialom_stimulus_set.py +1 -1
- brainscore_vision/data/seibert2019/__init__.py +2 -2
- brainscore_vision/data/zhang2018/__init__.py +5 -5
- brainscore_vision/data_helpers/s3.py +25 -6
- brainscore_vision/model_helpers/activations/pytorch.py +34 -12
- brainscore_vision/models/AT_efficientnet_b2/__init__.py +7 -0
- brainscore_vision/models/AT_efficientnet_b2/model.py +58 -0
- brainscore_vision/models/AT_efficientnet_b2/region_layer_map/AT_efficientnet-b2.json +6 -0
- brainscore_vision/models/AT_efficientnet_b2/requirements.txt +1 -0
- brainscore_vision/models/AT_efficientnet_b2/test.py +8 -0
- brainscore_vision/models/AdvProp_efficientnet_b2/__init__.py +7 -0
- brainscore_vision/models/AdvProp_efficientnet_b2/model.py +64 -0
- brainscore_vision/models/AdvProp_efficientnet_b2/region_layer_map/AdvProp_efficientnet-b2.json +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b2/requirements.txt +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b2/test.py +8 -0
- brainscore_vision/models/AdvProp_efficientnet_b4/__init__.py +5 -0
- brainscore_vision/models/AdvProp_efficientnet_b4/model.py +65 -0
- brainscore_vision/models/AdvProp_efficientnet_b4/region_layer_map/AdvProp_efficientnet-b4.json +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b4/requirements.txt +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b4/test.py +8 -0
- brainscore_vision/models/AdvProp_efficientnet_b7/__init__.py +5 -0
- brainscore_vision/models/AdvProp_efficientnet_b7/model.py +65 -0
- brainscore_vision/models/AdvProp_efficientnet_b7/region_layer_map/AdvProp_efficientnet-b7.json +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b7/requirements.txt +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b7/test.py +8 -0
- brainscore_vision/models/AdvProp_efficientnet_b8/__init__.py +7 -0
- brainscore_vision/models/AdvProp_efficientnet_b8/model.py +65 -0
- brainscore_vision/models/AdvProp_efficientnet_b8/region_layer_map/AdvProp_efficientnet-b8.json +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b8/requirements.txt +1 -0
- brainscore_vision/models/AdvProp_efficientnet_b8/test.py +8 -0
- brainscore_vision/models/BiT_S_R101x1/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R101x1/model.py +223 -0
- brainscore_vision/models/BiT_S_R101x1/region_layer_map/BiT-S-R101x1.json +1 -0
- brainscore_vision/models/BiT_S_R101x1/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R101x1/test.py +8 -0
- brainscore_vision/models/BiT_S_R101x3/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R101x3/model.py +225 -0
- brainscore_vision/models/BiT_S_R101x3/region_layer_map/BiT-S-R101x3.json +1 -0
- brainscore_vision/models/BiT_S_R101x3/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R101x3/test.py +8 -0
- brainscore_vision/models/BiT_S_R152x2/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R152x2/model.py +231 -0
- brainscore_vision/models/BiT_S_R152x2/region_layer_map/BiT-S-R152x2.json +1 -0
- brainscore_vision/models/BiT_S_R152x2/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R152x2/test.py +8 -0
- brainscore_vision/models/BiT_S_R152x4/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R152x4/model.py +231 -0
- brainscore_vision/models/BiT_S_R152x4/region_layer_map/BiT-S-R152x4.json +1 -0
- brainscore_vision/models/BiT_S_R152x4/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R152x4/test.py +8 -0
- brainscore_vision/models/BiT_S_R50x1/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R50x1/model.py +218 -0
- brainscore_vision/models/BiT_S_R50x1/region_layer_map/BiT-S-R50x1.json +1 -0
- brainscore_vision/models/BiT_S_R50x1/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R50x1/test.py +8 -0
- brainscore_vision/models/BiT_S_R50x3/__init__.py +7 -0
- brainscore_vision/models/BiT_S_R50x3/model.py +217 -0
- brainscore_vision/models/BiT_S_R50x3/region_layer_map/BiT-S-R50x3.json +1 -0
- brainscore_vision/models/BiT_S_R50x3/requirements.txt +4 -0
- brainscore_vision/models/BiT_S_R50x3/test.py +8 -0
- brainscore_vision/models/ReAlnet/__init__.py +64 -0
- brainscore_vision/models/ReAlnet/model.py +237 -0
- brainscore_vision/models/ReAlnet/requirements.txt +7 -0
- brainscore_vision/models/ReAlnet/test.py +0 -0
- brainscore_vision/models/ReAlnet/weights.json +26 -0
- brainscore_vision/models/ReAlnet_cornet/__init__.py +46 -0
- brainscore_vision/models/ReAlnet_cornet/helpers/helpers.py +215 -0
- brainscore_vision/models/ReAlnet_cornet/model.py +69 -0
- brainscore_vision/models/ReAlnet_cornet/requirements.txt +8 -0
- brainscore_vision/models/ReAlnet_cornet/test.py +0 -0
- brainscore_vision/models/Res2Net50_26w_4s/__init__.py +5 -0
- brainscore_vision/models/Res2Net50_26w_4s/helpers/resnet_helpers.py +161 -0
- brainscore_vision/models/Res2Net50_26w_4s/model.py +75 -0
- brainscore_vision/models/Res2Net50_26w_4s/region_layer_map/Res2Net50_26w_4s.json +1 -0
- brainscore_vision/models/Res2Net50_26w_4s/requirements.txt +1 -0
- brainscore_vision/models/Res2Net50_26w_4s/test.py +8 -0
- brainscore_vision/models/VOneCORnet_S/__init__.py +9 -0
- brainscore_vision/models/VOneCORnet_S/helpers/cornet_helpers.py +34 -0
- brainscore_vision/models/VOneCORnet_S/helpers/cornet_s_helpers.py +128 -0
- brainscore_vision/models/VOneCORnet_S/helpers/cornets.py +136 -0
- brainscore_vision/models/VOneCORnet_S/helpers/vonecornets.py +38 -0
- brainscore_vision/models/VOneCORnet_S/model.py +25 -0
- brainscore_vision/models/VOneCORnet_S/requirements.txt +1 -0
- brainscore_vision/models/VOneCORnet_S/test.py +8 -0
- brainscore_vision/models/alexnet_training_seed_01/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_01/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_01/region_layer_map/alexnet_training_seed_01.json +6 -0
- brainscore_vision/models/alexnet_training_seed_01/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_01/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_02/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_02/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_02/region_layer_map/alexnet_training_seed_02.json +6 -0
- brainscore_vision/models/alexnet_training_seed_02/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_02/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_03/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_03/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_03/region_layer_map/alexnet_training_seed_03.json +6 -0
- brainscore_vision/models/alexnet_training_seed_03/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_03/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_04/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_04/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_04/region_layer_map/alexnet_training_seed_04.json +6 -0
- brainscore_vision/models/alexnet_training_seed_04/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_04/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_05/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_05/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_05/region_layer_map/alexnet_training_seed_05.json +6 -0
- brainscore_vision/models/alexnet_training_seed_05/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_05/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_06/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_06/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_06/region_layer_map/alexnet_training_seed_06.json +6 -0
- brainscore_vision/models/alexnet_training_seed_06/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_06/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_07/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_07/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_07/region_layer_map/alexnet_training_seed_07.json +6 -0
- brainscore_vision/models/alexnet_training_seed_07/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_07/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_08/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_08/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_08/region_layer_map/alexnet_training_seed_08.json +6 -0
- brainscore_vision/models/alexnet_training_seed_08/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_08/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_09/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_09/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_09/region_layer_map/alexnet_training_seed_09.json +6 -0
- brainscore_vision/models/alexnet_training_seed_09/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_09/test.py +9 -0
- brainscore_vision/models/alexnet_training_seed_10/__init__.py +6 -0
- brainscore_vision/models/alexnet_training_seed_10/model.py +140 -0
- brainscore_vision/models/alexnet_training_seed_10/region_layer_map/alexnet_training_seed_10.json +6 -0
- brainscore_vision/models/alexnet_training_seed_10/requirements.txt +3 -0
- brainscore_vision/models/alexnet_training_seed_10/test.py +9 -0
- brainscore_vision/models/antialiased-r50/__init__.py +7 -0
- brainscore_vision/models/antialiased-r50/model.py +62 -0
- brainscore_vision/models/antialiased-r50/region_layer_map/antialiased-r50.json +1 -0
- brainscore_vision/models/antialiased-r50/requirements.txt +3 -0
- brainscore_vision/models/antialiased-r50/test.py +8 -0
- brainscore_vision/models/convnext_tiny_sup/__init__.py +8 -0
- brainscore_vision/models/convnext_tiny_sup/model.py +56 -0
- brainscore_vision/models/convnext_tiny_sup/region_layer_map/convnext_tiny_sup.json +1 -0
- brainscore_vision/models/convnext_tiny_sup/requirements.txt +1 -0
- brainscore_vision/models/convnext_tiny_sup/test.py +8 -0
- brainscore_vision/models/cornet_s/model.py +2 -2
- brainscore_vision/models/custom_model_cv_18_dagger_408/model.py +2 -2
- brainscore_vision/models/densenet_121/__init__.py +7 -0
- brainscore_vision/models/densenet_121/model.py +63 -0
- brainscore_vision/models/densenet_121/region_layer_map/densenet-121.json +1 -0
- brainscore_vision/models/densenet_121/requirements.txt +1 -0
- brainscore_vision/models/densenet_121/test.py +8 -0
- brainscore_vision/models/densenet_169/__init__.py +7 -0
- brainscore_vision/models/densenet_169/model.py +63 -0
- brainscore_vision/models/densenet_169/region_layer_map/densenet-169.json +1 -0
- brainscore_vision/models/densenet_169/requirements.txt +1 -0
- brainscore_vision/models/densenet_169/test.py +9 -0
- brainscore_vision/models/{densenet_201_pytorch → densenet_201}/__init__.py +3 -3
- brainscore_vision/models/{densenet_201_pytorch → densenet_201}/model.py +12 -10
- brainscore_vision/models/densenet_201/region_layer_map/densenet-201.json +6 -0
- brainscore_vision/models/densenet_201/test.py +8 -0
- brainscore_vision/models/efficientnet_b0/__init__.py +7 -0
- brainscore_vision/models/efficientnet_b0/model.py +45 -0
- brainscore_vision/models/efficientnet_b0/region_layer_map/efficientnet_b0.json +1 -0
- brainscore_vision/models/efficientnet_b0/requirements.txt +2 -0
- brainscore_vision/models/efficientnet_b0/test.py +8 -0
- brainscore_vision/models/efficientnet_b7/__init__.py +7 -0
- brainscore_vision/models/efficientnet_b7/model.py +61 -0
- brainscore_vision/models/efficientnet_b7/region_layer_map/efficientnet-b7.json +1 -0
- brainscore_vision/models/efficientnet_b7/requirements.txt +1 -0
- brainscore_vision/models/efficientnet_b7/test.py +9 -0
- brainscore_vision/models/effnetb1_cutmix_augmix_sam_e1_5avg_424x377/model.py +2 -2
- brainscore_vision/models/effnetb1_cutmixpatch_SAM_robust32_avge6e8e9e10_manylayers_324x288/model.py +142 -142
- brainscore_vision/models/effnetb1_cutmixpatch_augmix_robust32_avge4e7_manylayers_324x288/model.py +2 -2
- brainscore_vision/models/evresnet_50_1/__init__.py +12 -0
- brainscore_vision/models/evresnet_50_1/evnet/backends.py +109 -0
- brainscore_vision/models/evresnet_50_1/evnet/evnet.py +147 -0
- brainscore_vision/models/evresnet_50_1/evnet/modules.py +308 -0
- brainscore_vision/models/evresnet_50_1/evnet/params.py +326 -0
- brainscore_vision/models/evresnet_50_1/evnet/utils.py +142 -0
- brainscore_vision/models/evresnet_50_1/model.py +62 -0
- brainscore_vision/models/evresnet_50_1/requirements.txt +5 -0
- brainscore_vision/models/evresnet_50_1/test.py +8 -0
- brainscore_vision/models/evresnet_50_4/__init__.py +12 -0
- brainscore_vision/models/evresnet_50_4/evnet/backends.py +109 -0
- brainscore_vision/models/evresnet_50_4/evnet/evnet.py +147 -0
- brainscore_vision/models/evresnet_50_4/evnet/modules.py +308 -0
- brainscore_vision/models/evresnet_50_4/evnet/params.py +326 -0
- brainscore_vision/models/evresnet_50_4/evnet/utils.py +142 -0
- brainscore_vision/models/evresnet_50_4/model.py +67 -0
- brainscore_vision/models/evresnet_50_4/requirements.txt +4 -0
- brainscore_vision/models/evresnet_50_4/test.py +8 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/__init__.py +10 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/evnet/backends.py +109 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/evnet/evnet.py +147 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/evnet/modules.py +308 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/evnet/params.py +326 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/evnet/utils.py +142 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/model.py +67 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/region_layer_map/evresnet_50_4_no_mapping.json +6 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/requirements.txt +4 -0
- brainscore_vision/models/evresnet_50_4_no_mapping/test.py +8 -0
- brainscore_vision/models/grcnn/__init__.py +7 -0
- brainscore_vision/models/grcnn/helpers/helpers.py +236 -0
- brainscore_vision/models/grcnn/model.py +54 -0
- brainscore_vision/models/grcnn/region_layer_map/grcnn.json +1 -0
- brainscore_vision/models/grcnn/requirements.txt +2 -0
- brainscore_vision/models/grcnn/test.py +9 -0
- brainscore_vision/models/grcnn_109/__init__.py +5 -0
- brainscore_vision/models/grcnn_109/helpers/helpers.py +237 -0
- brainscore_vision/models/grcnn_109/model.py +53 -0
- brainscore_vision/models/grcnn_109/region_layer_map/grcnn_109.json +1 -0
- brainscore_vision/models/grcnn_109/requirements.txt +2 -0
- brainscore_vision/models/grcnn_109/test.py +9 -0
- brainscore_vision/models/hmax/model.py +2 -2
- brainscore_vision/models/imagenet_l2_3_0/__init__.py +9 -0
- brainscore_vision/models/imagenet_l2_3_0/model.py +101 -0
- brainscore_vision/models/imagenet_l2_3_0/region_layer_map/imagenet_l2_3_0.json +1 -0
- brainscore_vision/models/imagenet_l2_3_0/requirements.txt +2 -0
- brainscore_vision/models/imagenet_l2_3_0/test.py +8 -0
- brainscore_vision/models/inception_v1/__init__.py +7 -0
- brainscore_vision/models/inception_v1/model.py +67 -0
- brainscore_vision/models/inception_v1/requirements.txt +1 -0
- brainscore_vision/models/inception_v1/test.py +8 -0
- brainscore_vision/models/{inception_v3_pytorch → inception_v3}/__init__.py +3 -3
- brainscore_vision/models/{inception_v3_pytorch → inception_v3}/model.py +10 -10
- brainscore_vision/models/inception_v3/region_layer_map/inception_v3.json +6 -0
- brainscore_vision/models/inception_v3/test.py +8 -0
- brainscore_vision/models/{inception_v4_pytorch → inception_v4}/__init__.py +3 -3
- brainscore_vision/models/{inception_v4_pytorch → inception_v4}/model.py +8 -15
- brainscore_vision/models/inception_v4/region_layer_map/inception_v4.json +6 -0
- brainscore_vision/models/inception_v4/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_0_5_192/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_0_5_192/model.py +83 -0
- brainscore_vision/models/mobilenet_v2_0_5_192/region_layer_map/mobilenet_v2_0_5_192.json +6 -0
- brainscore_vision/models/mobilenet_v2_0_5_192/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_0_5_192/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_0_5_224/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_0_5_224/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_0_5_224/region_layer_map/mobilenet_v2_0_5_224.json +6 -0
- brainscore_vision/models/mobilenet_v2_0_5_224/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_0_5_224/test.py +9 -0
- brainscore_vision/models/mobilenet_v2_0_75_160/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_0_75_160/model.py +74 -0
- brainscore_vision/models/mobilenet_v2_0_75_160/region_layer_map/mobilenet_v2_0_75_160.json +6 -0
- brainscore_vision/models/mobilenet_v2_0_75_160/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_0_75_160/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_0_75_192/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_0_75_192/model.py +72 -0
- brainscore_vision/models/mobilenet_v2_0_75_192/region_layer_map/mobilenet_v2_0_75_192.json +6 -0
- brainscore_vision/models/mobilenet_v2_0_75_192/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_0_75_192/test.py +9 -0
- brainscore_vision/models/mobilenet_v2_0_75_224/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_0_75_224/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_0_75_224/region_layer_map/mobilenet_v2_0_75_224.json +6 -0
- brainscore_vision/models/mobilenet_v2_0_75_224/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_0_75_224/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_1_0_128/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_1_0_128/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_1_0_128/region_layer_map/mobilenet_v2_1_0_128.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_0_128/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_1_0_128/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_1_0_160/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_1_0_160/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_1_0_160/region_layer_map/mobilenet_v2_1_0_160.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_0_160/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_1_0_160/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_1_0_192/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_1_0_192/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_1_0_192/region_layer_map/mobilenet_v2_1_0_192.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_0_192/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_1_0_192/test.py +8 -0
- brainscore_vision/models/{pnasnet_large_pytorch → mobilenet_v2_1_0_224}/__init__.py +3 -3
- brainscore_vision/models/mobilenet_v2_1_0_224/model.py +60 -0
- brainscore_vision/models/mobilenet_v2_1_0_224/region_layer_map/mobilenet_v2_1_0_224.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_0_224/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_1_3_224/__init__.py +7 -0
- brainscore_vision/models/mobilenet_v2_1_3_224/model.py +73 -0
- brainscore_vision/models/mobilenet_v2_1_3_224/region_layer_map/mobilenet_v2_1_3_224.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_3_224/requirements.txt +2 -0
- brainscore_vision/models/mobilenet_v2_1_3_224/test.py +8 -0
- brainscore_vision/models/mobilenet_v2_1_4_224/__init__.py +7 -0
- brainscore_vision/models/{mobilenet_v2_1_4_224_pytorch → mobilenet_v2_1_4_224}/model.py +3 -3
- brainscore_vision/models/mobilenet_v2_1_4_224/region_layer_map/mobilenet_v2_1_4_224.json +6 -0
- brainscore_vision/models/mobilenet_v2_1_4_224/requirements.txt +3 -0
- brainscore_vision/models/mobilenet_v2_1_4_224/test.py +8 -0
- brainscore_vision/models/nasnet_large/__init__.py +7 -0
- brainscore_vision/models/nasnet_large/model.py +60 -0
- brainscore_vision/models/nasnet_large/region_layer_map/nasnet_large.json +6 -0
- brainscore_vision/models/nasnet_large/test.py +8 -0
- brainscore_vision/models/nasnet_mobile/__init__.py +7 -0
- brainscore_vision/models/nasnet_mobile/model.py +685 -0
- brainscore_vision/models/nasnet_mobile/region_layer_map/nasnet_mobile.json +6 -0
- brainscore_vision/models/nasnet_mobile/requirements.txt +1 -0
- brainscore_vision/models/nasnet_mobile/test.py +8 -0
- brainscore_vision/models/omnivore_swinB/__init__.py +7 -0
- brainscore_vision/models/omnivore_swinB/model.py +79 -0
- brainscore_vision/models/omnivore_swinB/region_layer_map/omnivore_swinB.json +1 -0
- brainscore_vision/models/omnivore_swinB/requirements.txt +5 -0
- brainscore_vision/models/omnivore_swinB/test.py +9 -0
- brainscore_vision/models/omnivore_swinS/__init__.py +7 -0
- brainscore_vision/models/omnivore_swinS/model.py +79 -0
- brainscore_vision/models/omnivore_swinS/region_layer_map/omnivore_swinS.json +1 -0
- brainscore_vision/models/omnivore_swinS/requirements.txt +7 -0
- brainscore_vision/models/omnivore_swinS/test.py +9 -0
- brainscore_vision/models/pnasnet_large/__init__.py +7 -0
- brainscore_vision/models/{pnasnet_large_pytorch → pnasnet_large}/model.py +6 -10
- brainscore_vision/models/pnasnet_large/region_layer_map/pnasnet_large.json +6 -0
- brainscore_vision/models/pnasnet_large/requirements.txt +3 -0
- brainscore_vision/models/pnasnet_large/test.py +8 -0
- brainscore_vision/models/resnet50_SIN/__init__.py +7 -0
- brainscore_vision/models/resnet50_SIN/model.py +63 -0
- brainscore_vision/models/resnet50_SIN/region_layer_map/resnet50-SIN.json +6 -0
- brainscore_vision/models/resnet50_SIN/requirements.txt +1 -0
- brainscore_vision/models/resnet50_SIN/test.py +9 -0
- brainscore_vision/models/resnet50_SIN_IN/__init__.py +7 -0
- brainscore_vision/models/resnet50_SIN_IN/model.py +65 -0
- brainscore_vision/models/resnet50_SIN_IN/region_layer_map/resnet50-SIN_IN.json +6 -0
- brainscore_vision/models/resnet50_SIN_IN/requirements.txt +2 -0
- brainscore_vision/models/resnet50_SIN_IN/test.py +9 -0
- brainscore_vision/models/resnet50_SIN_IN_IN/__init__.py +7 -0
- brainscore_vision/models/resnet50_SIN_IN_IN/model.py +65 -0
- brainscore_vision/models/resnet50_SIN_IN_IN/region_layer_map/resnet50-SIN_IN_IN.json +6 -0
- brainscore_vision/models/resnet50_SIN_IN_IN/requirements.txt +2 -0
- brainscore_vision/models/resnet50_SIN_IN_IN/test.py +9 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/__init__.py +9 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/helpers/resnet.py +1061 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/helpers/spatialattn.py +50 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/model.py +72 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/region_layer_map/resnet50-VITO-8deg-cc.json +6 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/requirements.txt +3 -0
- brainscore_vision/models/resnet50_VITO_8deg_cc/test.py +8 -0
- brainscore_vision/models/resnet50_barlow/__init__.py +7 -0
- brainscore_vision/models/resnet50_barlow/model.py +53 -0
- brainscore_vision/models/resnet50_barlow/region_layer_map/resnet50-barlow.json +1 -0
- brainscore_vision/models/resnet50_barlow/requirements.txt +1 -0
- brainscore_vision/models/resnet50_barlow/test.py +9 -0
- brainscore_vision/models/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234/__init__.py +6 -0
- brainscore_vision/models/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234/model.py +128 -0
- brainscore_vision/models/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234/region_layer_map/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234.json +1 -0
- brainscore_vision/models/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234/requirements.txt +5 -0
- brainscore_vision/models/resnet50_finetune_cutmix_AVGe2e3_robust_linf8255_e0_247x234/test.py +7 -0
- brainscore_vision/models/resnet50_moclr8deg/__init__.py +11 -0
- brainscore_vision/models/resnet50_moclr8deg/helpers/helpers.py +496 -0
- brainscore_vision/models/resnet50_moclr8deg/model.py +45 -0
- brainscore_vision/models/resnet50_moclr8deg/region_layer_map/resnet50-moclr8deg.json +6 -0
- brainscore_vision/models/resnet50_moclr8deg/requirements.txt +3 -0
- brainscore_vision/models/resnet50_moclr8deg/test.py +8 -0
- brainscore_vision/models/resnet50_robust_l2_eps1/__init__.py +9 -0
- brainscore_vision/models/resnet50_robust_l2_eps1/model.py +72 -0
- brainscore_vision/models/resnet50_robust_l2_eps1/region_layer_map/resnet50_robust_l2_eps1.json +1 -0
- brainscore_vision/models/resnet50_robust_l2_eps1/requirements.txt +2 -0
- brainscore_vision/models/resnet50_robust_l2_eps1/test.py +8 -0
- brainscore_vision/models/resnet50_robust_l2_eps3/__init__.py +8 -0
- brainscore_vision/models/resnet50_robust_l2_eps3/model.py +72 -0
- brainscore_vision/models/resnet50_robust_l2_eps3/region_layer_map/resnet50_robust_l2_eps3.json +1 -0
- brainscore_vision/models/resnet50_robust_l2_eps3/requirements.txt +2 -0
- brainscore_vision/models/resnet50_robust_l2_eps3/test.py +8 -0
- brainscore_vision/models/resnet50_sup/__init__.py +5 -0
- brainscore_vision/models/resnet50_sup/model.py +55 -0
- brainscore_vision/models/resnet50_sup/region_layer_map/resnet50-sup.json +1 -0
- brainscore_vision/models/resnet50_sup/requirements.txt +1 -0
- brainscore_vision/models/resnet50_sup/test.py +8 -0
- brainscore_vision/models/resnet50_vicreg/__init__.py +7 -0
- brainscore_vision/models/resnet50_vicreg/model.py +62 -0
- brainscore_vision/models/resnet50_vicreg/region_layer_map/resnet50-vicreg.json +1 -0
- brainscore_vision/models/resnet50_vicreg/requirements.txt +1 -0
- brainscore_vision/models/resnet50_vicreg/test.py +9 -0
- brainscore_vision/models/resnet50_vicregl0p75/__init__.py +5 -0
- brainscore_vision/models/resnet50_vicregl0p75/model.py +80 -0
- brainscore_vision/models/resnet50_vicregl0p75/region_layer_map/resnet50-vicregl0p75.json +1 -0
- brainscore_vision/models/resnet50_vicregl0p75/test.py +9 -0
- brainscore_vision/models/resnet50_vicregl0p9/__init__.py +5 -0
- brainscore_vision/models/resnet50_vicregl0p9/model.py +85 -0
- brainscore_vision/models/resnet50_vicregl0p9/region_layer_map/resnet50-vicregl0p9.json +1 -0
- brainscore_vision/models/resnet50_vicregl0p9/requirements.txt +3 -0
- brainscore_vision/models/resnet50_vicregl0p9/test.py +9 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/__init__.py +11 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/helpers/helpers.py +496 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/model.py +45 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/region_layer_map/resnet50-vitoimagevidnet8.json +6 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/requirements.txt +3 -0
- brainscore_vision/models/resnet50_vitoimagevidnet8/test.py +8 -0
- brainscore_vision/models/resnet_101_v1/__init__.py +5 -0
- brainscore_vision/models/resnet_101_v1/model.py +42 -0
- brainscore_vision/models/resnet_101_v1/region_layer_map/resnet_101_v1.json +6 -0
- brainscore_vision/models/resnet_101_v1/requirements.txt +1 -0
- brainscore_vision/models/resnet_101_v1/test.py +8 -0
- brainscore_vision/models/resnet_101_v2/__init__.py +8 -0
- brainscore_vision/models/resnet_101_v2/model.py +33 -0
- brainscore_vision/models/resnet_101_v2/region_layer_map/resnet_101_v2.json +6 -0
- brainscore_vision/models/resnet_101_v2/requirements.txt +2 -0
- brainscore_vision/models/resnet_101_v2/test.py +8 -0
- brainscore_vision/models/resnet_152_v1/__init__.py +5 -0
- brainscore_vision/models/resnet_152_v1/model.py +42 -0
- brainscore_vision/models/resnet_152_v1/region_layer_map/resnet_152_v1.json +6 -0
- brainscore_vision/models/resnet_152_v1/requirements.txt +1 -0
- brainscore_vision/models/resnet_152_v1/test.py +8 -0
- brainscore_vision/models/resnet_152_v2/__init__.py +7 -0
- brainscore_vision/models/{resnet_152_v2_pytorch → resnet_152_v2}/model.py +9 -11
- brainscore_vision/models/resnet_152_v2/region_layer_map/resnet_152_v2.json +6 -0
- brainscore_vision/models/resnet_152_v2/requirements.txt +2 -0
- brainscore_vision/models/resnet_152_v2/test.py +8 -0
- brainscore_vision/models/resnet_18_test_m/__init__.py +9 -0
- brainscore_vision/models/resnet_18_test_m/helpers/resnet.py +586 -0
- brainscore_vision/models/resnet_18_test_m/model.py +80 -0
- brainscore_vision/models/resnet_18_test_m/region_layer_map/resnet-18_test_m.json +1 -0
- brainscore_vision/models/resnet_18_test_m/requirements.txt +2 -0
- brainscore_vision/models/resnet_18_test_m/test.py +8 -0
- brainscore_vision/models/resnet_50_2/__init__.py +9 -0
- brainscore_vision/models/resnet_50_2/evnet/backends.py +109 -0
- brainscore_vision/models/resnet_50_2/evnet/evnet.py +147 -0
- brainscore_vision/models/resnet_50_2/evnet/modules.py +308 -0
- brainscore_vision/models/resnet_50_2/evnet/params.py +326 -0
- brainscore_vision/models/resnet_50_2/evnet/utils.py +142 -0
- brainscore_vision/models/resnet_50_2/model.py +46 -0
- brainscore_vision/models/resnet_50_2/region_layer_map/resnet_50_2.json +6 -0
- brainscore_vision/models/resnet_50_2/requirements.txt +4 -0
- brainscore_vision/models/resnet_50_2/test.py +8 -0
- brainscore_vision/models/resnet_50_robust/model.py +2 -2
- brainscore_vision/models/resnet_50_robust/region_layer_map/resnet-50-robust.json +1 -0
- brainscore_vision/models/resnet_50_v1/__init__.py +5 -0
- brainscore_vision/models/resnet_50_v1/model.py +42 -0
- brainscore_vision/models/resnet_50_v1/region_layer_map/resnet_50_v1.json +6 -0
- brainscore_vision/models/resnet_50_v1/requirements.txt +1 -0
- brainscore_vision/models/resnet_50_v1/test.py +8 -0
- brainscore_vision/models/resnet_50_v2/__init__.py +8 -0
- brainscore_vision/models/resnet_50_v2/model.py +33 -0
- brainscore_vision/models/resnet_50_v2/region_layer_map/resnet_50_v2.json +6 -0
- brainscore_vision/models/resnet_50_v2/requirements.txt +2 -0
- brainscore_vision/models/resnet_50_v2/test.py +8 -0
- brainscore_vision/models/resnet_SIN_IN_FT_IN/__init__.py +5 -0
- brainscore_vision/models/resnet_SIN_IN_FT_IN/model.py +79 -0
- brainscore_vision/models/resnet_SIN_IN_FT_IN/region_layer_map/resnet_SIN_IN_FT_IN.json +1 -0
- brainscore_vision/models/resnet_SIN_IN_FT_IN/requirements.txt +2 -0
- brainscore_vision/models/resnet_SIN_IN_FT_IN/test.py +8 -0
- brainscore_vision/models/sBarlow_lmda_0/__init__.py +9 -0
- brainscore_vision/models/sBarlow_lmda_0/model.py +64 -0
- brainscore_vision/models/sBarlow_lmda_0/region_layer_map/sBarlow_lmda_0.json +6 -0
- brainscore_vision/models/sBarlow_lmda_0/setup.py +25 -0
- brainscore_vision/models/sBarlow_lmda_0/test.py +1 -0
- brainscore_vision/models/sBarlow_lmda_01/__init__.py +9 -0
- brainscore_vision/models/sBarlow_lmda_01/model.py +64 -0
- brainscore_vision/models/sBarlow_lmda_01/region_layer_map/sBarlow_lmda_01.json +6 -0
- brainscore_vision/models/sBarlow_lmda_01/setup.py +25 -0
- brainscore_vision/models/sBarlow_lmda_01/test.py +1 -0
- brainscore_vision/models/sBarlow_lmda_1/__init__.py +9 -0
- brainscore_vision/models/sBarlow_lmda_1/model.py +64 -0
- brainscore_vision/models/sBarlow_lmda_1/region_layer_map/sBarlow_lmda_1.json +6 -0
- brainscore_vision/models/sBarlow_lmda_1/setup.py +25 -0
- brainscore_vision/models/sBarlow_lmda_1/test.py +1 -0
- brainscore_vision/models/sBarlow_lmda_2/__init__.py +9 -0
- brainscore_vision/models/sBarlow_lmda_2/model.py +64 -0
- brainscore_vision/models/sBarlow_lmda_2/region_layer_map/sBarlow_lmda_2.json +6 -0
- brainscore_vision/models/sBarlow_lmda_2/setup.py +25 -0
- brainscore_vision/models/sBarlow_lmda_2/test.py +1 -0
- brainscore_vision/models/sBarlow_lmda_8/__init__.py +9 -0
- brainscore_vision/models/sBarlow_lmda_8/model.py +64 -0
- brainscore_vision/models/sBarlow_lmda_8/region_layer_map/sBarlow_lmda_8.json +6 -0
- brainscore_vision/models/sBarlow_lmda_8/setup.py +25 -0
- brainscore_vision/models/sBarlow_lmda_8/test.py +1 -0
- brainscore_vision/models/scsBarlow_lmda_1/__init__.py +9 -0
- brainscore_vision/models/scsBarlow_lmda_1/model.py +64 -0
- brainscore_vision/models/scsBarlow_lmda_1/region_layer_map/scsBarlow_lmda_1.json +6 -0
- brainscore_vision/models/scsBarlow_lmda_1/setup.py +25 -0
- brainscore_vision/models/scsBarlow_lmda_1/test.py +1 -0
- brainscore_vision/models/scsBarlow_lmda_2/__init__.py +9 -0
- brainscore_vision/models/scsBarlow_lmda_2/model.py +64 -0
- brainscore_vision/models/scsBarlow_lmda_2/region_layer_map/scsBarlow_lmda_2.json +6 -0
- brainscore_vision/models/scsBarlow_lmda_2/setup.py +25 -0
- brainscore_vision/models/scsBarlow_lmda_2/test.py +1 -0
- brainscore_vision/models/scsBarlow_lmda_4/__init__.py +9 -0
- brainscore_vision/models/scsBarlow_lmda_4/model.py +64 -0
- brainscore_vision/models/scsBarlow_lmda_4/region_layer_map/scsBarlow_lmda_4.json +6 -0
- brainscore_vision/models/scsBarlow_lmda_4/setup.py +25 -0
- brainscore_vision/models/scsBarlow_lmda_4/test.py +1 -0
- brainscore_vision/models/shufflenet_v2_x1_0/__init__.py +7 -0
- brainscore_vision/models/shufflenet_v2_x1_0/model.py +52 -0
- brainscore_vision/models/shufflenet_v2_x1_0/region_layer_map/shufflenet_v2_x1_0.json +1 -0
- brainscore_vision/models/shufflenet_v2_x1_0/requirements.txt +2 -0
- brainscore_vision/models/shufflenet_v2_x1_0/test.py +9 -0
- brainscore_vision/models/timm_models/__init__.py +193 -0
- brainscore_vision/models/timm_models/model.py +90 -0
- brainscore_vision/models/timm_models/model_configs.json +464 -0
- brainscore_vision/models/timm_models/requirements.txt +3 -0
- brainscore_vision/models/timm_models/test.py +0 -0
- brainscore_vision/models/vgg_16/__init__.py +7 -0
- brainscore_vision/models/vgg_16/model.py +52 -0
- brainscore_vision/models/vgg_16/region_layer_map/vgg_16.json +6 -0
- brainscore_vision/models/vgg_16/requirements.txt +1 -0
- brainscore_vision/models/vgg_16/test.py +8 -0
- brainscore_vision/models/vgg_19/__init__.py +7 -0
- brainscore_vision/models/vgg_19/model.py +52 -0
- brainscore_vision/models/vgg_19/region_layer_map/vgg_19.json +1 -0
- brainscore_vision/models/vgg_19/requirements.txt +1 -0
- brainscore_vision/models/vgg_19/test.py +8 -0
- brainscore_vision/models/vonegrcnn_47e/__init__.py +5 -0
- brainscore_vision/models/vonegrcnn_47e/model.py +622 -0
- brainscore_vision/models/vonegrcnn_47e/region_layer_map/vonegrcnn_47e.json +6 -0
- brainscore_vision/models/vonegrcnn_47e/requirements.txt +0 -0
- brainscore_vision/models/vonegrcnn_47e/test.py +8 -0
- brainscore_vision/models/vonegrcnn_52e_full/__init__.py +5 -0
- brainscore_vision/models/vonegrcnn_52e_full/model.py +623 -0
- brainscore_vision/models/vonegrcnn_52e_full/region_layer_map/vonegrcnn_52e_full.json +6 -0
- brainscore_vision/models/vonegrcnn_52e_full/requirements.txt +4 -0
- brainscore_vision/models/vonegrcnn_52e_full/test.py +8 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/__init__.py +7 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/helpers/vongrcnn_helpers.py +544 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/model.py +122 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/region_layer_map/vonegrcnn_62e_nobn.json +6 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/requirements.txt +3 -0
- brainscore_vision/models/vonegrcnn_62e_nobn/test.py +8 -0
- brainscore_vision/models/voneresnet_50/__init__.py +7 -0
- brainscore_vision/models/voneresnet_50/model.py +37 -0
- brainscore_vision/models/voneresnet_50/region_layer_map/voneresnet-50.json +6 -0
- brainscore_vision/models/voneresnet_50/requirements.txt +1 -0
- brainscore_vision/models/voneresnet_50/test.py +8 -0
- brainscore_vision/models/voneresnet_50_1/__init__.py +11 -0
- brainscore_vision/models/voneresnet_50_1/evnet/backends.py +109 -0
- brainscore_vision/models/voneresnet_50_1/evnet/evnet.py +147 -0
- brainscore_vision/models/voneresnet_50_1/evnet/modules.py +308 -0
- brainscore_vision/models/voneresnet_50_1/evnet/params.py +326 -0
- brainscore_vision/models/voneresnet_50_1/evnet/utils.py +142 -0
- brainscore_vision/models/voneresnet_50_1/model.py +68 -0
- brainscore_vision/models/voneresnet_50_1/requirements.txt +5 -0
- brainscore_vision/models/voneresnet_50_1/test.py +7 -0
- brainscore_vision/models/voneresnet_50_3/__init__.py +11 -0
- brainscore_vision/models/voneresnet_50_3/evnet/backends.py +109 -0
- brainscore_vision/models/voneresnet_50_3/evnet/evnet.py +147 -0
- brainscore_vision/models/voneresnet_50_3/evnet/modules.py +308 -0
- brainscore_vision/models/voneresnet_50_3/evnet/params.py +326 -0
- brainscore_vision/models/voneresnet_50_3/evnet/utils.py +142 -0
- brainscore_vision/models/voneresnet_50_3/model.py +66 -0
- brainscore_vision/models/voneresnet_50_3/requirements.txt +4 -0
- brainscore_vision/models/voneresnet_50_3/test.py +7 -0
- brainscore_vision/models/voneresnet_50_no_weight/__init__.py +11 -0
- brainscore_vision/models/voneresnet_50_no_weight/evnet/backends.py +109 -0
- brainscore_vision/models/voneresnet_50_no_weight/evnet/evnet.py +147 -0
- brainscore_vision/models/voneresnet_50_no_weight/evnet/modules.py +308 -0
- brainscore_vision/models/voneresnet_50_no_weight/evnet/params.py +326 -0
- brainscore_vision/models/voneresnet_50_no_weight/evnet/utils.py +142 -0
- brainscore_vision/models/voneresnet_50_no_weight/model.py +56 -0
- brainscore_vision/models/voneresnet_50_no_weight/requirements.txt +4 -0
- brainscore_vision/models/voneresnet_50_no_weight/test.py +7 -0
- brainscore_vision/models/voneresnet_50_non_stochastic/model.py +2 -2
- brainscore_vision/models/voneresnet_50_robust/__init__.py +7 -0
- brainscore_vision/models/voneresnet_50_robust/model.py +50 -0
- brainscore_vision/models/voneresnet_50_robust/region_layer_map/voneresnet-50-robust.json +6 -0
- brainscore_vision/models/voneresnet_50_robust/requirements.txt +1 -0
- brainscore_vision/models/voneresnet_50_robust/test.py +8 -0
- brainscore_vision/models/xception/__init__.py +7 -0
- brainscore_vision/models/xception/model.py +64 -0
- brainscore_vision/models/xception/region_layer_map/xception.json +6 -0
- brainscore_vision/models/xception/requirements.txt +2 -0
- brainscore_vision/models/xception/test.py +8 -0
- brainscore_vision/models/yudixie_resnet50_250117_0/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_0/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_0/region_layer_map/yudixie_resnet50_distance_reg_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_0/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_0/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_1/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_1/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_1/region_layer_map/yudixie_resnet50_translation_reg_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_1/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_1/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_10/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_10/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_10/region_layer_map/yudixie_resnet50_imagenet1kpret_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_10/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_10/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_11/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_11/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_11/region_layer_map/yudixie_resnet50_random_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_11/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_11/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_2/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_2/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_2/region_layer_map/yudixie_resnet50_rotation_reg_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_2/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_2/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_3/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_3/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_3/region_layer_map/yudixie_resnet50_distance_translation_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_3/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_3/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_4/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_4/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_4/region_layer_map/yudixie_resnet50_distance_rotation_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_4/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_4/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_5/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_5/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_5/region_layer_map/yudixie_resnet50_translation_rotation_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_5/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_5/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_6/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_6/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_6/region_layer_map/yudixie_resnet50_distance_translation_rotation_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_6/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_6/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_7/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_7/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_7/region_layer_map/yudixie_resnet50_category_class_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_7/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_7/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_8/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_8/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_8/region_layer_map/yudixie_resnet50_object_class_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_8/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_8/test.py +1 -0
- brainscore_vision/models/yudixie_resnet50_250117_9/__init__.py +11 -0
- brainscore_vision/models/yudixie_resnet50_250117_9/model.py +60 -0
- brainscore_vision/models/yudixie_resnet50_250117_9/region_layer_map/yudixie_resnet50_cat_obj_class_all_latents_0_240908.json +6 -0
- brainscore_vision/models/yudixie_resnet50_250117_9/setup.py +25 -0
- brainscore_vision/models/yudixie_resnet50_250117_9/test.py +1 -0
- brainscore_vision/submission/actions_helpers.py +2 -3
- {brainscore_vision-2.2.3.dist-info → brainscore_vision-2.2.5.dist-info}/METADATA +6 -6
- {brainscore_vision-2.2.3.dist-info → brainscore_vision-2.2.5.dist-info}/RECORD +714 -130
- {brainscore_vision-2.2.3.dist-info → brainscore_vision-2.2.5.dist-info}/WHEEL +1 -1
- docs/source/index.rst +1 -0
- docs/source/modules/submission.rst +1 -1
- docs/source/modules/version_bumping.rst +43 -0
- tests/test_submission/test_actions_helpers.py +2 -6
- brainscore_vision/models/densenet_201_pytorch/test.py +0 -8
- brainscore_vision/models/inception_v3_pytorch/test.py +0 -8
- brainscore_vision/models/inception_v4_pytorch/test.py +0 -8
- brainscore_vision/models/mobilenet_v2_1_4_224_pytorch/__init__.py +0 -7
- brainscore_vision/models/mobilenet_v2_1_4_224_pytorch/test.py +0 -8
- brainscore_vision/models/pnasnet_large_pytorch/test.py +0 -8
- brainscore_vision/models/resnet_152_v2_pytorch/__init__.py +0 -7
- brainscore_vision/models/resnet_152_v2_pytorch/test.py +0 -8
- /brainscore_vision/models/{densenet_201_pytorch → densenet_201}/requirements.txt +0 -0
- /brainscore_vision/models/{inception_v3_pytorch → inception_v3}/requirements.txt +0 -0
- /brainscore_vision/models/{inception_v4_pytorch → inception_v4}/requirements.txt +0 -0
- /brainscore_vision/models/{mobilenet_v2_1_4_224_pytorch → mobilenet_v2_1_0_224}/requirements.txt +0 -0
- /brainscore_vision/models/{pnasnet_large_pytorch → nasnet_large}/requirements.txt +0 -0
- /brainscore_vision/models/{resnet_152_v2_pytorch → resnet50_vicregl0p75}/requirements.txt +0 -0
- {brainscore_vision-2.2.3.dist-info → brainscore_vision-2.2.5.dist-info}/LICENSE +0 -0
- {brainscore_vision-2.2.3.dist-info → brainscore_vision-2.2.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,161 @@
|
|
1
|
+
from brainscore_vision.model_helpers.s3 import load_weight_file
|
2
|
+
import torch
|
3
|
+
import torch.nn as nn
|
4
|
+
import math
|
5
|
+
|
6
|
+
|
7
|
+
class Bottle2neck(nn.Module):
|
8
|
+
expansion = 4
|
9
|
+
|
10
|
+
def __init__(self, inplanes, planes, stride=1, downsample=None, baseWidth=26, scale=4, stype='normal'):
|
11
|
+
""" Constructor
|
12
|
+
Args:
|
13
|
+
inplanes: input channel dimensionality
|
14
|
+
planes: output channel dimensionality
|
15
|
+
stride: conv stride. Replaces pooling layer.
|
16
|
+
downsample: None when stride = 1
|
17
|
+
baseWidth: basic width of conv3x3
|
18
|
+
scale: number of scale.
|
19
|
+
type: 'normal': normal set. 'stage': first block of a new stage.
|
20
|
+
"""
|
21
|
+
super(Bottle2neck, self).__init__()
|
22
|
+
|
23
|
+
width = int(math.floor(planes * (baseWidth / 64.0)))
|
24
|
+
self.conv1 = nn.Conv2d(inplanes, width * scale, kernel_size=1, bias=False)
|
25
|
+
self.bn1 = nn.BatchNorm2d(width * scale)
|
26
|
+
|
27
|
+
if scale == 1:
|
28
|
+
self.nums = 1
|
29
|
+
else:
|
30
|
+
self.nums = scale - 1
|
31
|
+
if stype == 'stage':
|
32
|
+
self.pool = nn.AvgPool2d(kernel_size=3, stride=stride, padding=1)
|
33
|
+
convs = []
|
34
|
+
bns = []
|
35
|
+
for i in range(self.nums):
|
36
|
+
convs.append(nn.Conv2d(width, width, kernel_size=3, stride=stride, padding=1, bias=False))
|
37
|
+
bns.append(nn.BatchNorm2d(width))
|
38
|
+
self.convs = nn.ModuleList(convs)
|
39
|
+
self.bns = nn.ModuleList(bns)
|
40
|
+
|
41
|
+
self.conv3 = nn.Conv2d(width * scale, planes * self.expansion, kernel_size=1, bias=False)
|
42
|
+
self.bn3 = nn.BatchNorm2d(planes * self.expansion)
|
43
|
+
|
44
|
+
self.relu = nn.ReLU(inplace=True)
|
45
|
+
self.downsample = downsample
|
46
|
+
self.stype = stype
|
47
|
+
self.scale = scale
|
48
|
+
self.width = width
|
49
|
+
|
50
|
+
def forward(self, x):
|
51
|
+
residual = x
|
52
|
+
|
53
|
+
out = self.conv1(x)
|
54
|
+
out = self.bn1(out)
|
55
|
+
out = self.relu(out)
|
56
|
+
|
57
|
+
spx = torch.split(out, self.width, 1)
|
58
|
+
for i in range(self.nums):
|
59
|
+
if i == 0 or self.stype == 'stage':
|
60
|
+
sp = spx[i]
|
61
|
+
else:
|
62
|
+
sp = sp + spx[i]
|
63
|
+
sp = self.convs[i](sp)
|
64
|
+
sp = self.relu(self.bns[i](sp))
|
65
|
+
if i == 0:
|
66
|
+
out = sp
|
67
|
+
else:
|
68
|
+
out = torch.cat((out, sp), 1)
|
69
|
+
if self.scale != 1 and self.stype == 'normal':
|
70
|
+
out = torch.cat((out, spx[self.nums]), 1)
|
71
|
+
elif self.scale != 1 and self.stype == 'stage':
|
72
|
+
out = torch.cat((out, self.pool(spx[self.nums])), 1)
|
73
|
+
|
74
|
+
out = self.conv3(out)
|
75
|
+
out = self.bn3(out)
|
76
|
+
|
77
|
+
if self.downsample is not None:
|
78
|
+
residual = self.downsample(x)
|
79
|
+
|
80
|
+
out += residual
|
81
|
+
out = self.relu(out)
|
82
|
+
|
83
|
+
return out
|
84
|
+
|
85
|
+
|
86
|
+
class Res2Net(nn.Module):
|
87
|
+
|
88
|
+
def __init__(self, block, layers, baseWidth=26, scale=4, num_classes=1000):
|
89
|
+
self.inplanes = 64
|
90
|
+
super(Res2Net, self).__init__()
|
91
|
+
self.baseWidth = baseWidth
|
92
|
+
self.scale = scale
|
93
|
+
self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,
|
94
|
+
bias=False)
|
95
|
+
self.bn1 = nn.BatchNorm2d(64)
|
96
|
+
self.relu = nn.ReLU(inplace=True)
|
97
|
+
self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
|
98
|
+
self.layer1 = self._make_layer(block, 64, layers[0])
|
99
|
+
self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
|
100
|
+
self.layer3 = self._make_layer(block, 256, layers[2], stride=2)
|
101
|
+
self.layer4 = self._make_layer(block, 512, layers[3], stride=2)
|
102
|
+
self.avgpool = nn.AdaptiveAvgPool2d(1)
|
103
|
+
self.fc = nn.Linear(512 * block.expansion, num_classes)
|
104
|
+
|
105
|
+
for m in self.modules():
|
106
|
+
if isinstance(m, nn.Conv2d):
|
107
|
+
nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
|
108
|
+
elif isinstance(m, nn.BatchNorm2d):
|
109
|
+
nn.init.constant_(m.weight, 1)
|
110
|
+
nn.init.constant_(m.bias, 0)
|
111
|
+
|
112
|
+
def _make_layer(self, block, planes, blocks, stride=1):
|
113
|
+
downsample = None
|
114
|
+
if stride != 1 or self.inplanes != planes * block.expansion:
|
115
|
+
downsample = nn.Sequential(
|
116
|
+
nn.Conv2d(self.inplanes, planes * block.expansion,
|
117
|
+
kernel_size=1, stride=stride, bias=False),
|
118
|
+
nn.BatchNorm2d(planes * block.expansion),
|
119
|
+
)
|
120
|
+
|
121
|
+
layers = []
|
122
|
+
layers.append(block(self.inplanes, planes, stride, downsample=downsample,
|
123
|
+
stype='stage', baseWidth=self.baseWidth, scale=self.scale))
|
124
|
+
self.inplanes = planes * block.expansion
|
125
|
+
for i in range(1, blocks):
|
126
|
+
layers.append(block(self.inplanes, planes, baseWidth=self.baseWidth, scale=self.scale))
|
127
|
+
|
128
|
+
return nn.Sequential(*layers)
|
129
|
+
|
130
|
+
def forward(self, x):
|
131
|
+
x = self.conv1(x)
|
132
|
+
x = self.bn1(x)
|
133
|
+
x = self.relu(x)
|
134
|
+
x = self.maxpool(x)
|
135
|
+
|
136
|
+
x = self.layer1(x)
|
137
|
+
x = self.layer2(x)
|
138
|
+
x = self.layer3(x)
|
139
|
+
x = self.layer4(x)
|
140
|
+
|
141
|
+
x = self.avgpool(x)
|
142
|
+
x = x.view(x.size(0), -1)
|
143
|
+
x = self.fc(x)
|
144
|
+
|
145
|
+
return x
|
146
|
+
|
147
|
+
|
148
|
+
def res2net50_26w_4s(pretrained=False, **kwargs):
|
149
|
+
"""Constructs a Res2Net-50_26w_4s model.
|
150
|
+
Args:
|
151
|
+
pretrained (bool): If True, returns a model pre-trained on ImageNet
|
152
|
+
"""
|
153
|
+
device = "cpu"
|
154
|
+
model = Res2Net(Bottle2neck, [3, 4, 6, 3], baseWidth=26, scale=4, **kwargs)
|
155
|
+
weights_path = load_weight_file(bucket="brainscore-storage", folder_name="brainscore-vision/models",
|
156
|
+
relative_path="Res2Net50_26w_4s/res2net50_26w_4s-06e79181.pth",
|
157
|
+
version_id="null",
|
158
|
+
sha1="905ad1183c7c8fb4b13f0df8c1a22bb76ee2a2fb")
|
159
|
+
checkpoint = torch.load(weights_path, map_location=device)
|
160
|
+
model.load_state_dict(checkpoint)
|
161
|
+
return model
|
@@ -0,0 +1,75 @@
|
|
1
|
+
from brainscore_vision.model_helpers.check_submission import check_models
|
2
|
+
from .helpers.resnet_helpers import res2net50_26w_4s
|
3
|
+
import functools
|
4
|
+
from brainscore_vision.model_helpers.activations.pytorch import PytorchWrapper
|
5
|
+
from brainscore_vision.model_helpers.activations.pytorch import load_preprocess_images
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
def get_model(name):
|
10
|
+
"""
|
11
|
+
This method fetches an instance of a base model. The instance has to be callable and return a xarray object,
|
12
|
+
containing activations. There exist standard wrapper implementations for common libraries, like pytorch and
|
13
|
+
keras. Checkout the examples folder, to see more. For custom implementations check out the implementation of the
|
14
|
+
wrappers.
|
15
|
+
:param name: the name of the model to fetch
|
16
|
+
:return: the model instance
|
17
|
+
"""
|
18
|
+
|
19
|
+
assert name == 'Res2Net50_26w_4s'
|
20
|
+
|
21
|
+
model = res2net50_26w_4s(pretrained=False)
|
22
|
+
preprocessing = functools.partial(load_preprocess_images, image_size=224)
|
23
|
+
wrapper = PytorchWrapper(identifier='Res2Net50_26w_4s', model=model, preprocessing=preprocessing)
|
24
|
+
wrapper.image_size = 224
|
25
|
+
return wrapper
|
26
|
+
|
27
|
+
|
28
|
+
# get_layers method to tell the code what layers to consider. If you are submitting a custom
|
29
|
+
# model, then you will most likley need to change this method's return values.
|
30
|
+
def get_layers(name):
|
31
|
+
"""
|
32
|
+
This method returns a list of string layer names to consider per model. The benchmarks maps brain regions to
|
33
|
+
layers and uses this list as a set of possible layers. The lists doesn't have to contain all layers, the less the
|
34
|
+
faster the benchmark process works. Additionally the given layers have to produce an activations vector of at least
|
35
|
+
size 25! The layer names are delivered back to the model instance and have to be resolved in there. For a pytorch
|
36
|
+
model, the layer name are for instance dot concatenated per module, e.g. "features.2".
|
37
|
+
:param name: the name of the model, to return the layers for
|
38
|
+
:return: a list of strings containing all layers, that should be considered as brain area.
|
39
|
+
"""
|
40
|
+
|
41
|
+
assert name == 'Res2Net50_26w_4s'
|
42
|
+
return ['maxpool', 'layer1.0', 'layer1.1', 'layer1.2',
|
43
|
+
'layer2.0', 'layer2.1', 'layer2.2', 'layer2.3',
|
44
|
+
'layer3.0', 'layer3.1', 'layer3.2', 'layer3.3',
|
45
|
+
'layer3.4', 'layer3.5', 'layer4.0', 'layer4.1', 'layer4.2', 'avgpool', 'fc']
|
46
|
+
|
47
|
+
|
48
|
+
def get_bibtex(model_identifier):
|
49
|
+
"""
|
50
|
+
A method returning the bibtex reference of the requested model as a string.
|
51
|
+
"""
|
52
|
+
|
53
|
+
# from pytorch.py:
|
54
|
+
return '''@article{DBLP:journals/corr/abs-1904-01169,
|
55
|
+
author = {Shanghua Gao and
|
56
|
+
Ming{-}Ming Cheng and
|
57
|
+
Kai Zhao and
|
58
|
+
Xinyu Zhang and
|
59
|
+
Ming{-}Hsuan Yang and
|
60
|
+
Philip H. S. Torr},
|
61
|
+
title = {Res2Net: {A} New Multi-scale Backbone Architecture},
|
62
|
+
journal = {CoRR},
|
63
|
+
volume = {abs/1904.01169},
|
64
|
+
year = {2019},
|
65
|
+
url = {http://arxiv.org/abs/1904.01169},
|
66
|
+
eprinttype = {arXiv},
|
67
|
+
eprint = {1904.01169},
|
68
|
+
timestamp = {Thu, 25 Apr 2019 10:24:54 +0200},
|
69
|
+
biburl = {https://dblp.org/rec/journals/corr/abs-1904-01169.bib},
|
70
|
+
bibsource = {dblp computer science bibliography, https://dblp.org}
|
71
|
+
}'''
|
72
|
+
|
73
|
+
# Main Method: In submitting a custom model, you should not have to mess with this.
|
74
|
+
if __name__ == '__main__':
|
75
|
+
check_models.check_base_models(__name__)
|
@@ -0,0 +1 @@
|
|
1
|
+
{"IT": "layer3.5", "V4": "layer2.1", "V1": "layer1.0", "V2": "layer3.0"}
|
@@ -0,0 +1 @@
|
|
1
|
+
torch
|
@@ -0,0 +1,9 @@
|
|
1
|
+
from brainscore_vision.model_helpers.brain_transformation import ModelCommitment
|
2
|
+
from brainscore_vision import model_registry
|
3
|
+
from .model import get_layers,get_model
|
4
|
+
from .helpers.vonecornets import VOneCORnetCommitment, _build_time_mappings, CORNET_S_TIMEMAPPING
|
5
|
+
|
6
|
+
|
7
|
+
model_registry['VOneCORnet-S'] = \
|
8
|
+
lambda: VOneCORnetCommitment(identifier='VOneCORnet-S', activations_model=get_model('VOneCORnet-S'),
|
9
|
+
layers=get_layers('VOneCORnet-S'), time_mapping=_build_time_mappings(CORNET_S_TIMEMAPPING))
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import logging
|
2
|
+
from importlib import import_module
|
3
|
+
from brainscore_vision.model_helpers.activations import PytorchWrapper
|
4
|
+
from brainscore_vision.model_helpers.activations.pytorch import load_preprocess_images
|
5
|
+
from .cornet_s_helpers import cornet as cornet_ctr
|
6
|
+
from vonenet import get_model
|
7
|
+
from .cornet_s_helpers import TemporalPytorchWrapper
|
8
|
+
import functools
|
9
|
+
|
10
|
+
|
11
|
+
_logger = logging.getLogger(__name__)
|
12
|
+
|
13
|
+
|
14
|
+
def torchvision_model(identifier, image_size):
|
15
|
+
module = import_module(f'torchvision.models')
|
16
|
+
model_ctr = getattr(module, identifier)
|
17
|
+
from model_helpers.activations.pytorch import load_preprocess_images
|
18
|
+
preprocessing = functools.partial(load_preprocess_images, image_size=image_size)
|
19
|
+
wrapper = PytorchWrapper(identifier=identifier, model=model_ctr(pretrained=True), preprocessing=preprocessing)
|
20
|
+
wrapper.image_size = image_size
|
21
|
+
return wrapper
|
22
|
+
|
23
|
+
def cornet(*args, **kwargs): # wrapper to avoid having to import cornet at top-level
|
24
|
+
return cornet_ctr(*args, **kwargs)
|
25
|
+
|
26
|
+
def vonecornet(model_name='cornets'):
|
27
|
+
model = get_model(model_name)
|
28
|
+
model = model.module
|
29
|
+
preprocessing = functools.partial(load_preprocess_images, image_size=224,
|
30
|
+
normalize_mean=(0.5, 0.5, 0.5), normalize_std=(0.5, 0.5, 0.5))
|
31
|
+
wrapper = TemporalPytorchWrapper(identifier='vone'+model_name, model=model, preprocessing=preprocessing)
|
32
|
+
wrapper.image_size = 224
|
33
|
+
return wrapper
|
34
|
+
|
@@ -0,0 +1,128 @@
|
|
1
|
+
import importlib
|
2
|
+
import logging
|
3
|
+
from collections import defaultdict
|
4
|
+
import functools
|
5
|
+
import re
|
6
|
+
import torch
|
7
|
+
from torch.nn import Module
|
8
|
+
from brainio.assemblies import merge_data_arrays, NeuroidAssembly, walk_coords
|
9
|
+
from brainscore_vision.model_helpers.s3 import load_weight_file
|
10
|
+
from brainscore_vision.model_helpers.activations.core import ActivationsExtractorHelper
|
11
|
+
from brainscore_vision.model_helpers.activations.pytorch import PytorchWrapper
|
12
|
+
from brainscore_vision.model_helpers.activations.pytorch import load_preprocess_images
|
13
|
+
|
14
|
+
_logger = logging.getLogger(__name__)
|
15
|
+
|
16
|
+
|
17
|
+
def cornet(identifier, separate_time=True):
|
18
|
+
cornet_type = re.match('CORnet-(.*)', identifier).group(1)
|
19
|
+
mod = importlib.import_module(f'cornet.cornet_{cornet_type.lower()}')
|
20
|
+
model_ctr = getattr(mod, f'CORnet_{cornet_type.upper()}')
|
21
|
+
model = model_ctr()
|
22
|
+
|
23
|
+
WEIGHT_MAPPING = {
|
24
|
+
'Z': 'cornet_z-5c427c9c.pth',
|
25
|
+
'R': 'cornet_r_epoch25.pth.tar',
|
26
|
+
'S': 'cornet_s_epoch43.pth.tar',
|
27
|
+
'R2': 'cornet_r2_epoch_60.pth.tar',
|
28
|
+
'S10': 'cornet_s10_latest.pth.tar',
|
29
|
+
'S222': 'cornet_s222_latest.pth.tar',
|
30
|
+
'S444': 'cornet_s444_latest.pth.tar',
|
31
|
+
'S484': 'cornet_s484_latest.pth.tar',
|
32
|
+
}
|
33
|
+
|
34
|
+
class Wrapper(Module):
|
35
|
+
def __init__(self, model):
|
36
|
+
super(Wrapper, self).__init__()
|
37
|
+
self.module = model
|
38
|
+
|
39
|
+
model = Wrapper(model) # model was wrapped with DataParallel, so weights require `module.` prefix
|
40
|
+
weights_path = load_weight_file(bucket="brainscore-storage", folder_name="brainscore-vision/models",
|
41
|
+
relative_path="cornet_s/cornet_s_epoch43.pth.tar",
|
42
|
+
version_id="null",
|
43
|
+
sha1="a4bfd8eda33b45fd945da1b972ab0b7cad38d60f")
|
44
|
+
checkpoint = torch.load(weights_path, map_location=lambda storage, loc: storage) # map onto cpu
|
45
|
+
model.load_state_dict(checkpoint['state_dict'])
|
46
|
+
model = model.module # unwrap
|
47
|
+
preprocessing = functools.partial(load_preprocess_images, image_size=224)
|
48
|
+
wrapper = TemporalPytorchWrapper(identifier=identifier, model=model, preprocessing=preprocessing,
|
49
|
+
separate_time=separate_time)
|
50
|
+
wrapper.image_size = 224
|
51
|
+
return wrapper
|
52
|
+
|
53
|
+
|
54
|
+
class TemporalPytorchWrapper(PytorchWrapper):
|
55
|
+
def __init__(self, *args, separate_time=True, **kwargs):
|
56
|
+
self._separate_time = separate_time
|
57
|
+
super(TemporalPytorchWrapper, self).__init__(*args, **kwargs)
|
58
|
+
|
59
|
+
def _build_extractor(self, *args, **kwargs):
|
60
|
+
if self._separate_time:
|
61
|
+
return TemporalExtractor(*args, **kwargs)
|
62
|
+
else:
|
63
|
+
return super(TemporalPytorchWrapper, self)._build_extractor(*args, **kwargs)
|
64
|
+
|
65
|
+
def get_activations(self, images, layer_names):
|
66
|
+
# reset
|
67
|
+
self._layer_counter = defaultdict(lambda: 0)
|
68
|
+
self._layer_hooks = {}
|
69
|
+
return super(TemporalPytorchWrapper, self).get_activations(images=images, layer_names=layer_names)
|
70
|
+
|
71
|
+
def register_hook(self, layer, layer_name, target_dict):
|
72
|
+
layer_name = self._strip_layer_timestep(layer_name)
|
73
|
+
if layer_name in self._layer_hooks: # add hook only once for multiple timesteps
|
74
|
+
return self._layer_hooks[layer_name]
|
75
|
+
|
76
|
+
def hook_function(_layer, _input, output):
|
77
|
+
target_dict[f"{layer_name}-t{self._layer_counter[layer_name]}"] = PytorchWrapper._tensor_to_numpy(output)
|
78
|
+
self._layer_counter[layer_name] += 1
|
79
|
+
|
80
|
+
hook = layer.register_forward_hook(hook_function)
|
81
|
+
self._layer_hooks[layer_name] = hook
|
82
|
+
return hook
|
83
|
+
|
84
|
+
def get_layer(self, layer_name):
|
85
|
+
layer_name = self._strip_layer_timestep(layer_name)
|
86
|
+
return super(TemporalPytorchWrapper, self).get_layer(layer_name)
|
87
|
+
|
88
|
+
def _strip_layer_timestep(self, layer_name):
|
89
|
+
match = re.search('-t[0-9]+$', layer_name)
|
90
|
+
if match:
|
91
|
+
layer_name = layer_name[:match.start()]
|
92
|
+
return layer_name
|
93
|
+
|
94
|
+
|
95
|
+
class TemporalExtractor(ActivationsExtractorHelper):
|
96
|
+
# `from_paths` is the earliest method at which we can interject because calls below are stored and checked for the
|
97
|
+
# presence of all layers which, for CORnet, are passed as e.g. `IT.output-t0`.
|
98
|
+
# This code re-arranges the time component.
|
99
|
+
def from_paths(self, *args, **kwargs):
|
100
|
+
raw_activations = super(TemporalExtractor, self).from_paths(*args, **kwargs)
|
101
|
+
# introduce time dimension
|
102
|
+
regions = defaultdict(list)
|
103
|
+
for layer in set(raw_activations['layer'].values):
|
104
|
+
match = re.match(r'(([^-]*)\..*|logits|avgpool)-t([0-9]+)', layer)
|
105
|
+
region, timestep = match.group(2) if match.group(2) else match.group(1), match.group(3)
|
106
|
+
stripped_layer = match.group(1)
|
107
|
+
regions[region].append((layer, stripped_layer, timestep))
|
108
|
+
activations = {}
|
109
|
+
for region, time_layers in regions.items():
|
110
|
+
for (full_layer, stripped_layer, timestep) in time_layers:
|
111
|
+
region_time_activations = raw_activations.sel(layer=full_layer)
|
112
|
+
region_time_activations['layer'] = 'neuroid', [stripped_layer] * len(region_time_activations['neuroid'])
|
113
|
+
activations[(region, timestep)] = region_time_activations
|
114
|
+
for key, key_activations in activations.items():
|
115
|
+
region, timestep = key
|
116
|
+
key_activations['region'] = 'neuroid', [region] * len(key_activations['neuroid'])
|
117
|
+
activations[key] = NeuroidAssembly([key_activations.values], coords={
|
118
|
+
**{coord: (dims, values) for coord, dims, values in walk_coords(activations[key])
|
119
|
+
if coord != 'neuroid_id'}, # otherwise, neuroid dim will be as large as before with nans
|
120
|
+
**{'time_step': [int(timestep)]}
|
121
|
+
}, dims=['time_step'] + list(key_activations.dims))
|
122
|
+
activations = list(activations.values())
|
123
|
+
activations = merge_data_arrays(activations)
|
124
|
+
# rebuild neuroid_id without timestep
|
125
|
+
neuroid_id = [".".join([f"{value}" for value in values]) for values in zip(*[
|
126
|
+
activations[coord].values for coord in ['model', 'region', 'neuroid_num']])]
|
127
|
+
activations['neuroid_id'] = 'neuroid', neuroid_id
|
128
|
+
return activations
|
@@ -0,0 +1,136 @@
|
|
1
|
+
import logging
|
2
|
+
import numpy as np
|
3
|
+
from brainio.assemblies import merge_data_arrays, NeuroidAssembly, walk_coords
|
4
|
+
from brainscore_vision.model_helpers.brain_transformation import ModelCommitment
|
5
|
+
from brainscore_vision.model_helpers.brain_transformation.temporal import fix_timebin_naming
|
6
|
+
from tqdm import tqdm
|
7
|
+
from typing import Dict, Tuple
|
8
|
+
from .cornet_helpers import cornet
|
9
|
+
|
10
|
+
_logger = logging.getLogger(__name__)
|
11
|
+
|
12
|
+
CORNET_S_TIMEMAPPING = {
|
13
|
+
'V1': (50, 100, 1),
|
14
|
+
'V2': (70, 100, 2),
|
15
|
+
'V4': (90, 50, 4),
|
16
|
+
'IT': (100, 100, 2),
|
17
|
+
}
|
18
|
+
|
19
|
+
|
20
|
+
class CORnetCommitment(ModelCommitment):
|
21
|
+
"""
|
22
|
+
CORnet commitment where only the model interface is implemented and behavioral readouts are attached.
|
23
|
+
Importantly, layer-region commitments do not occur due to the anatomical pre-mapping.
|
24
|
+
Further, due to the temporal component of the model, requested time-bins are matched to the nearest committed
|
25
|
+
time-bin for the model.
|
26
|
+
"""
|
27
|
+
|
28
|
+
def __init__(self, *args, time_mapping: Dict[str, Dict[int, Tuple[int, int]]], **kwargs):
|
29
|
+
"""
|
30
|
+
:param time_mapping: mapping from region -> {model_timestep -> (time_bin_start, time_bin_end)}
|
31
|
+
"""
|
32
|
+
super(CORnetCommitment, self).__init__(*args, **kwargs)
|
33
|
+
self.time_mapping = time_mapping
|
34
|
+
self.recording_layers = None
|
35
|
+
self.recording_time_bins = None
|
36
|
+
# deal with activations_model returning a time_bin
|
37
|
+
for key, executor in self.behavior_model.mapping.items():
|
38
|
+
executor.activations_model = TemporalIgnore(executor.activations_model)
|
39
|
+
|
40
|
+
def start_recording(self, recording_target, time_bins):
|
41
|
+
self.recording_target = recording_target
|
42
|
+
self.recording_layers = [layer for layer in self.layers if layer.startswith(recording_target)]
|
43
|
+
self.recording_time_bins = time_bins
|
44
|
+
|
45
|
+
def look_at(self, stimuli, number_of_trials=1):
|
46
|
+
if self.do_behavior:
|
47
|
+
return super(CORnetCommitment, self).look_at(stimuli, number_of_trials=number_of_trials)
|
48
|
+
else:
|
49
|
+
return self.look_at_temporal(stimuli=stimuli) # ignore number_of_trials
|
50
|
+
|
51
|
+
def look_at_temporal(self, stimuli):
|
52
|
+
responses = self.activations_model(stimuli, layers=self.recording_layers)
|
53
|
+
# map time
|
54
|
+
if hasattr(self, 'recording_target'):
|
55
|
+
regions = set([self.recording_target])
|
56
|
+
else:
|
57
|
+
regions = set(responses['region'].values)
|
58
|
+
if len(regions) > 1:
|
59
|
+
raise NotImplementedError("cannot handle more than one simultaneous region")
|
60
|
+
region = list(regions)[0]
|
61
|
+
time_bins = [self.time_mapping[region][timestep] if timestep in self.time_mapping[region] else (None, None)
|
62
|
+
for timestep in responses['time_step'].values]
|
63
|
+
responses['time_bin_start'] = 'time_step', [time_bin[0] for time_bin in time_bins]
|
64
|
+
responses['time_bin_end'] = 'time_step', [time_bin[1] for time_bin in time_bins]
|
65
|
+
responses = NeuroidAssembly(responses.rename({'time_step': 'time_bin'}))
|
66
|
+
responses = responses[{'time_bin': [not np.isnan(time_start) for time_start in responses['time_bin_start']]}]
|
67
|
+
# select time
|
68
|
+
time_responses = []
|
69
|
+
for time_bin in tqdm(self.recording_time_bins, desc='CORnet-time to recording time'):
|
70
|
+
time_bin = time_bin if not isinstance(time_bin, np.ndarray) else time_bin.tolist()
|
71
|
+
time_bin_start, time_bin_end = time_bin
|
72
|
+
nearest_start = find_nearest(responses['time_bin_start'].values, time_bin_start)
|
73
|
+
bin_responses = responses.sel(time_bin_start=nearest_start)
|
74
|
+
bin_responses = NeuroidAssembly(bin_responses.values, coords={
|
75
|
+
**{coord: (dims, values) for coord, dims, values in walk_coords(bin_responses)
|
76
|
+
if coord not in ['time_bin_level_0', 'time_bin_end']},
|
77
|
+
**{'time_bin_start': ('time_bin', [time_bin_start]),
|
78
|
+
'time_bin_end': ('time_bin', [time_bin_end])}
|
79
|
+
}, dims=bin_responses.dims)
|
80
|
+
time_responses.append(bin_responses)
|
81
|
+
responses = merge_data_arrays(time_responses)
|
82
|
+
responses = fix_timebin_naming(responses) # work around xarray merge bug introduced in 0.16.2
|
83
|
+
return responses
|
84
|
+
|
85
|
+
|
86
|
+
def find_nearest(array, value):
|
87
|
+
array = np.asarray(array)
|
88
|
+
idx = (np.abs(array - value)).argmin()
|
89
|
+
return array[idx]
|
90
|
+
|
91
|
+
|
92
|
+
class TemporalIgnore:
|
93
|
+
"""
|
94
|
+
Wrapper around a activations model that squeezes out the temporal axis.
|
95
|
+
Useful when there is only one time step and the behavioral readout does not know what to do with time.
|
96
|
+
"""
|
97
|
+
|
98
|
+
def __init__(self, temporal_activations_model):
|
99
|
+
self._activations_model = temporal_activations_model
|
100
|
+
|
101
|
+
def __call__(self, *args, **kwargs):
|
102
|
+
activations = self._activations_model(*args, **kwargs)
|
103
|
+
activations = activations.squeeze('time_step')
|
104
|
+
return activations
|
105
|
+
|
106
|
+
|
107
|
+
def _build_time_mappings(time_mappings):
|
108
|
+
return {region: {
|
109
|
+
timestep: (time_start + timestep * time_step_size,
|
110
|
+
time_start + (timestep + 1) * time_step_size)
|
111
|
+
for timestep in range(0, timesteps)}
|
112
|
+
for region, (time_start, time_step_size, timesteps) in time_mappings.items()}
|
113
|
+
|
114
|
+
|
115
|
+
def cornet_z_brainmodel():
|
116
|
+
return CORnetCommitment(identifier='CORnet-Z', activations_model=cornet('CORnet-Z'),
|
117
|
+
layers=[f'{region}.output-t0' for region in ['V1', 'V2', 'V4', 'IT']] +
|
118
|
+
['decoder.avgpool-t0'],
|
119
|
+
time_mapping={
|
120
|
+
'V1': {0: (50, 150)},
|
121
|
+
'V2': {0: (70, 170)},
|
122
|
+
'V4': {0: (90, 190)},
|
123
|
+
'IT': {0: (100, 200)},
|
124
|
+
})
|
125
|
+
|
126
|
+
|
127
|
+
def cornet_s_brainmodel():
|
128
|
+
# map region -> (time_start, time_step_size, timesteps)
|
129
|
+
time_mappings = CORNET_S_TIMEMAPPING
|
130
|
+
return CORnetCommitment(identifier='CORnet-S', activations_model=cornet('CORnet-S'),
|
131
|
+
layers=['V1.output-t0'] +
|
132
|
+
[f'{area}.output-t{timestep}'
|
133
|
+
for area, timesteps in [('V2', range(2)), ('V4', range(4)), ('IT', range(2))]
|
134
|
+
for timestep in timesteps] +
|
135
|
+
['decoder.avgpool-t0'],
|
136
|
+
time_mapping=_build_time_mappings(time_mappings))
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from .cornets import CORnetCommitment, _build_time_mappings, CORNET_S_TIMEMAPPING
|
2
|
+
import logging
|
3
|
+
from .cornet_helpers import vonecornet
|
4
|
+
_logger = logging.getLogger(__name__)
|
5
|
+
|
6
|
+
|
7
|
+
class VOneCORnetCommitment(CORnetCommitment):
|
8
|
+
def start_recording(self, recording_target, time_bins):
|
9
|
+
self.recording_target = recording_target
|
10
|
+
if recording_target == 'V1':
|
11
|
+
self.recording_layers = ['vone_block.output-t0']
|
12
|
+
else:
|
13
|
+
self.recording_layers = [layer for layer in self.layers if recording_target in layer]
|
14
|
+
self.recording_time_bins = time_bins
|
15
|
+
|
16
|
+
def look_at(self, stimuli, number_of_trials=1):
|
17
|
+
stimuli_identifier = stimuli.identifier
|
18
|
+
for trial_number in range(number_of_trials):
|
19
|
+
if stimuli_identifier:
|
20
|
+
stimuli.identifier = stimuli_identifier + '-trial' + f'{trial_number:03d}'
|
21
|
+
if trial_number == 0:
|
22
|
+
activations = super().look_at(stimuli, number_of_trials=1)
|
23
|
+
else:
|
24
|
+
activations += super().look_at(stimuli, number_of_trials=1)
|
25
|
+
stimuli.identifier = stimuli_identifier
|
26
|
+
return activations/number_of_trials
|
27
|
+
|
28
|
+
|
29
|
+
def vonecornet_s_brainmodel():
|
30
|
+
# map region -> (time_start, time_step_size, timesteps)
|
31
|
+
time_mappings = CORNET_S_TIMEMAPPING
|
32
|
+
return VOneCORnetCommitment(identifier='VOneCORnet-S', activations_model=vonecornet('cornets'),
|
33
|
+
layers=['vone_block.output-t0'] + [f'model.{area}.output-t{timestep}'
|
34
|
+
for area, timesteps in
|
35
|
+
[('V2', range(2)), ('V4', range(4)), ('IT', range(2))]
|
36
|
+
for timestep in timesteps] +
|
37
|
+
['model.decoder.avgpool-t0'], time_mapping=_build_time_mappings(time_mappings))
|
38
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from brainscore_vision.model_helpers.check_submission import check_models
|
2
|
+
import functools
|
3
|
+
import torchvision.models
|
4
|
+
from brainscore_vision.model_helpers.activations.pytorch import PytorchWrapper
|
5
|
+
from brainscore_vision.model_helpers.activations.pytorch import load_preprocess_images
|
6
|
+
from .helpers.cornet_helpers import vonecornet
|
7
|
+
|
8
|
+
|
9
|
+
def get_model(name):
|
10
|
+
assert name == 'VOneCORnet-S'
|
11
|
+
return vonecornet('cornets')
|
12
|
+
|
13
|
+
def get_layers(name):
|
14
|
+
assert name == 'VOneCORnet-S'
|
15
|
+
return ['vone_block.output-t0'] + [f'model.{area}.output-t{timestep}'
|
16
|
+
for area, timesteps in
|
17
|
+
[('V2', range(2)), ('V4', range(4)), ('IT', range(2))]
|
18
|
+
for timestep in timesteps] + ['model.decoder.avgpool-t0']
|
19
|
+
|
20
|
+
def get_bibtex(model_identifier):
|
21
|
+
return """xx"""
|
22
|
+
|
23
|
+
|
24
|
+
if __name__ == '__main__':
|
25
|
+
check_models.check_base_models(__name__)
|
@@ -0,0 +1 @@
|
|
1
|
+
vonenet @ git+https://github.com/dicarlolab/vonenet
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from brainscore_vision import model_registry
|
2
|
+
from brainscore_vision.model_helpers.brain_transformation import ModelCommitment
|
3
|
+
from .model import get_model, get_layers
|
4
|
+
|
5
|
+
model_registry['alexnet_training_seed_01'] = lambda: ModelCommitment(identifier='alexnet_training_seed_01', activations_model=get_model('alexnet_training_seed_01'), layers=get_layers('alexnet_training_seed_01'))
|
6
|
+
|