Model statistics

This commit is contained in:
Thastertyn committed 2025-04-03 15:19:43 +02:00
1 parent 0bae8deb42
commit 859bdd19c3
7 files changed
+782 -143

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
(ReLU,ReLU) 0.0001 (0.44952931636286714,0.6824383880407573,0.788915135916511)
(ReLU,ReLU) 0.0005 (0.5080210132919649,0.7299298381694461,0.8241018227973064)
(ReLU,ReLU) 0.001 (0.5215950357860593,0.7354299615696506,0.826111483270458)
(ReLU,ReLU) 0.005 (0.5230758382399605,0.7383563092761697,0.8298840038077777)
(ReLU,ReLU) 0.01 (0.5206783485526919,0.7364171632055847,0.8278390861333428)
(ReLU,ReLU) 0.05 (0.12682015301625357,0.29884003807777737,0.45160949123858546)
(ReLU,GELU) 0.0001 (0.44251313330747805,0.6765504354264359,0.7860240454112752)
(ReLU,GELU) 0.0005 (0.5103127313753835,0.7293304657476289,0.8237492507844727)
(ReLU,GELU) 0.001 (0.5211366921693756,0.7379332228607693,0.8288968021718436)
(ReLU,GELU) 0.005 (0.5246271550964284,0.739942883333921,0.8305538906321617)
(ReLU,GELU) 0.01 (0.5214892641822092,0.7391319677044036,0.8297077178013609)
(ReLU,GELU) 0.05 (0.1655325600253852,0.3544759017029228,0.495469449635088)
(GELU,ReLU) 0.0001 (0.44706131227303175,0.6806755279765893,0.7906427387793957)
(GELU,ReLU) 0.0005 (0.5120050770369848,0.7312343546169305,0.8229735923562388)
(GELU,ReLU) 0.001 (0.5179282868525896,0.7381800232697528,0.8289673165744104)
(GELU,ReLU) 0.005 (0.5234636674540775,0.7421640870147728,0.8307654338398618)
(GELU,ReLU) 0.01 (0.5197264041180412,0.7384268236787364,0.8286500017628601)
(GELU,ReLU) 0.05 (0.12551563656876918,0.29757077883157634,0.45034023199238443)
(GELU,GELU) 0.0001 (0.4493530303564503,0.683284560871558,0.7907837675845292)
(GELU,GELU) 0.0005 (0.5151077107499207,0.733808130310616,0.8255121108486408)
(GELU,GELU) 0.001 (0.5195148609103409,0.7389204244967035,0.8294961745936608)
(GELU,GELU) 0.005 (0.5214892641822092,0.7401896837429045,0.8302365758206114)
(GELU,GELU) 0.01 (0.5198674329231746,0.7398371117300708,0.8258294256601911)
(GELU,GELU) 0.05 (0.3762648520960406,0.6283538412720798,0.7500617001022459)
+24
View File
@@ -0,0 +1,24 @@
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.0001 had success of (0.44952931636286714, 0.6824383880407573, 0.788915135916511)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.0005 had success of (0.5080210132919649, 0.7299298381694461, 0.8241018227973064)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.001 had success of (0.5215950357860593, 0.7354299615696506, 0.826111483270458)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.005 had success of (0.5230758382399605, 0.7383563092761697, 0.8298840038077777)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.01 had success of (0.5206783485526919, 0.7364171632055847, 0.8278390861333428)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.05 had success of (0.12682015301625357, 0.29884003807777737, 0.45160949123858546)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.0001 had success of (0.44251313330747805, 0.6765504354264359, 0.7860240454112752)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.0005 had success of (0.5103127313753835, 0.7293304657476289, 0.8237492507844727)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.001 had success of (0.5211366921693756, 0.7379332228607693, 0.8288968021718436)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.005 had success of (0.5246271550964284, 0.739942883333921, 0.8305538906321617)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.01 had success of (0.5214892641822092, 0.7391319677044036, 0.8297077178013609)
Model with activation layers (<class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.05 had success of (0.1655325600253852, 0.3544759017029228, 0.495469449635088)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.0001 had success of (0.44706131227303175, 0.6806755279765893, 0.7906427387793957)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.0005 had success of (0.5120050770369848, 0.7312343546169305, 0.8229735923562388)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.001 had success of (0.5179282868525896, 0.7381800232697528, 0.8289673165744104)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.005 had success of (0.5234636674540775, 0.7421640870147728, 0.8307654338398618)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.01 had success of (0.5197264041180412, 0.7384268236787364, 0.8286500017628601)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.ReLU'>) and learning rate 0.05 had success of (0.12551563656876918, 0.29757077883157634, 0.45034023199238443)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.0001 had success of (0.4493530303564503, 0.683284560871558, 0.7907837675845292)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.0005 had success of (0.5151077107499207, 0.733808130310616, 0.8255121108486408)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.001 had success of (0.5195148609103409, 0.7389204244967035, 0.8294961745936608)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.005 had success of (0.5214892641822092, 0.7401896837429045, 0.8302365758206114)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.01 had success of (0.5198674329231746, 0.7398371117300708, 0.8258294256601911)
Model with activation layers (<class 'torch.nn.modules.activation.GELU'>, <class 'torch.nn.modules.activation.GELU'>) and learning rate 0.05 had success of (0.3762648520960406, 0.6283538412720798, 0.7500617001022459)
+60
View File
@@ -0,0 +1,60 @@
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import re
# Load and parse raw data from a text file
def parse_raw_data(file_path):
pattern = re.compile(r"\((.*?)\)\s+([\d.]+)\s+\(([\d.eE+,-]+)\)")
data = []
with open(file_path, "r") as f:
for line in f:
match = pattern.search(line)
if match:
activation_combo = match.group(1)
learning_rate = float(match.group(2))
top_accuracies = tuple(map(float, match.group(3).split(",")))
data.append((activation_combo, learning_rate, top_accuracies))
return data
# Replace this with your actual path
file_path = "./parsed.txt"
data = parse_raw_data(file_path)
# Convert to DataFrame
df = pd.DataFrame(data, columns=["activation_combo", "learning_rate", "accuracy"])
df[["top1", "top3", "top5"]] = pd.DataFrame(df["accuracy"].tolist(), index=df.index)
# Unique sorted learning rates and activation combos
learning_rates = sorted(df["learning_rate"].unique())
activation_combos = df["activation_combo"].unique()
# Settings for bar positions
bar_width = 0.2
x = np.arange(len(learning_rates))
# Start plotting
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(14, 16), sharex=True)
# Function to draw bars
def plot_bars(ax, column, title, ylabel):
for i, combo in enumerate(activation_combos):
combo_data = df[df["activation_combo"] == combo].sort_values("learning_rate")
ax.bar(x + i * bar_width, combo_data[column], width=bar_width, label=combo)
ax.set_ylabel(ylabel)
ax.set_title(title)
ax.legend(title="Activation Combo")
# Plot each accuracy type
plot_bars(ax1, "top1", "Top-1 Accuracy", "Top-1 Accuracy")
plot_bars(ax2, "top3", "Top-3 Accuracy", "Top-3 Accuracy")
plot_bars(ax3, "top5", "Top-5 Accuracy", "Top-5 Accuracy")
# X-axis ticks for learning rates
ax3.set_xticks(x + bar_width * (len(activation_combos) - 1) / 2)
ax3.set_xticklabels([str(lr) for lr in learning_rates])
ax3.set_xlabel("Learning Rate")
# Final layout
plt.tight_layout()
plt.show()