e, total_train_c_loss_mean, total_train_c_loss_std,
                total_train_accuracy_mean, total_train_accuracy_std,
                total_val_c_loss_mean, total_val_c_loss_std,
                total_val_accuracy_mean, total_val_accuracy_std,
                total_test_c_loss_mean, total_test_c_loss_std,
                total_test_accuracy_mean, total_test_accuracy_std
            ])

            save_path = train_saver.save(
                sess, "{}/{}_{}.ckpt".format(saved_models_filepath,
                                             args.experiment_title, e))
            pbar_e.update(1)

        val_saver.restore(
            sess, "{}/best_val_{}_{}.ckpt".format(saved_models_filepath,
                                                  args.experiment_title,
                                                  best_val_epoch))
        total_test_c_loss_mean, total_test_c_loss_std, total_test_accuracy_mean, total_test_accuracy_std = \
            experiment.run_testing_epoch(total_test_batches=total_test_batches,
                                         sess=sess)
        print(
            "Epoch {}: test_loss_mean: {}, test_loss_std: {}, test_accuracy_mean: {}, test_accuracy_std: {}"
            .format(best_val_epoch, total_test_c_loss_mean,
                    total_test_c_loss_std, total_test_accuracy_mean,
                    total_test_accuracy_std))
        save_statistics(logs_filepath, [
            "Test error on best validation model", -1, -1, -1, -1, -1, -1, -1,
            -1, total_test_c_loss_mean, total_test_c_loss_std,
            total_test_accuracy_mean, total_test_accuracy_std
        ])
Exemplo n.º 2
0
            # tf.summary.scalar("acc_train", total_accuracy)

            print("Epoch {}: train_loss: {}, train_accuracy: {}".format(
                e, total_c_loss, total_accuracy))

            total_val_c_loss, total_val_accuracy = experiment.run_validation_epoch(
                total_val_batches=total_val_batches, sess=sess)
            # tf.summary.scalar("loss_val", total_val_c_loss)
            # tf.summary.scalar("loss_val", total_val_accuracy)

            print("Epoch {}: val_loss: {}, val_accuracy: {}".format(
                e, total_val_c_loss, total_val_accuracy))

            if total_val_accuracy >= best_val:  #if new best val accuracy -> produce test statistics
                best_val = total_val_accuracy
                total_test_c_loss, total_test_accuracy = experiment.run_testing_epoch(
                    total_test_batches=total_test_batches, sess=sess)
                print("Epoch {}: test_loss: {}, test_accuracy: {}".format(
                    e, total_test_c_loss, total_test_accuracy))
            else:
                total_test_c_loss = -1
                total_test_accuracy = -1

            save_statistics(experiment_name, [
                e, total_c_loss, total_accuracy, total_val_c_loss,
                total_val_accuracy, total_test_c_loss, total_test_accuracy
            ])

            save_path = saver.save(
                sess, "saved_models/{}_{}.ckpt".format(experiment_name, e))
            pbar_e.update(1)