Bletcher-Project / bletcher_mix

[Bletcher Project] NST ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ์ด๋ฏธ์ง€ ํ•ฉ์„ฑ ์„œ๋ฒ„ ๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ
MIT License
1 stars 2 forks source link
django-rest-framework neural-style-transfer pytorch

GitHub release (latest by date) GitHub contributors GitHub issues GitHub license

Bletcher-Mix ๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ

image

์ธ๊ณต์ง€๋Šฅ ์˜ˆ์ˆ  ์›น ์„œ๋น„์Šค Bletcher Project์˜ AI Repository ์ž…๋‹ˆ๋‹ค. Django๋กœ ์ด๋ฏธ์ง€ ํ•ฉ์„ฑ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ Oracle Cloud์— ๋ฐฐํฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ ์šฐ๋ฆฌ๋Š” bletcher-ml ์ €์žฅ์†Œ๋ฅผ ์ง€๋‚˜์™€ 100์—ฌ๊ฐœ์˜ commit๊ณผ 8๊ฐœ์˜ issue๋ฅผ ํ†ตํ•œ ๋งŽ์€ ํ† ์˜ ๋์— ๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!!

๐Ÿš€ Version 1.1.0 Released


Technology

logic

ํ•ต์‹ฌ๊ธฐ๋Šฅ

ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ


Run

์ด๋ฏธ์ง€ ํ•ฉ์„ฑ ์„œ๋ฒ„๋Š” Django ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ Oracle Cloud์— ๋ฐฐํฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. http://193.123.235.185:8000์˜ /synthesizing/:originid/:subid ๋ผ์šฐํ„ฐ๋กœ POST ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

Getting Started

Bletcher-mix๋Š” Oracle Cloud์— ๋ฐฐํฌ๋˜์–ด์žˆ์–ด ๋”ฐ๋กœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ, ๊ฐœ๋ฐœ์ž ํ™˜๊ฒฝ์—์„œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•˜๊ณ ์‹ถ์€ ๋ถ„์€ ์•„๋ž˜์˜ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ผ์ฃผ์„ธ์š”.

Prerequisites

์‹คํ–‰ ์ „ requirements๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜์‹ญ์‹œ์˜ค. ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ๊ตฌ์ถ•ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Installation

  1. git clone https://github.com/Bletcher-Project/bletcher_mix
  2. ./bletcher_mix/ ๊ฒฝ๋กœ์˜ .env.example๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Run Locally

์ด๋Š” bletcher-back, Heroku, Cloudinary ๋“ฑ์˜ ์„œ๋น„์Šค์™€ ์—ฐ๊ฒฐ์ด ํ•„์ˆ˜์ ์ด๊ณ  ํ•ด๋‹น ์„œ๋น„์Šค๋“ค์—๊ฒŒ ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ตœ์†Œํ•œ bletcher-back server์˜ ์‹คํ–‰๊ณผ Cloudinary ์—ฐ๋™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ„ฐ๋ฏธ๋„์—์„œ python manage.py runserver๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. bletcher-back repository๋ฅผ cloneํ•˜๊ณ  ํ•ด๋‹น python ์„œ๋ฒ„์— /synthesizing ๋ผ์šฐํ„ฐ๋กœ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ๋ณ„ ์‹คํ–‰ ๊ฒฐ๊ณผ ํ™•์ธ

โ—๏ธ neural style์€ pytorch๊ธฐ๋ฐ˜ CNN ๋ชจ๋ธ๋กœ VGG19 ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VGG19 ๋ชจ๋ธ์„ ํ†ตํ•ด ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด neural_style.py ํŒŒ์ผ์„ ์—ด์–ด layer์™€ model์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# VGG19 ver. Layer (line 83-89)
content_layers_default = ['conv_3']
style_layers_default = ['conv_1', 'conv_2', 'conv_3', 'conv_4', 'conv_5']

# VGG19 ver. Model (line 214-218)
cnn = models.vgg19(pretrained=True).features.to(device).eval()

Resnet50 ๋ชจ๋ธ์„ ํ†ตํ•ด ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด neural_style.py ํŒŒ์ผ์„ ์—ด์–ด layer์™€ model์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# resnet50 ver. Layer (line 83-89)
content_layers_default = ['conv_1']
style_layers_default = ['conv_1', 'conv_2', 'conv_3', 'conv_4', 'conv_5']

# resnet50 ver. Model (line 214-218)
cnn = models.resnet50(pretrained=True).to(device).eval()

Reference

License

All of source codes under our project are using MIT License.


Bletcher Team