Commit 99462735 authored by Мазур Грета Евгеньевна's avatar Мазур Грета Евгеньевна
Browse files

supermega

parent ebdddc50
No related merge requests found
Showing with 30 additions and 24 deletions
+30 -24
......@@ -141,26 +141,29 @@ def compute_metrics(p):
"support": attack_report[attack_type]["support"]
}
metrics = {
'eval_accuracy': safety_report["accuracy"],
'eval_f1': safety_report["weighted avg"]["f1-score"],
'eval_unsafe_recall': safety_report["unsafe"]["recall"],
'eval_safe_precision': safety_report["safe"]["precision"],
'accuracy': safety_report["accuracy"],
'f1': safety_report["weighted avg"]["f1-score"],
'unsafe_recall': safety_report["unsafe"]["recall"], # Без eval_ префикса
'safe_precision': safety_report["safe"]["precision"],
}
if attack_details:
metrics.update({
'eval_evasion_precision': attack_details.get("evasion", {}).get("precision", 0),
'eval_generic_attack_recall': attack_details.get("generic attack", {}).get("recall", 0)
'evasion_precision': attack_details.get("evasion", {}).get("precision", 0),
'generic_attack_recall': attack_details.get("generic attack", {}).get("recall", 0)
})
# Добавляем проверку на наличие unsafe примеров
if np.sum(unsafe_mask) == 0:
metrics['eval_unsafe_recall'] = 0.0
logger.warning("В валидационной выборке отсутствуют unsafe примеры!")
# Добавляем eval_ префиксы только для метрик, используемых в ранней остановке
eval_metrics = {
'eval_accuracy': metrics['accuracy'],
'eval_unsafe_recall': metrics['unsafe_recall'] # Главная метрика для мониторинга
}
logger.info(f"Метрики для ранней остановки: {eval_metrics}")
return eval_metrics
return metrics
# metrics = {
# 'eval_accuracy': safety_report["accuracy"],
# 'eval_f1': safety_report["weighted avg"]["f1-score"],
......
......@@ -141,26 +141,29 @@ def compute_metrics(p):
"support": attack_report[attack_type]["support"]
}
metrics = {
'eval_accuracy': safety_report["accuracy"],
'eval_f1': safety_report["weighted avg"]["f1-score"],
'eval_unsafe_recall': safety_report["unsafe"]["recall"],
'eval_safe_precision': safety_report["safe"]["precision"],
'accuracy': safety_report["accuracy"],
'f1': safety_report["weighted avg"]["f1-score"],
'unsafe_recall': safety_report["unsafe"]["recall"], # Без eval_ префикса
'safe_precision': safety_report["safe"]["precision"],
}
if attack_details:
metrics.update({
'eval_evasion_precision': attack_details.get("evasion", {}).get("precision", 0),
'eval_generic_attack_recall': attack_details.get("generic attack", {}).get("recall", 0)
'evasion_precision': attack_details.get("evasion", {}).get("precision", 0),
'generic_attack_recall': attack_details.get("generic attack", {}).get("recall", 0)
})
# Добавляем проверку на наличие unsafe примеров
if np.sum(unsafe_mask) == 0:
metrics['eval_unsafe_recall'] = 0.0
logger.warning("В валидационной выборке отсутствуют unsafe примеры!")
# Добавляем eval_ префиксы только для метрик, используемых в ранней остановке
eval_metrics = {
'eval_accuracy': metrics['accuracy'],
'eval_unsafe_recall': metrics['unsafe_recall'] # Главная метрика для мониторинга
}
logger.info(f"Метрики для ранней остановки: {eval_metrics}")
return eval_metrics
return metrics
# metrics = {
# 'eval_accuracy': safety_report["accuracy"],
# 'eval_f1': safety_report["weighted avg"]["f1-score"],
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment