There is a newer version of the record available.

Published November 4, 2020 | Version v0.7.0
Software Open

pystiche: A Framework for Neural Style Transfer

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

Description

This release brings better support for model optimization:

  • add auto batch size matching for comparison operators (#432, #433)
  • add a default criterion_update_fn for optim.model_optimization (former optim.default_transformer_optim_lopp, see below) (#460)
  • add support for supervised datasets in model optimization (#461)
  • add usage example for model optimization (#462, #463)

Additionally,

  • Enable to pass an optimizer to pystiche.optim.image_optimization (#431)
  • Split handling of multi-layer encoders into a separate class (#438)

Finally. this release marks the last beta release. In the future pystiche will be trimmed of funtionalities that can be handled by other specialized librarys. An example would be replacing pystiche.optim.log with tqdm or pystiche.image.transforms with kornia.

Deprecations

As detailed above, this release deprecates a good amount of functionalities. It was made sure that these deprecations are only emitted if the deprecated functionalities are used directly rather than through default values from other pystiche parts (#441, #442, #452, #456).

pystiche.extract_patches*d

The functions currently have no supported for batched inputs in that sense that the batch dimensions doubled for the number of patches. In the future the output shape will change from B*Px... to BxPx... where B denotes the batch size and P the number of patches (#446). As a prerequisite a parameter batched_input was added to pystiche.cosine_similarity and pystiche.ops.functional.mrf_loss. For now it defaults to the old behavior, but that will be changed in the future. If these functions are used directly, a FutureWarning is emitted.

pystiche.image.transforms

pystiche.image.transforms is a remnant of the distant path. The complete functionality can be replaced by specialized computer vision libraries such as kornia.

pystiche.enc.MultiLayerEncoder

The functionalities of __call__() and encode() will swap in some sense. __call__() will be usually called only with a single layer. encode() on the other hand will return the encodings of the given layers without storing them. If you use these methodes directly, they will emit a FutureWarning. For more details see #435.

pystiche.optim

pystiche.optim has capabilities for custom logging during the optimization. This is far off pystiche's goal and thus we decided to replace it with tqdm.

  • deprecate pystiche.optim.log (#452)
  • deprecate pystiche.optim.meter (#452)
  • renamed default_image_optim_loop to image_optimization (#430)
  • renamed default_image_pyramid_optim_loop to pyramid_image_optimization (#430)
  • renamed default_transformer_optimizer to default_model_optimizer (#430)
  • renamed default_transformer_optim_loop to model_optimization (#430)
  • renamed default_transformer_epoch_optim_loop to multi_epoch_model_optimization (#430)
  • renamed parameter get_optimizer to optimizer in image_optimization (#431, #452)

Files

pmeier/pystiche-v0.7.0.zip

Files (7.4 MB)

Name Size Download all
md5:08602740de1280eab69ec7dc48699040
7.4 MB Preview Download

Additional details

Related works