Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| def generate_points(initial_value, final_value, smoothness=0.1, max_num = 200): | |
| x = np.array([_ for _ in range(max_num)]) | |
| y = initial_value + ( final_value-initial_value) * (x/200)**smoothness | |
| noise = np.random.normal(0, 0.01, max_num) | |
| y += noise | |
| return x, y | |
| def generate_line_plots(data, num_curves, legends, x_label, y_label, save_to = "fig.png" ): | |
| plt.figure() | |
| for i in range(num_curves): | |
| x, y = data[i] | |
| plt.plot(x , y, label=legends[i]) | |
| plt.xlabel(x_label) | |
| plt.ylabel(y_label) | |
| plt.legend() | |
| plt.savefig(save_to) | |
| def generate_random_figures(list_of_methods, save_to = "fig.png" ): | |
| num_curves = len(list_of_methods) + 1 | |
| ini_value = [np.random.uniform(1, 2)] * num_curves | |
| final_value = sorted([0.1 + np.random.normal(0,0.1) for _ in range(num_curves)]) | |
| legends = ["Ours"] + list_of_methods | |
| x_label = "# of Epochs" | |
| y_label = "Loss" | |
| all_data = [] | |
| for i in range(num_curves): | |
| all_data.append(generate_points(ini_value[i], final_value[i])) | |
| generate_line_plots(all_data, num_curves, legends, x_label, y_label, save_to) | |
| if __name__ == "__main__": | |
| num_curves = 3 | |
| legends = ["method 1", "method 2"] | |
| x_label = "# of epochs" | |
| y_label = "loss" | |
| ini_value = [1.5, 1.5, 1.5] | |
| final_value = [0.01, 0.05, 0.10] | |
| generate_random_figures(legends, save_to="fig1.png") | |
| generate_random_figures(legends, save_to="fig2.png") | |