Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -36,12 +36,16 @@ model_4 = AutoModelForImageClassification.from_pretrained(models[1]).to(device)
|
|
| 36 |
model_5_path = "prithivMLmods/Deep-Fake-Detector-v2-Model"
|
| 37 |
clf_5 = pipeline("image-classification", model=model_5_path, device=device)
|
| 38 |
|
|
|
|
|
|
|
|
|
|
| 39 |
# Define class names for all models
|
| 40 |
class_names_1 = ['artificial', 'real']
|
| 41 |
class_names_2 = ['AI Image', 'Real Image']
|
| 42 |
labels_3 = ['AI', 'Real']
|
| 43 |
labels_4 = ['AI', 'Real']
|
| 44 |
class_names_5 = ['Realism', 'Deepfake']
|
|
|
|
| 45 |
|
| 46 |
def softmax(vector):
|
| 47 |
e = np.exp(vector - np.max(vector)) # for numerical stability
|
|
@@ -223,6 +227,30 @@ def predict_image(img, confidence_threshold):
|
|
| 223 |
|
| 224 |
print(result_5output)
|
| 225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 226 |
|
| 227 |
# try:
|
| 228 |
# result_5output = [5, 'TBA', 0.0, 0.0, 'MAINTENANCE']
|
|
@@ -245,11 +273,12 @@ def predict_image(img, confidence_threshold):
|
|
| 245 |
"ViT/AI-vs-Real": label_2,
|
| 246 |
"Swin/SDXL": label_3,
|
| 247 |
"Swin/SDXL-FLUX": label_4,
|
| 248 |
-
"prithivMLmods": label_5
|
|
|
|
| 249 |
}
|
| 250 |
# Generate HTML content
|
| 251 |
|
| 252 |
-
combined_outputs = [ result_1output, result_2output, result_3output, result_4output, result_5output ]
|
| 253 |
# html_content = generate_results_html(combined_outputs)
|
| 254 |
|
| 255 |
return img_pil, combined_outputs
|
|
@@ -488,6 +517,7 @@ def generate_results_html(results):
|
|
| 488 |
<h4 class="mt-4 text-sm font-semibold tracking-wide">Vits Model</h4>
|
| 489 |
|
| 490 |
<div class="text-xs font-mono">Real: {results[4][2]:.4f}, AI: {results[4][3]:.4f}</div>
|
|
|
|
| 491 |
|
| 492 |
<a class="mt-2 text-xs tracking-wide">@prithivMLmods / more info</a>
|
| 493 |
</div>
|
|
|
|
| 36 |
model_5_path = "prithivMLmods/Deep-Fake-Detector-v2-Model"
|
| 37 |
clf_5 = pipeline("image-classification", model=model_5_path, device=device)
|
| 38 |
|
| 39 |
+
model_5b_path = "prithivMLmods/Deepfake-Detection-Exp-02-22"
|
| 40 |
+
clf_5b = pipeline("image-classification", model=model_5b_path, device=device)
|
| 41 |
+
|
| 42 |
# Define class names for all models
|
| 43 |
class_names_1 = ['artificial', 'real']
|
| 44 |
class_names_2 = ['AI Image', 'Real Image']
|
| 45 |
labels_3 = ['AI', 'Real']
|
| 46 |
labels_4 = ['AI', 'Real']
|
| 47 |
class_names_5 = ['Realism', 'Deepfake']
|
| 48 |
+
class_names_5b = ['Real', 'Deepfake']
|
| 49 |
|
| 50 |
def softmax(vector):
|
| 51 |
e = np.exp(vector - np.max(vector)) # for numerical stability
|
|
|
|
| 227 |
|
| 228 |
print(result_5output)
|
| 229 |
|
| 230 |
+
try:
|
| 231 |
+
prediction_5b = clf_5b(img_pilvits)
|
| 232 |
+
result_5b = {pred['label']: pred['score'] for pred in prediction_5b}
|
| 233 |
+
result_5boutput = [6, 'ViT-base Newcomer', result_5b['Real'], result_5b['Deepfake']]
|
| 234 |
+
|
| 235 |
+
# Ensure the result dictionary contains all class names
|
| 236 |
+
for class_name in class_names_5b:
|
| 237 |
+
if class_name not in result_5b:
|
| 238 |
+
result_5b[class_name] = 0.0
|
| 239 |
+
# Check if either class meets the confidence threshold
|
| 240 |
+
if result_5b['Deepfake'] >= confidence_threshold:
|
| 241 |
+
label_5b = f"AI, Confidence: {result_5b['Deepfake']:.4f}"
|
| 242 |
+
result_5boutput += ['AI']
|
| 243 |
+
elif result_5b['Real Image'] >= confidence_threshold:
|
| 244 |
+
label_5b = f"Real, Confidence: {result_5b['Real']:.4f}"
|
| 245 |
+
result_5boutput += ['REAL']
|
| 246 |
+
else:
|
| 247 |
+
label_5b = "Uncertain Classification"
|
| 248 |
+
result_5boutput += ['UNCERTAIN']
|
| 249 |
+
except Exception as e:
|
| 250 |
+
label_5b = f"Error: {str(e)}"
|
| 251 |
+
|
| 252 |
+
print(result_5boutput)
|
| 253 |
+
|
| 254 |
|
| 255 |
# try:
|
| 256 |
# result_5output = [5, 'TBA', 0.0, 0.0, 'MAINTENANCE']
|
|
|
|
| 273 |
"ViT/AI-vs-Real": label_2,
|
| 274 |
"Swin/SDXL": label_3,
|
| 275 |
"Swin/SDXL-FLUX": label_4,
|
| 276 |
+
"prithivMLmods": label_5,
|
| 277 |
+
"prithivMLmods-2-22": label_5b
|
| 278 |
}
|
| 279 |
# Generate HTML content
|
| 280 |
|
| 281 |
+
combined_outputs = [ result_1output, result_2output, result_3output, result_4output, result_5output, result_5boutput ]
|
| 282 |
# html_content = generate_results_html(combined_outputs)
|
| 283 |
|
| 284 |
return img_pil, combined_outputs
|
|
|
|
| 517 |
<h4 class="mt-4 text-sm font-semibold tracking-wide">Vits Model</h4>
|
| 518 |
|
| 519 |
<div class="text-xs font-mono">Real: {results[4][2]:.4f}, AI: {results[4][3]:.4f}</div>
|
| 520 |
+
<div class="text-xs font-mono">Real: {results[5][2]:.4f}, AI: {results[5][3]:.4f}</div>
|
| 521 |
|
| 522 |
<a class="mt-2 text-xs tracking-wide">@prithivMLmods / more info</a>
|
| 523 |
</div>
|