Я пытаюсь построить кривые обучения для различных показателей, таких как потери при обучении и проверке, а также точность.
для lr в Learning_rates: opt = SGD (learning_rate = lr) model.compile(loss='categorical_crossentropy',оптимизатор=opt, metrics=['accuracy']) network = model.fit(x_train_subset, y_train_subset, epochs=iterations, Batch_size=32, validation_data=(X_test, y_test), подробный=1) train_loss_values = network.history['потеря'] train_accuracy_values = network.history['точность'] val_loss_values = network.history['val_loss'] val_accuracy_values = network.history['val_accuracy'] plt.plot(epochs, train_accuracy_values, label=f'LR = {lr}') plt.title('Точность обучения в разные эпохи для разных скоростей обучения') plt.xlabel('Эпохи') plt.ylabel('Точность обучения') plt.legend() plt.grid(Истина) plt.show() Это код, который у меня есть, и он работает именно так, как я хочу, для одного графика с точностью обучения в качестве метрики.
Вывод приведенного выше кода:

Однако я хочу повторить это четыре раза для всех различных показателей, хранящихся в следующем коде:
train_loss_values = network.history['loss'] train_accuracy_values = network.history['точность'] val_loss_values = network.history['val_loss'] val_accuracy_values = network.history['val_accuracy'] Если я просто сделаю следующее, это не создаст 4 отдельных графика, а просто добавит все данные в один.
для lr в Learning_rates: opt = SGD (learning_rate = lr) model.compile(loss='categorical_crossentropy',оптимизатор=opt, metrics=['accuracy']) network = model.fit(x_train_subset, y_train_subset, epochs=iterations, Batch_size=32, validation_data=(X_test, y_test), подробный=1) train_loss_values = network.history['потеря'] train_accuracy_values = network.history['точность'] val_loss_values = network.history['val_loss'] val_accuracy_values = network.history['val_accuracy'] plt.plot(epochs, train_accuracy_values, label=f'LR = {lr}') plt.plot(epochs, train_loss_values, label=f'LR = {lr}') plt.plot(epochs, val_accuracy_values, label=f'LR = {lr}') plt.plot(epochs, val_loss_values, label=f'LR = {lr}') plt.title('Точность обучения в разные эпохи для разных скоростей обучения') plt.xlabel('Эпохи') plt.ylabel('Точность обучения') plt.legend() plt.grid(Истина) plt.show() Я спрашивал ChatGPT, и он всегда предлагал запустить всю нейронную сеть еще раз 4 раза, но я уже запускал ее один раз и собирал все нужные мне данные в списки. Мне просто нужно создать 4 отдельных графика.
Мобильная версия