All Projects → pmeier → Pystiche

pmeier / Pystiche

Licence: bsd-3-clause
Framework for Neural Style Transfer (NST) built upon PyTorch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pystiche

Nanocaml
Nanopass for OCaml
Stars: ✭ 112 (-4.27%)
Mutual labels:  framework
Webgme
Web-based Generic Modeling Environment
Stars: ✭ 112 (-4.27%)
Mutual labels:  framework
Xtcp
A TCP Server Framework with graceful shutdown, custom protocol.
Stars: ✭ 116 (-0.85%)
Mutual labels:  framework
Evnestoreplatform
📱Electronic commerce iOS APP framework
Stars: ✭ 112 (-4.27%)
Mutual labels:  framework
Reactinterface
This is the repository for my course, Building a Web Interface with React.js on LinkedIn Learning and Lynda.com.
Stars: ✭ 113 (-3.42%)
Mutual labels:  framework
Flexy
Flexy is minimal CSS framework made with Flex
Stars: ✭ 114 (-2.56%)
Mutual labels:  framework
Realtaiizor
C# WinForm UI/UX Component Library
Stars: ✭ 109 (-6.84%)
Mutual labels:  framework
Css
The CSS design system that powers GitHub
Stars: ✭ 10,670 (+9019.66%)
Mutual labels:  framework
Marklogic Data Hub
The MarkLogic Data Hub: documentation ==>
Stars: ✭ 113 (-3.42%)
Mutual labels:  framework
Thetta Dao Framework
Thetta - an open-source framework to help you build the DAO of your dreams
Stars: ✭ 116 (-0.85%)
Mutual labels:  framework
Basys
Toolbox for building full-stack Vue.js apps
Stars: ✭ 113 (-3.42%)
Mutual labels:  framework
Petal
A modern, light CSS UI framework by Shakr
Stars: ✭ 113 (-3.42%)
Mutual labels:  framework
Asakusafw
Asakusa Framework
Stars: ✭ 114 (-2.56%)
Mutual labels:  framework
Elgg
A social networking engine in PHP/MySQL
Stars: ✭ 1,510 (+1190.6%)
Mutual labels:  framework
Nim ios sdk
网易云信 iOS SDK 发布仓库。#推荐客户得比特币,首次推荐得0.02BTC,连续推荐得0.03BTC/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend
Stars: ✭ 116 (-0.85%)
Mutual labels:  framework
Iframework
Simple Unity Framework
Stars: ✭ 110 (-5.98%)
Mutual labels:  framework
Drone
CLI utility for Drone, an Embedded Operating System.
Stars: ✭ 114 (-2.56%)
Mutual labels:  framework
Vcomponents
VComponents is a SwiftUI framework that contains 40+ customizable UI components
Stars: ✭ 117 (+0%)
Mutual labels:  framework
Cyclejs
A functional and reactive JavaScript framework for predictable code
Stars: ✭ 9,996 (+8443.59%)
Mutual labels:  framework
Framework
💎 Go! AOP PHP - modern aspect-oriented framework for the new level of software development
Stars: ✭ 1,559 (+1232.48%)
Mutual labels:  framework

.. start-badges

.. list-table:: :stub-columns: 1

* - package
  - |license| |status|
* - citation
  - |pyopensci| |joss|
* - code
  - |black| |mypy| |lint|
* - tests
  - |tests| |coverage|
* - docs
  - |docs| |rtd|

.. end-badges

pystiche

