There is a newer version of the record available.

Published August 7, 2021 | Version v1.0.0
Software Open

pystiche: A Framework for Neural Style Transfer

  • 1. inIT - Institute Industrial IT, Technische Hochschule Ostwestfalen-Lippe (TH OWL)

Description

It is finally here: the first stable release of pystiche :tada:

Logo

It have been quite some (internal) iterations, but thanks to @irinafumarel we finally have a logo after #503:

What do you think?

Multi-layer encoder

Before the implementation of a pystiche.enc.MultiLayerEncoder required to encode all images upfront so the intermediate encodings can be cached. In a series of PRs (#466, #467, #470, #471, #499) this was refactored to now provide the same caching functionality on the fly. For an in-depth look at this, a new usage example showcasing this was added in #468.

Merger of pystiche.ops and pystiche.loss

The only difference between operators and losses was the fact that losses handled the upfront encoding of images. After the rework discussed above this was no longer necessary so there was no longer any reason to keep these two modules separate. With this release, pystiche.ops was merged into pystiche.loss in #500.

Optimization logging

pystiche featured a custom logging system for the optimization loops. To keep the scope of this library narrow, this was replaced by tqdm in #451.

Versioning

After this release pystiche will adhere to semantic versioning. Without going into details, this means:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards compatible manner, and
  3. PATCH version when you make backwards compatible bug fixes.
BC-breaking changes

All of these changes issued a warning for at least one release.

  • Functionality in pystiche.optim.log and pystiche.optim.meter were removed in favor of tqdm (#451)
  • The deprecated functions default_image_optim_loop, default_image_pyramid_optim_loop, default_transformer_optimizer, default_transformer_optim_loop, and default_transformer_epoch_optim_loop were removed from the pystiche.optim namespace. (#465)
  • The keyword argument get_optimizer was removed from pystiche.optim.image_optimization. (#465)
  • pystiche.image.transforms was removed in favor of functionality provided by torchvision. (#472, #502)
  • pystiche.data.Unsupervised was removed. (#504)
  • pystiche.demo.demo_images was removed. (#504)
  • The keyword argument weights was removed from pystiche.enc.alexnet_multi_layer_encoder() and pystiche.enc.vgg_*_multi_layer_encoder(). (#504)
  • The keyword argument user_agent was removed from pystiche.misc.download_file. (#504)
  • The default behavior of pystiche.extract_patches*d() and derivatives pystiche.loss.MRFLoss and pystiche.loss.functional.mrf_loss (formerly pystiche.ops.MRFOperator and pystiche.ops.functional.mrf_loss) changed from non-batched to batched. (#506)

Files

pystiche/pystiche-v1.0.0.zip

Files (7.4 MB)

Name Size Download all
md5:9f753a76883cd05014711988513d7cd0
7.4 MB Preview Download

Additional details

Related works