You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
4.0 KiB
69 lines
4.0 KiB
# fast-neural-style-tensorflow
|
|
|
|
A tensorflow implementation for [Perceptual Losses for Real-Time Style Transfer and Super-Resolution](https://arxiv.org/abs/1603.08155).
|
|
|
|
This code is based on [Tensorflow-Slim](https://github.com/tensorflow/models/tree/master/slim) and [OlavHN/fast-neural-style](https://github.com/OlavHN/fast-neural-style).
|
|
|
|
## Samples:
|
|
|
|
| configuration | style | sample |
|
|
| :---: | :----: | :----: |
|
|
| [wave.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/wave.yml) ||  |
|
|
| [cubist.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/cubist.yml) ||  |
|
|
| [denoised_starry.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/denoised_starry.yml) ||  |
|
|
| [mosaic.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/mosaic.yml) ||  |
|
|
| [scream.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/scream.yml) ||  |
|
|
| [feathers.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/feathers.yml) ||  |
|
|
| [udnie.yml](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/udnie.yml) ||  |
|
|
|
|
## Requirements and Prerequisites:
|
|
- Python 2.7.x
|
|
- <b>Now support Tensorflow >= 1.0</b>
|
|
|
|
<b>Attention: This code also supports Tensorflow == 0.11. If it is your version, use the commit 5309a2a (git reset --hard 5309a2a).</b>
|
|
|
|
And make sure you installed pyyaml:
|
|
```
|
|
pip install pyyaml
|
|
```
|
|
|
|
## Use Trained Models:
|
|
|
|
You can download all the 7 trained models from [Baidu Drive](https://pan.baidu.com/s/1i4GTS4d).
|
|
|
|
To generate a sample from the model "wave.ckpt-done", run:
|
|
|
|
```
|
|
python eval.py --model_file <your path to wave.ckpt-done> --image_file img/test.jpg
|
|
```
|
|
|
|
Then check out generated/res.jpg.
|
|
|
|
## Train a Model:
|
|
To train a model from scratch, you should first download [VGG16 model](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz) from Tensorflow Slim. Extract the file vgg_16.ckpt. Then copy it to the folder pretrained/ :
|
|
```
|
|
cd <this repo>
|
|
mkdir pretrained
|
|
cp <your path to vgg_16.ckpt> pretrained/
|
|
```
|
|
|
|
Then download the [COCO dataset](http://msvocds.blob.core.windows.net/coco2014/train2014.zip). Please unzip it, and you will have a folder named "train2014" with many raw images in it. Then create a symbol link to it:
|
|
```
|
|
cd <this repo>
|
|
ln -s <your path to the folder "train2014"> train2014
|
|
```
|
|
|
|
Train the model of "wave":
|
|
```
|
|
python train.py -c conf/wave.yml
|
|
```
|
|
|
|
(Optional) Use tensorboard:
|
|
```
|
|
tensorboard --logdir models/wave/
|
|
```
|
|
|
|
Checkpoints will be written to "models/wave/".
|
|
|
|
View the [configuration file](https://github.com/hzy46/fast-neural-style-tensorflow/blob/master/conf/wave.yml) for details.
|