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 | |