• Stars
    star
    354
  • Rank 119,198 (Top 3 %)
  • Language
    Jupyter Notebook
  • Created over 7 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Convolutional neural networks for artistic style transfer.

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

More Repositories

1

shpotify

A command-line interface to Spotify.
Shell
1,999
star
2

CS231n

Working through CS231n: Convolutional Neural Networks for Visual Recognition
HTML
155
star
3

kubernetes-django

Scalable and resilient Django with Kubernetes.
Python
151
star
4

sicm

Working through Structure and Interpretation of Classical Mechanics.
TeX
118
star
5

springer-books

A collection of free books from Springer
HTML
74
star
6

stylist

Fast artistic style transfer with convolutional neural networks.
Jupyter Notebook
60
star
7

porous-flow

Adaptive multiphase flow through porous media
C++
25
star
8

harishnarayanan.org

My personal website.
HTML
19
star
9

orthogons

Experimenting with special ratios to guide grids for composition
HTML
16
star
10

deep-learning

Content for a microsite dedicated to deep learning.
HTML
10
star
11

femtable

Web rendition of the periodic table of the finite elements.
HTML
7
star
12

CS224n

Working through CS224n: Natural Language Processing with Deep Learning
5
star
13

phd-dissertation

An archive of my Ph.D. Dissertation
PostScript
3
star
14

cardiac-mechanics

Modelling the active mechanical response of the heart
Python
3
star
15

point-cloud-transform

Computes the transformation parameters that relates two point clouds
MATLAB
3
star
16

thinkbot-xblock

A collection of edX XBlock components for numerical simulations.
Python
3
star
17

homepricer

Estimating property prices in the U.K.
Jupyter Notebook
3
star
18

archive.harishnarayanan.org

[Archive] Older revisions of my personal website
HTML
1
star
19

mechanics-academy-frontend-prototype

Experimenting with a frontend for Mechanics Academy using Middleman
JavaScript
1
star
20

tensorflow-experiments

Learning to use and playing with tensorflow
Python
1
star
21

twist

Automated algorithms for finite strain elasticity
Python
1
star
22

mathjax-ios

Automatically exported from code.google.com/p/mathjax-ios
Objective-C
1
star
23

cheeper-app

The AngularJS frontend for cheeper
JavaScript
1
star
24

googleplus-album-fetcher

Fetch albums from Google+ onto your own site
Python
1
star