Spaces:
Sleeping
Sleeping
| # plot.py | |
| import matplotlib.pyplot as plt | |
| import numpy as np | |
| import io | |
| from PIL import Image | |
| def plot_radar_chart(config): | |
| # Traits to plot | |
| traits = ["layers", "attention_heads", "ffn_dim", "dropout"] | |
| values = [ | |
| config["layers"], | |
| config["attention_heads"], | |
| config["ffn_dim"] / 512, # Normalize | |
| config["dropout"] * 10, # Normalize | |
| ] | |
| # Repeat first value to close the loop | |
| values += values[:1] | |
| angles = np.linspace(0, 2 * np.pi, len(traits), endpoint=False).tolist() | |
| angles += angles[:1] | |
| fig, ax = plt.subplots(figsize=(5, 5), subplot_kw=dict(polar=True)) | |
| ax.plot(angles, values, "o-", linewidth=2) | |
| ax.fill(angles, values, alpha=0.25) | |
| ax.set_yticklabels([]) | |
| ax.set_xticks(angles[:-1]) | |
| ax.set_xticklabels(traits) | |
| ax.set_title("Final Generation Trait Radar", fontsize=14) | |
| buf = io.BytesIO() | |
| plt.savefig(buf, format="png") | |
| buf.seek(0) | |
| image = Image.open(buf) | |
| return image | |