Repository Analysis

mlfoundations/open_clip

An open source implementation of CLIP.

24.5 Moderate AI signal View on GitHub
24.5
Adjusted Score
24.5
Raw Score
100%
Time Factor
2026-05-27
Last Push
13,876
Stars
Python
Language
28,868
Lines of Code
275
Files
487
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 6MEDIUM 65LOW 416

Pattern Findings

487 matches across 10 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers234 hits · 266 pts
SeverityFileLineSnippet
LOWtests/test_audio_zero_shot.py87def test_hf_audio_dataset_wrapper_and_classnames():
LOWtests/test_audio_zero_shot.py101def test_hf_audio_dataset_wrapper_accepts_decoder_like_audio():
LOWtests/test_audio_zero_shot.py116def test_build_hf_audio_zero_shot_dataset_defaults_to_no_workers(monkeypatch):
LOWtests/test_audio_zero_shot.py152def test_build_hf_audio_zero_shot_dataset_sets_worker_context(monkeypatch):
LOWtests/test_audio_zero_shot.py189def test_run_audio_zero_shot_classifier():
LOWtests/test_audio_zero_shot.py219def test_audio_zero_shot_template_validation():
LOWtests/test_audio_zero_shot.py229def test_run_audio_zero_shot_classifier_uses_bare_model_dummy_audio(monkeypatch):
LOWtests/test_hf_model.py22def test_pretrained_text_encoder(model_id):
LOWtests/test_naflex_timm_conversion.py46def _tiny_native_vit_clip_config():
LOWtests/test_naflex_timm_conversion.py67def _tiny_native_vit_quickgelu_clip_config():
LOWtests/test_naflex_timm_conversion.py100def _write_tiny_big_vision_npz(path):
LOWtests/test_naflex_timm_conversion.py167def test_force_naflex_vision_passes_use_naflex_to_timm(monkeypatch):
LOWtests/test_naflex_timm_conversion.py186def test_force_naflex_vision_accepts_timm_models_by_module_membership():
LOWtests/test_naflex_timm_conversion.py193def test_force_naflex_vision_configures_pe_core_timm_tower():
LOWtests/test_naflex_timm_conversion.py206def test_force_naflex_vision_converts_native_vit_config():
LOWtests/test_naflex_timm_conversion.py222def test_force_naflex_vision_rejects_non_vit_model():
LOWtests/test_naflex_timm_conversion.py231def test_parse_use_naflex_enables_timm_naflex_aug_cfg():
LOWtests/test_naflex_timm_conversion.py239def test_parse_force_naflex_vision_does_not_enable_naflex_data_pipeline():
LOWtests/test_naflex_timm_conversion.py248def test_naflex_data_config_defaults_to_model_patch_size():
LOWtests/test_naflex_timm_conversion.py317def test_convert_naflex_timm_state_dict_maps_patch_embed_weight():
LOWtests/test_naflex_timm_conversion.py346def test_convert_naflex_native_vit_state_dict_folds_class_pos_embed():
LOWtests/test_naflex_timm_conversion.py386def test_force_naflex_native_vit_dense_output_matches_native(monkeypatch, config_fn):
LOWtests/test_task_specific_unit.py84def test_clip_task_loss_aggregation():
LOWtests/test_task_specific_unit.py94def test_clip_task_logit_scale_in_output():
LOWtests/test_task_specific_unit.py108def test_coca_build_loss_inputs_autoregressive_shift():
LOWtests/test_task_specific_unit.py121def test_coca_training_forward_produces_loss():
LOWtests/test_task_specific_unit.py131def test_coca_compute_accum_loss_concatenates_batches():
LOWtests/test_task_specific_unit.py164def test_distill_teacher_frozen():
LOWtests/test_task_specific_unit.py173def test_distill_teacher_stays_eval():
LOWtests/test_task_specific_unit.py182def test_distill_training_forward_prefixes_teacher_outputs():
LOWtests/test_task_specific_unit.py204def test_distill_teacher_no_grad():
LOWtests/test_audio_model_configs.py10def test_clap_htsat_tiny_config_instantiates_with_audio_deps():
LOWtests/test_clap_task.py78def test_clap_task_training_forward_returns_loss():
LOWtests/test_clap_task.py86def test_clap_task_eval_forward_keeps_audio_features_key():
LOWtests/test_clap_task.py94def test_clap_task_eval_forward_accepts_text_kwargs():
LOWtests/test_clap_task.py102def test_clap_task_dummy_batch_and_batch_size():
LOWtests/test_clap_task.py113def test_clap_task_accum_loss_maps_audio_features_to_clip_loss():
LOWtests/test_clap_task.py123def test_create_task_dispatches_clap(monkeypatch):
LOWtests/test_clap_task.py145def test_factory_dispatches_audio_config_to_clap(tmp_path, monkeypatch):
LOWtests/test_clap_task.py185def test_evaluate_uses_task_primary_key_for_audio():
LOWtests/test_clap_task.py215def test_audio_checkpoint_retries_only_weights_only_payload_errors(monkeypatch):
LOWtests/test_clap_task.py231def test_audio_checkpoint_does_not_retry_unrelated_unpickle_errors(monkeypatch):
LOWtests/test_zero_shot_eval.py26def test_zero_shot_eval_handles_already_unwrapped_model(monkeypatch):
LOWtests/test_zero_shot_eval.py74def test_zero_shot_eval_unwraps_wrapped_model_once(monkeypatch):
LOWtests/test_zero_shot_eval.py122def test_zero_shot_eval_rejects_non_image_model():
LOWtests/test_zero_shot_eval.py143def test_accuracy_returns_python_floats():
LOWtests/test_zero_shot_eval.py160def test_run_zero_shot_classifier_accepts_naflex_image_dict():
LOWtests/test_task_compile.py51def test_task_compile_keeps_task_methods_and_compiles_train_eval_forward():
LOWtests/test_task_compile.py73def test_task_compile_model_compiles_trainable_module_only():
LOWtests/test_task_compile.py83def test_compiled_train_step_runs_forward_backward_and_optimizer_step():
LOWtests/test_task_compile.py102def test_compiled_train_step_handles_grad_clip():
LOWtests/test_task_compile.py123def test_train_state_counter_restore_prefers_checkpoint_metadata():
LOWtests/test_task_compile.py146def test_train_state_counter_restore_estimates_legacy_checkpoint_values():
LOWtests/test_task_compile.py164def test_tensor_learning_rate_updates_in_place():
LOWtests/test_audio_checkpointing.py5def test_whisper_encoder_uses_gradient_checkpointing(monkeypatch):
LOWtests/test_audio_checkpointing.py42def test_htsat_basic_layer_checkpointing_handles_tuple_output():
LOWtests/test_eval_task.py58def test_get_model_from_raw_task(label, TaskCls, model_name, task_kw):
LOWtests/test_eval_task.py67def test_get_model_from_compiled_task(label, TaskCls, model_name, task_kw):
LOWtests/test_eval_task.py77def test_get_model_from_plain_model(label, TaskCls, model_name, task_kw):
LOWtests/test_eval_task.py85def test_get_model_from_distill_task():
174 more matches not shown…
Decorative Section Separators60 hits · 237 pts
SeverityFileLineSnippet
MEDIUMtests/test_task_specific_unit.py14# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py16# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py79# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py81# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py103# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py105# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py159# ---------------------------------------------------------------------------
MEDIUMtests/test_task_specific_unit.py161# ---------------------------------------------------------------------------
MEDIUMtests/test_eval_task.py46# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_eval_task.py48# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_eval_task.py105# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_eval_task.py107# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_data_csv.py28# ---------------------------------------------------------------------------
MEDIUMtests/test_data_csv.py30# ---------------------------------------------------------------------------
MEDIUMtests/test_data_csv.py78# ---------------------------------------------------------------------------
MEDIUMtests/test_data_csv.py80# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py18# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py20# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py51# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py53# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py78# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py80# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py110# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py112# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py183# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py185# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py207# ---------------------------------------------------------------------------
MEDIUMtests/test_task_fsdp_unit.py209# ---------------------------------------------------------------------------
MEDIUMtests/test_task_checkpoint.py226# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_task_checkpoint.py228# ──────────────────────────────────────────────────────────────────────
MEDIUMtests/test_task_base_unit.py61# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py63# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py107# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py109# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py150# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py152# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py215# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py217# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py225# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py227# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py249# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py251# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py18# ---------------------------------------------------------------------------
MEDIUMtests/test_task_base_unit.py20# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py6# --------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py8# --------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py14# --------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py19# --------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py70# --------------------------------------------------------
MEDIUMsrc/open_clip/pos_embed.py74# --------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py52# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py54# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py111# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py113# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py148# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py150# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py242# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py244# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py374# ---------------------------------------------------------------------------
MEDIUMsrc/open_clip/audio/whisper.py376# ---------------------------------------------------------------------------
Unused Imports107 hits · 86 pts
SeverityFileLineSnippet
LOWtests/test_factory_task.py8
LOWtests/test_factory_task.py12
LOWtests/test_task_checkpoint.py14
LOWtests/test_task_checkpoint.py22
LOWtests/test_audio_data.py1
LOWtests/test_training_simple.py5
LOWtests/test_wds.py9
LOWsrc/open_clip/zero_shot_classifier.py3
LOWsrc/open_clip/pretrained.py7
LOWsrc/open_clip/pretrained.py13
LOWsrc/open_clip/hf_model.py13
LOWsrc/open_clip/__init__.py1
LOWsrc/open_clip/__init__.py3
LOWsrc/open_clip/__init__.py4
LOWsrc/open_clip/__init__.py4
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py5
LOWsrc/open_clip/__init__.py6
LOWsrc/open_clip/__init__.py6
LOWsrc/open_clip/__init__.py6
LOWsrc/open_clip/__init__.py6
LOWsrc/open_clip/__init__.py7
LOWsrc/open_clip/__init__.py7
LOWsrc/open_clip/__init__.py7
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py8
LOWsrc/open_clip/__init__.py9
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py10
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py13
LOWsrc/open_clip/__init__.py15
LOWsrc/open_clip/__init__.py15
LOWsrc/open_clip/__init__.py16
LOWsrc/open_clip/__init__.py16
LOWsrc/open_clip/__init__.py16
47 more matches not shown…
Deep Nesting42 hits · 40 pts
SeverityFileLineSnippet
LOWsrc/open_clip/coca_model.py247
LOWsrc/open_clip/zero_shot_classifier.py76
LOWsrc/open_clip/pretrained.py812
LOWsrc/open_clip/hf_model.py99
LOWsrc/open_clip/convert.py13
LOWsrc/open_clip/convert.py21
LOWsrc/open_clip/push_to_hf_hub.py209
LOWsrc/open_clip/factory.py44
LOWsrc/open_clip/factory.py259
LOWsrc/open_clip/factory.py684
LOWsrc/open_clip/factory.py899
LOWsrc/open_clip/model.py367
LOWsrc/open_clip/tokenizer.py390
LOWsrc/open_clip/loss.py405
LOWsrc/open_clip/utils.py67
LOWsrc/open_clip/transformer.py958
LOWsrc/open_clip/transformer.py1396
LOWsrc/open_clip/transformer.py188
LOWsrc/open_clip/transformer.py749
LOWsrc/open_clip/transformer.py1478
LOWsrc/open_clip/transform.py367
LOWsrc/open_clip/audio/convert.py76
LOWsrc/open_clip/audio/whisper.py379
LOWsrc/open_clip/audio/htsat.py1158
LOWsrc/open_clip/audio/htsat.py104
LOWsrc/open_clip/audio/htsat.py741
LOWsrc/open_clip/audio/htsat.py1032
LOWsrc/open_clip/audio/transform.py94
LOWsrc/open_clip/task/base_task.py377
LOWsrc/open_clip_train/legacy_train.py79
LOWsrc/open_clip_train/legacy_train.py261
LOWsrc/open_clip_train/legacy_main.py71
LOWsrc/open_clip_train/distributed.py23
LOWsrc/open_clip_train/audio_zero_shot.py266
LOWsrc/open_clip_train/train.py179
LOWsrc/open_clip_train/train.py296
LOWsrc/open_clip_train/train.py449
LOWsrc/open_clip_train/zero_shot.py54
LOWsrc/open_clip_train/main.py90
LOWsrc/open_clip_train/profiler.py131
LOWsrc/open_clip_train/data.py381
LOWsrc/open_clip_train/data.py699
Excessive Try-Catch Wrapping20 hits · 22 pts
SeverityFileLineSnippet
LOWsrc/open_clip/pretrained.py900 except Exception:
LOWsrc/open_clip/pretrained.py912 except Exception as e:
LOWsrc/open_clip/push_to_hf_hub.py118 except Exception as e:
LOWsrc/open_clip/factory.py370 except Exception as e:
LOWsrc/open_clip/factory.py394 except Exception as e_weights:
LOWsrc/open_clip/factory.py397 except Exception as e_config:
LOWsrc/open_clip/factory.py425 except Exception as e:
LOWsrc/open_clip/factory.py586 except Exception as e:
LOWsrc/open_clip/factory.py614 except Exception as e:
LOWsrc/open_clip/factory.py636 except Exception as e:
LOWsrc/open_clip/factory.py723 except Exception as e:
LOWsrc/open_clip/factory.py739 except Exception as e:
LOWsrc/open_clip/tokenizer.py193 except Exception:
LOWsrc/open_clip/timm_model.py150 except Exception as e:
LOWsrc/open_clip/audio/whisper.py430 except Exception as e:
LOWsrc/open_clip/audio/htsat.py1205 except Exception as exc:
MEDIUMsrc/open_clip/audio/htsat.py1158def create_htsat_model(audio_cfg, enable_fusion=False, fusion_type="None"):
LOWsrc/open_clip_train/file_utils.py40 except Exception as e:
LOWsrc/open_clip_train/profiler.py228 except Exception as e:
MEDIUMsrc/open_clip_train/profiler.py229 print(f'Error profiling {m}: {e}')
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippet
HIGHsrc/open_clip/transformer.py0prune layers not required for specified intermediates.
HIGHsrc/open_clip/transformer.py0prune layers not required for specified intermediates.
HIGHsrc/open_clip/transformer.py0prune layers not required for specified intermediates.
HIGHsrc/open_clip/transformer.py0prune layers not required for specified intermediates.
Redundant / Tautological Comments9 hits · 14 pts
SeverityFileLineSnippet
LOWsrc/open_clip/push_to_hf_hub.py111 # Check if repo already exists and determine what needs updating
LOWsrc/open_clip/factory.py172 # Check if safetensors or not and load weights accordingly
LOWsrc/open_clip/factory.py355 # Check if the required 'model_cfg' key is present
LOWsrc/open_clip/factory.py417 # Check if `pretrained` is a known tag
LOWsrc/open_clip/factory.py575 # Check if model has the 'visual' attribute
LOWsrc/open_clip/factory.py753 # Check if config determination failed completely (should only be possible if initial schema parsing failed badly)
LOWsrc/open_clip/transformer.py1442 # Check if we have transformer blocks to work with
LOWsrc/open_clip/timm_model.py215 # Check if the underlying timm model has set_input_size method
LOWsrc/open_clip_train/distributed.py134 # Check if init_process_group supports device_id (added in PyTorch ~2.4).
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippet
HIGHsrc/open_clip/factory.py88 Parses a model name string to identify a schema and the remaining identifier. Args: model_name: The mo
HIGHsrc/open_clip/factory.py1142 Creates a contrastive vision-language model from pretrained weights with optional preprocessing transform. Thi
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippet
MEDIUMsrc/open_clip/factory.py657 # Absolutely no weights were loaded from any source
MEDIUMsrc/open_clip/tokenizer.py470 # adding lower (for case-sensitive tokenizers) will make it more robust but less sensitive to nuance
MEDIUMsrc/open_clip/tokenizer.py606 # adding lower (for case-sensitive tokenizers) will make it more robust but less sensitive to nuance
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippet
LOWsrc/open_clip/pos_embed.py1# Copyright (c) Meta Platforms, Inc. and affiliates.
LOWsrc/open_clip/tokenizer.py421 self.clean_fn = get_clean_fn(clean)
LOWsrc/open_clip/transformer.py781
LOWsrc/open_clip/audio/htsat.py1121 # output_dict = self.forward_features(x)
LOWsrc/open_clip/audio/htsat.py1141 # framewise_output += d["framewise_output"]
LOWsrc/open_clip_train/data.py541 persistent_workers=args.workers > 0,