pystiche (pronounced /ˈpaɪˈstiʃ/ <http://ipa-reader.xyz/?text=%CB%88pa%C9%AA%CB%88sti%CA%83>_ ) is a framework for Neural Style Transfer (NST) <https://github.com/ycjing/Neural-Style-Transfer-Papers>_ built upon PyTorch <https://pytorch.org>. The name of the project is a pun on pastiche meaning <https://en.wikipedia.org/wiki/Pastiche>:

A pastiche is a work of visual art [...] that imitates the style or character of
the work of one or more other artists. Unlike parody, pastiche celebrates, rather
than mocks, the work it imitates.

.. image:: docs/source/graphics/banner/banner.jpg :alt: pystiche banner

pystiche has similar goals as Deep Learning (DL) frameworks such as PyTorch:

  1. Accessibility Starting off with NST can be quite overwhelming due to the sheer amount of techniques one has to know and be able to deploy. pystiche aims to provide an easy-to-use interface that reduces the necessary prior knowledge about NST and DL to a minimum.
  2. Reproducibility Implementing NST from scratch is not only inconvenient but also error-prone. pystiche aims to provide reusable tools that let developers focus on their ideas rather than worrying about bugs in everything around it.

Installation

pystiche is a proper Python package and can be installed with pip. The latest release can be installed with

.. code-block:: sh

pip install pystiche

Usage

pystiche makes it easy to define the optimization criterion for an NST task fully compatible with PyTorch. For example, the banner above was generated with the following criterion:

.. code-block:: python

from pystiche import enc, loss, ops

multi_layer_encoder = enc.vgg19_multi_layer_encoder()

criterion = loss.PerceptualLoss( content_loss=ops.FeatureReconstructionOperator( multi_layer_encoder.extract_encoder("relu4_2") ), style_loss=ops.MultiLayerEncodingOperator( multi_layer_encoder, ("relu1_1", "relu2_1", "relu3_1", "relu4_1", "relu5_1"), lambda encoder, layer_weight: ops.GramOperator( encoder, score_weight=layer_weight ), score_weight=1e3, ), )

For the full example, head over to the example NST with pystiche <https://pystiche.readthedocs.io/en/latest/galleries/examples/beginner/example_nst_with_pystiche.html>_.

Documentation

For

  • detailed installation instructions <https://pystiche.readthedocs.io/en/latest/getting_started/installation.html>_,
  • a gallery of usage examples <https://pystiche.readthedocs.io/en/latest/galleries/examples/index.html>_,
  • the API reference <https://pystiche.readthedocs.io/en/latest/api/index.html>_,
  • the contributing guidelines <https://pystiche.readthedocs.io/en/latest/getting_started/contributing.html>_,

or anything else, head over to the documentation <https://pystiche.readthedocs.io/en/latest/>_.

Citation

If you use this software, please cite it as

.. code-block:: bibtex

@Article{ML2020, author = {Meier, Philip and Lohweg, Volker}, journal = {Journal of Open Source Software {JOSS}}, title = {pystiche: A Framework for Neural Style Transfer}, year = {2020}, doi = {10.21105/joss.02761}, }

.. |license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg :target: https://opensource.org/licenses/BSD-3-Clause :alt: License

.. |status| image:: https://www.repostatus.org/badges/latest/active.svg :target: https://www.repostatus.org/#active :alt: Project Status: Active

.. |pyopensci| image:: https://tinyurl.com/y22nb8up :target: https://github.com/pyOpenSci/software-review/issues/25 :alt: pyOpenSci

.. |joss| image:: https://joss.theoj.org/papers/10.21105/joss.02761/status.svg :target: https://doi.org/10.21105/joss.02761 :alt: JOSS

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: black

.. |mypy| image:: http://www.mypy-lang.org/static/mypy_badge.svg :target: http://mypy-lang.org/ :alt: mypy

.. |lint| image:: https://github.com/pmeier/pystiche/workflows/lint/badge.svg :target: https://github.com/pmeier/pystiche/actions?query=workflow%3Alint+branch%3Amaster :alt: Lint status via GitHub Actions

.. |tests| image:: https://github.com/pmeier/pystiche/workflows/tests/badge.svg :target: https://github.com/pmeier/pystiche/actions?query=workflow%3Atests+branch%3Amaster :alt: Test status via GitHub Actions

.. |coverage| image:: https://codecov.io/gh/pmeier/pystiche/branch/master/graph/badge.svg :target: https://codecov.io/gh/pmeier/pystiche :alt: Test coverage

.. |docs| image:: https://github.com/pmeier/pystiche/workflows/docs/badge.svg :target: https://github.com/pmeier/pystiche/actions?query=workflow%3Adocs+branch%3Amaster :alt: Docs status via GitHub Actions

.. |rtd| image:: https://img.shields.io/readthedocs/pystiche?label=latest&logo=read%20the%20docs :target: https://pystiche.readthedocs.io/en/latest/?badge=latest :alt: Latest documentation hosted on Read the Docs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].