def main(): # static params n_sample = 200 fit_mode = 'hebbian' save_fig = False for n_label, c in zip([2, 4], ['rb', 'gy']): # dynamic params: noise_amount noise_amounts = np.arange(0.0, 0.51, 0.05) similarities = [] accuracies = [] for noise_amount in noise_amounts: similarity, accuracy = hopfield_single_performance(n_sample, n_label, noise_amount, fit_mode, save_fig) similarities.append(similarity) accuracies.append(accuracy) print('noise_amounts:', noise_amounts) print('similarities:', similarities) print('accuracies:', accuracies) plt.plot(noise_amounts * 100, similarities, label='similarities (n_label: {})'.format(n_label), c=c[0], marker='o') plt.plot(noise_amounts * 100, accuracies, label='accuracies (n_label: {})'.format(n_label), c=c[1], marker='o') plt.xlabel('noise amount [%]') plt.ylabel('performance') plt.xticks(noise_amounts * 100) plt.ylim(0, 1) plt.legend(loc='lower left') plt.savefig('noise_performance.png')
# static params n_sample = 200 noise_amount = 0.05 fit_mode = 'hebbian' save_fig = False # dynamic params: n_label n_labels = [] similarities = [] accuracies = [] for n_label in range(2, 7): similarity, accuracy = hopfield_single_performance(n_sample, n_label, noise_amount, fit_mode, save_fig) n_labels.append(n_label) similarities.append(similarity) accuracies.append(accuracy) print('n_labels:', n_labels) print('similarities:', similarities) print('accuracies:', accuracies) plt.plot(n_labels, similarities, label='similarities', c='r', marker='o') plt.plot(n_labels, accuracies, label='accuracies', c='b', marker='o') plt.xlabel('number of labels') plt.ylabel('performance') plt.xticks(n_labels)