diff options
Diffstat (limited to 'python-pkbar.spec')
-rw-r--r-- | python-pkbar.spec | 364 |
1 files changed, 364 insertions, 0 deletions
diff --git a/python-pkbar.spec b/python-pkbar.spec new file mode 100644 index 0000000..4edd408 --- /dev/null +++ b/python-pkbar.spec @@ -0,0 +1,364 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pkbar +Version: 0.5 +Release: 1 +Summary: Keras Progress Bar for PyTorch +License: Apache License 2.0 +URL: https://github.com/yueyericardo/pkbar +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/12/4d/c4210a0743ef62ddfa96b3b501c71a214718189f65df8a22f1eb37f256e3/pkbar-0.5.tar.gz +BuildArch: noarch + +Requires: python3-numpy + +%description +# pkbar + [](https://badge.fury.io/py/pkbar) [](https://pypistats.org/packages/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) +```python +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](https://github.com/yueyericardo/pkbar/blob/master/tests/test.py#L16) +```python +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`](https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/keras/utils/generic_utils.py#L313) + + + + +%package -n python3-pkbar +Summary: Keras Progress Bar for PyTorch +Provides: python-pkbar +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pkbar +# pkbar + [](https://badge.fury.io/py/pkbar) [](https://pypistats.org/packages/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) +```python +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](https://github.com/yueyericardo/pkbar/blob/master/tests/test.py#L16) +```python +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`](https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/keras/utils/generic_utils.py#L313) + + + + +%package help +Summary: Development documents and examples for pkbar +Provides: python3-pkbar-doc +%description help +# pkbar + [](https://badge.fury.io/py/pkbar) [](https://pypistats.org/packages/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) +```python +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](https://github.com/yueyericardo/pkbar/blob/master/tests/test.py#L16) +```python +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`](https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/keras/utils/generic_utils.py#L313) + + + + +%prep +%autosetup -n pkbar-0.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pkbar -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5-1 +- Package Spec generated |