This repository holds the code for the OpenFaaS function to do style transfer. You ideally should read along the blog post on https://jmkhael.io/unleash-the-artist-within-tensorflow-and-openfaas/
curl -sSL https://cli.openfaas.com | sudo sh
faas-cli build -f artist.yml
faas-cli deploy -f artist.yml
Original | Styled |
---|---|
![]() |
![]() |
The stylized image was generated using:
curl -X POST -H X-style-name:monet -H X-style-index:1 \
--data-binary @artist/input/blizzard.jpg \
"https://localhost:8080/function/artist" > styled/blizzard-styled-monet.jpg
Original | Styled |
---|---|
![]() |
![]() |
![]() |
![]() |
The stylized image were generated using:
curl -X POST -H X-style-name:varied -H X-style-index:24 \
--data-binary @artist/input/vespa-faas.jpg \
"https://localhost:8080/function/artist" > styled/vespa-faas-varied-24.jpg
curl -X POST -H X-style-name:varied -H X-style-index:6 \
--data-binary @artist/input/faas-community.jpg \
"https://localhost:8080/function/artist" > styled/faas-community-varied-6.jpg
you can also use the accompanying script pastiche.sh
usage:
./pastiche.sh path_to_image_file style style_index
style can be monet or varied. style_index from 0 to 9 for monet, and from 0 to 30 for varied.
try them all, and see what you like!
./pastiche.sh artist/input/tree.jpg varied 24
./pastiche.sh artist/input/tree.jpg monet 2
We can also apply a multi-style blending several styles of a given model together, based on weights. e.g.: {1:0.3, 10:0.5, 24:0.2}
to tell the artist to use style 1, style 2 and style 24 in the proportions 30% - 50% - 20%
.
curl -X POST -H X-style-name:varied -H X-which-styles:'{1:0.2,10:0.3,24:0.5}' \
--data-binary @artist/input/meme-test.jpg \
"https://localhost:8080/function/artist" > styled/meme-test-varied-1-10-24.jpg
Explore some more outputs under styled folder or in this album to get a better idea, or check the blog post.