Keras Progress Bar for PyTorch
Project description
pkbar
Keras style progressbar for pytorch (PK Bar)
1. Show
pkbar.Pbar
(progress bar)
loading and processing dataset
10/10 [==============================] - 1.0s
pkbar.Kbar
(keras bar)
Epoch: 1/3
100/100 [========] - 10s 102ms/step - loss: 3.7782 - rmse: 1.1650 - val_loss: 0.1823 - val_rmse: 0.4269
Epoch: 2/3
100/100 [========] - 10s 101ms/step - loss: 0.1819 - rmse: 0.4265 - val_loss: 0.1816 - val_rmse: 0.4261
Epoch: 3/3
100/100 [========] - 10s 101ms/step - loss: 0.1813 - rmse: 0.4258 - val_loss: 0.1810 - val_rmse: 0.4254
2. Install
pip install pkbar
3. Usage
pkbar.Pbar
(progress bar)
import pkbar
import time
pbar = pkbar.Pbar(name='loading and processing dataset', target=10)
for i in range(10):
time.sleep(0.1)
pbar.update(i)
loading and processing dataset
10/10 [==============================] - 1.0s
pkbar.Kbar
(keras bar) for a concreate example
import pkbar
import torch
# training loop
train_per_epoch = num_of_batches_per_epoch
for epoch in range(num_epochs):
################################### Initialization ########################################
kbar = pkbar.Kbar(target=train_per_epoch, epoch=epoch, num_epochs=num_epochs, width=8, always_stateful=False)
# By default, all metrics are averaged over time. If you don't want this behavior, you could either:
# 1. Set always_stateful to True, or
# 2. Set stateful_metrics=["loss", "rmse", "val_loss", "val_rmse"], Metrics in this list will be displayed as-is.
# All others will be averaged by the progbar before display.
###########################################################################################
# training
for i in range(train_per_epoch):
outputs = model(inputs)
train_loss = criterion(outputs, targets)
train_rmse = torch.sqrt(train_loss)
optimizer.zero_grad()
train_loss.backward()
optimizer.step()
############################# Update after each batch ##################################
kbar.update(i, values=[("loss", train_loss), ("rmse", train_rmse)])
########################################################################################
# validation
outputs = model(inputs)
val_loss = criterion(outputs, targets)
val_rmse = torch.sqrt(val_loss)
################################ Add validation metrics ###################################
kbar.add(1, values=[("val_loss", val_loss), ("val_rmse", val_rmse)])
###########################################################################################
Epoch: 1/3
100/100 [========] - 10s 102ms/step - loss: 3.7782 - rmse: 1.1650 - val_loss: 0.1823 - val_rmse: 0.4269
Epoch: 2/3
100/100 [========] - 10s 101ms/step - loss: 0.1819 - rmse: 0.4265 - val_loss: 0.1816 - val_rmse: 0.4261
Epoch: 3/3
100/100 [========] - 10s 101ms/step - loss: 0.1813 - rmse: 0.4258 - val_loss: 0.1810 - val_rmse: 0.4254
4. Acknowledge
Keras progbar's code from tf.keras.utils.Progbar
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pkbar-0.5.tar.gz
(10.5 kB
view hashes)
Built Distribution
pkbar-0.5-py3-none-any.whl
(9.2 kB
view hashes)