Code Monkey home page Code Monkey logo

artistic-style-transfer's Introduction

Convolutional neural networks for artistic style transfer

This repository contains (TensorFlow and Keras) code that goes along with a related blog post and talk (PDF). Together, they act as a systematic look at convolutional neural networks from theory to practice, using artistic style transfer as a motivating example. The blog post provides context and covers the underlying theory, while working through the Jupyter notebooks in this repository offers a more hands-on learning experience.

If you have any questions about any of this stuff, feel free to open an issue or tweet at me: @copingbear.

Setup

  1. Install Python (2.7), pip and virtualenv on your machine. The instructions to do this depend on your operating system (Linux, macOS, Windows), but there are many tutorials on the internet that should help you get started.

  2. Once you have the above setup, it is quite easy to setup the requirements for the notebooks in this repository. First you clone a copy of this repository:

    git clone https://github.com/hnarayanan/artistic-style-transfer.git
    
  3. Then you navigate to this folder in your shell and then install the requirements needed for the Jupyter notebooks.

    cd artistic-style-transfer
    virtualenv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  4. If it doesn't exist, create a file called ~/.keras/keras.json and make sure it looks like the following:

    {
        "image_dim_ordering": "tf",
        "epsilon": 1e-07,
        "floatx": "float32",
        "backend": "tensorflow"
    }
    
  5. That's it! You can now start Jupyter and browse, open, run and modify the notebooks.

    jupyter notebook
    

Contents

iPython Notebooks

  1. A linear classifier for MNIST data
  2. A neural network-based classifier for MNIST data (Attempt 1)
  3. A neural network-based classifier for MNIST data (Attempt 2)
  4. A convolutional neural network-based classifier for MNIST data
  5. VGG Net (16) on ImageNet, the easy way
  6. Artistic style transfer with a repurposed VGG Net (16)

External Resources

  1. Related blog post
  2. Related talk slides

artistic-style-transfer's People

Contributors

hnarayanan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.