Select Git revision
AccessToken.vue
-
Petar Hristov authoredPetar Hristov authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
06_VisualizeTimings.py 2.98 KiB
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['axes.grid'] = True
mpl.rcParams['axes.labelsize'] = 12
mpl.rcParams['figure.labelsize'] = 'small'
mpl.rcParams['font.size'] = 12.0
mpl.rcParams['legend.fontsize'] = 'medium'
mpl.rcParams['legend.markerscale'] = 1.0
mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.markersize'] = 6.0
savefig_directory = 'Results/Figures/'
mpl.rcParams['savefig.format'] = 'pdf'
mpl.rcParams['xtick.labelsize'] = 12
mpl.rcParams['ytick.labelsize'] = 12
models = [
'linregMod',
'gaussianProcessMod_DotWhite',
'gaussianProcessMod_RBF',
'gaussianProcessMod_Matern',
'gaussianProcessMod_RationalQuadratic',
'gaussianProcessMod_ExpSineSquared',
'radialBasisMod_Linear',
'radialBasisMod_thinplatespline',
'radialBasisMod_cubic',
'radialBasisMod_quintic',
'radialBasisMod_multiquadric',
'radialBasisMod_inversemultiquadric',
'radialBasisMod_inversequadratic',
'radialBasisMod_gaussian',
]
label_names = [
'Linear Regression',
'Gaussian Process DotWhite',
'Gaussian Process RBF',
'Gaussian Process Matern',
'Gaussian Process RationalQuadratic',
'Gaussian Process ExpSineSquared',
'Radial Basis Linear',
'Radial Basis ThinPlateSpline',
'Radial Basis Cubic',
'Radial Basis Quintic',
'Radial Basis MultiQuadric',
'Radial Basis InverseMultiQuadric',
'Radial Basis InverseQuadratic',
'Radial Basis Gaussian',
]
TrainingTime = np.loadtxt('Data/train/SimTime_s.txt')
TestTime = np.loadtxt('Data/test/SimTime_s.txt')
fig, axs = plt.subplots(1, 1, figsize=(3.54*4, 3.54*2))
for model in models:
data = np.load(f'models/trained_models/{model}/MetaData.npz')
R = data['R']
time_train = data['time_train']
axs.plot(R, time_train, '-o', label=label_names[models.index(model)])
axs.set_xlabel('Number of POD modes')
# axs.set_xticks(R, labelrotation=45)
for tick in axs.get_xticklabels():
tick.set_rotation(45)
axs.set_ylabel('Time [s]')
axs.legend(loc='center left', bbox_to_anchor=(1, 0.5))
fig.suptitle(f'Time Gismo: Training ({TrainingTime:.2f}s) and Testing ({TestTime:.2f}s)')
fig.tight_layout()
fig.savefig(f'{savefig_directory}TrainingTime_full.pdf')
fig.show()
fig, axs = plt.subplots(1, 1, figsize=(3.54*4, 3.54*2))
for model in models:
if model in ['gaussianProcessMod_DotWhite', 'gaussianProcessMod_RationalQuadratic']:
continue
data = np.load(f'models/trained_models/{model}/MetaData.npz')
R = data['R']
time_train = data['time_train']
axs.plot(R, time_train, '-o', label=label_names[models.index(model)])
axs.set_xlabel('Number of POD modes')
# axs.set_xticks(R, labelrotation=45)
for tick in axs.get_xticklabels():
tick.set_rotation(45)
axs.set_ylabel('Time [s]')
axs.legend(loc='center left', bbox_to_anchor=(1, 0.5))
fig.suptitle(f'Time Gismo: Training ({TrainingTime:.2f}s) and Testing ({TestTime:.2f}s)')
fig.tight_layout()
fig.savefig(f'{savefig_directory}TrainingTime.pdf')
fig.show()