Spaces:
Running
Running
import pandas as pd | |
from pathlib import Path | |
audio_attacks_with_variations = [ | |
"random_noise", | |
"lowpass_filter", | |
"highpass_filter", | |
"boost_audio", | |
"duck_audio", | |
"shush", | |
] | |
attacks_plot_metrics = ["bit_acc", "log10_p_value", "TPR", "FPR", "watermark_det_score"] | |
image_attacks_with_variations = [ | |
"center_crop", | |
"jpeg", | |
"brightness", | |
"contrast", | |
"saturation", | |
"sharpness", | |
"resize", | |
"perspective", | |
"median_filter", | |
"hue", | |
"gaussian_blur", | |
] | |
video_attacks_with_variations = [ | |
"Rotate", | |
"Resize", | |
"Crop", | |
"Brightness", | |
"Contrast", | |
"Saturation", | |
"H264", | |
"H264rgb", | |
"H265", | |
] | |
def plot_data(metric, selected_attack, all_attacks_df): | |
attack_df = all_attacks_df[all_attacks_df.attack == selected_attack] | |
# if metric == "None": | |
# return gr.LinePlot(x_bin=None) | |
# return gr.LinePlot( | |
# attack_df, | |
# x="strength", | |
# y=metric, | |
# color="model", | |
# ) | |
def mk_variations( | |
all_attacks_df, | |
metrics: list[str] = attacks_plot_metrics, | |
attacks_with_variations: list[str] = audio_attacks_with_variations, | |
): | |
# all_attacks_df = pd.read_csv(csv_file) | |
# print(all_attacks_df) | |
# print(csv_file) | |
# with gr.Row(): | |
# group_by = gr.Radio(metrics, value=metrics[0], label="Choose metric") | |
# attacks_dropdown = gr.Dropdown( | |
# attacks_with_variations, | |
# label=attacks_with_variations[0], | |
# info="Select attack", | |
# ) | |
# attacks_by_strength = plot_data( | |
# group_by.value, attacks_dropdown.value, all_attacks_df | |
# ) | |
# all_graphs = [ | |
# attacks_by_strength, | |
# ] | |
# group_by.change( | |
# lambda group: plot_data(group, attacks_dropdown.value, all_attacks_df), | |
# group_by, | |
# all_graphs, | |
# ) | |
# attacks_dropdown.change( | |
# lambda attack: plot_data(group_by.value, attack, all_attacks_df), | |
# attacks_dropdown, | |
# all_graphs, | |
# ) | |
return { | |
"metrics": metrics, | |
"attacks_with_variations": attacks_with_variations, | |
"all_attacks_df": all_attacks_df.to_dict(orient="records"), | |
} | |