"""
Author : Byunghyun Ban
"""
import tensorflow_hub as hub
import data_reader
# 데이터를 불러옵니다.
dr = data_reader.DataReader("content.jpg", "style.jpg")
# Hub로부터 style transfer 모듈을 불러옵니다.
hub_module = hub.load(
'https://tfhub.dev/google/magenta/arbitrary-image-stylization-v1-256/1'
)
# 모듈에 이미지를 삽입해 Style Transfer를 실시합니다.
stylized_image = hub_module(dr.content, dr.style)[0]
# 결과를 출력합니다.
result = data_reader.tensor_to_image(stylized_image)
# 결과를 저장합니다.
result.save("result.jpg")
층수 | 종류 | 크기 | 활성화 함수 |
---|---|---|---|
1층 | CNN | 64,(5,5),strides=(2,2) | LeakyReLu |
- | Dropout | rate=0.3 | - |
2층 | CNN | 128,(5,5),strides=(2,2) | LeakyReLu |
- | Dropout | rate=0.3 | - |
3층 | Flatten | - | - |
4층 | FNN | 1 | - |
층수 | 종류 | 크기 | 활성화 함수 |
---|---|---|---|
1층 | FNN | 100 | - |
2층 | FNN | 12,544 | - |
- | BatchNorm | - | LeakyReLu |
3층 | Reshape | (7,7,256) | - |
4층 | DCNN | 1 | 128,(5,5) |
- | BatchNorm | - | LeakyReLu |
5층 | DCNN | 64,(5,5),strides=(2,2) | - |
- | BatchNorm | - | LeakyReLu |
6층 | DCNN | 1,(5,5),strides=(2,2) | tanh |
"""
Author : Byunghyun Ban
"""
import data_reader
import gan
# 몇 에포크 만큼 학습을 시킬 것인지 결정합니다.
EPOCHS = 100 # 예제 기본값은 100입니다.
# 데이터를 읽어옵니다.
dr = data_reader.DataReader()
# GAN을 불러옵니다.
# Generator
generator = gan.make_generator()
# Discriminator
discriminator = gan.make_discriminator()
# 인공신경망을 학습시킵니다.
print("\n\n************ TRAINING START ************ ")
gan.train(generator, discriminator, dr.train_dataset, EPOCHS)
# GIF 애니메이션을 저장합니다.
gan.gif_generation()