Отображение дополнительной информации в ткдм или тензор потока. Индикатор хода выполнения (например, текущая эпоха, потери и точность) - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть код, использующий низкий уровень Tensorflow, и я печатаю индикатор выполнения. Я попробовал оба tdqm и progressbar2, и оба работают одинаково. Наконец, я выбрал tqdm, потому что он позволяет мне использовать подробный параметр, а код выглядит следующим образом:

for epoch in range(epochs):
    if verbose:
        print("Epoch: {0}/{1}".format(epoch, epochs))
    for iteration in tqdm.trange(num_tr_iter, disable=not verbose):
        do_training()

Однако мой вывод - это только индикатор выполнения и процент, но не так много информации, получаемой из который. Я бы хотел, чтобы индикатор выполнения имел больше данных, таких как потери и точность, например:

Epoch 1/3
50000/50000 [==============================] - 3s 52us/sample - loss: 0.3373 - sparse_categorical_accuracy: 0.9047 - val_loss: 0.1922 - val_sparse_categorical_accuracy: 0.9436

Я только что увидел эту ссылку , которая, кажется, мне нужна, но все Например, как передать его для keras в качестве обратного вызова, а не как поместить его в свой собственный l oop. Я также видел эту библиотеку , которая может работать, но я застрял в той же проблеме.


ОБНОВЛЕНИЕ: Я только что натолкнулся это . Очевидно, лучше использовать это для производительности, поэтому мой новый код:

for epoch in range(epochs):
    if verbose:
        tf.print("Epoch: {0}/{1}".format(epoch, epochs))
        progbar = tf.keras.utils.Progbar(num_tr_iter)
    for iteration in range(num_tr_iter):
        if verbose:
            progbar.update(iteration+1)
        do_training()

Вопрос все еще стоит, и обе версии будут решением для меня, но если это с Tensorflow Progbar лучше.

...