NeelakshSaxena commited on
Commit
185c1e4
Β·
1 Parent(s): 77a1ef1

Improve adapter selection and prompt alignment

Browse files
Files changed (1) hide show
  1. app.py +23 -5
app.py CHANGED
@@ -25,8 +25,8 @@ HF_TOKEN = os.getenv("HF_TOKEN")
25
  BASE_MODEL_ID = "llava-hf/llava-1.5-7b-hf"
26
  ADAPTER_PATH = ROOT_DIR / "final-production-weights" / "best_model"
27
  ADAPTER_REPO_ID = "Werrewulf/tmos-dd-weights"
28
- ADAPTER_SUBFOLDER = os.getenv("ADAPTER_SUBFOLDER", "multimodal/checkpoint-5")
29
- PROMPT = "USER: <image>\nIs this image real or produced by AI?\nASSISTANT:"
30
  TARGET_IMAGE_SIZE = 336
31
  THRESHOLD = 0.5
32
 
@@ -66,7 +66,7 @@ def load_model_and_processor():
66
  adapter_source = ADAPTER_REPO_ID
67
 
68
  dtype = select_torch_dtype()
69
- print(f"Loading TMOS-DD model from {adapter_source} (subfolder={ADAPTER_SUBFOLDER}) with dtype={dtype}...")
70
 
71
  base_model = TMOSClassifier(
72
  base_model_id=BASE_MODEL_ID,
@@ -76,9 +76,27 @@ def load_model_and_processor():
76
  )
77
  peft_kwargs = {"is_trainable": False, "token": HF_TOKEN}
78
  if adapter_source == ADAPTER_REPO_ID:
79
- peft_kwargs["subfolder"] = ADAPTER_SUBFOLDER
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
81
- model = PeftModel.from_pretrained(base_model, adapter_source, **peft_kwargs)
82
  model.eval()
83
 
84
  processor = AutoProcessor.from_pretrained(BASE_MODEL_ID, token=HF_TOKEN)
 
25
  BASE_MODEL_ID = "llava-hf/llava-1.5-7b-hf"
26
  ADAPTER_PATH = ROOT_DIR / "final-production-weights" / "best_model"
27
  ADAPTER_REPO_ID = "Werrewulf/tmos-dd-weights"
28
+ ADAPTER_SUBFOLDER = os.getenv("ADAPTER_SUBFOLDER", "")
29
+ PROMPT = "USER: <image>\nIs this video real or produced by AI?\nASSISTANT:"
30
  TARGET_IMAGE_SIZE = 336
31
  THRESHOLD = 0.5
32
 
 
66
  adapter_source = ADAPTER_REPO_ID
67
 
68
  dtype = select_torch_dtype()
69
+ print(f"Loading TMOS-DD model from {adapter_source} with dtype={dtype}...")
70
 
71
  base_model = TMOSClassifier(
72
  base_model_id=BASE_MODEL_ID,
 
76
  )
77
  peft_kwargs = {"is_trainable": False, "token": HF_TOKEN}
78
  if adapter_source == ADAPTER_REPO_ID:
79
+ candidate_subfolders = [
80
+ s for s in [ADAPTER_SUBFOLDER, "multimodal", "multimodal/checkpoint-5", "llava"] if s is not None
81
+ ]
82
+
83
+ last_error = None
84
+ for subfolder in candidate_subfolders:
85
+ try:
86
+ current_kwargs = dict(peft_kwargs)
87
+ if subfolder:
88
+ current_kwargs["subfolder"] = subfolder
89
+ model = PeftModel.from_pretrained(base_model, adapter_source, **current_kwargs)
90
+ print(f"Loaded adapter from repo subfolder: '{subfolder or '.'}'")
91
+ break
92
+ except Exception as exc:
93
+ last_error = exc
94
+ continue
95
+ else:
96
+ raise RuntimeError(f"Failed to load adapter from repo {adapter_source} using known subfolders.") from last_error
97
+ else:
98
+ model = PeftModel.from_pretrained(base_model, adapter_source, **peft_kwargs)
99
 
 
100
  model.eval()
101
 
102
  processor = AutoProcessor.from_pretrained(BASE_MODEL_ID, token=HF_TOKEN)