Python-汉字的神经风格转移NeuralstyleTransfer实现


汉字的神经风格转移(Neural Style Transfer)实现
资源截图
代码片段和文件信息
# -*- coding: utf-8 -*-
import numpy as np


def read_font_data(font unit_scale):
    F = np.load(font)
    if unit_scale:
        return F / 255.
    return F


class FontDataProvider(object):
    def __init__(self font start end):
        self.start = start
        self.end = end
        self.data = np.copy(font[start: end])
        self.cursor = 0
        self.length = self.end - self.start

    def get_data(self):
        return self.data

    def next_batch(self batch_size):
        if self.cursor >= self.length:
            self.cursor = 0
        batch_start = self.cursor
        batch_end = self.cursor + batch_size
        self.cursor += batch_size
        return self.data[batch_start: batch_end]


class FontDataManager(object):
    def __init__(self src target total split_point unit_scale=True shuffle=False):
        src_data = read_font_data(src unit_scale)
        target_data = read_font_data(target unit_scale)
        if shuffle:
            perm = np.arange(src_data.shape[0])
            np.random.shuffle(perm)
            src_data = src_data[perm]
            target_data = target_data[perm]
        self.train_source = FontDataProvider(src_data 0 split_point)
        self.validation_source = FontDataProvider(src_data split_point total)
        self.train_target = FontDataProvider(target_data 0 split_point)
        self.validation_target = FontDataProvider(target_data split_point total)

    def next_train_batch(self batch_size):
        if self.train_source.cursor >= self.train_source.length:
            # random shuffle the training examples
            # otherwise the model‘s performance fluctuate periodically
            perm = np.arange(self.train_source.length)
            np.random.shuffle(perm)
            self.train_source.data = self.train_source.data[perm]
            self.train_target.data = self.train_target.data[perm]
        return self.train_source.next_batch(batch_size) self.train_target.next_batch(batch_size)

    def get_validation(self):
        return self.validation_source.get_data() 
               self.validation_target.get_data()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-04-07 08:29  Rewrite-master
     文件          28  2017-04-07 08:29  Rewrite-master.gitignore
     文件       35140  2017-04-07 08:29  Rewrite-masterLICENSE
     文件       14305  2017-04-07 08:29  Rewrite-masterREADME.md
     目录           0  2017-04-07 08:29  Rewrite-mastercharsets
     文件      106446  2017-04-07 08:29  Rewrite-mastercharsetsgbk.txt
     文件       11976  2017-04-07 08:29  Rewrite-mastercharsets op_3000_simplified.txt
     文件       11976  2017-04-07 08:29  Rewrite-mastercharsets op_3000_traditional.txt
     文件        2128  2017-04-07 08:29  Rewrite-masterdataset.py
     目录           0  2017-04-07 08:29  Rewrite-masterimages
     文件       26916  2017-04-07 08:29  Rewrite-masterimagesarchitecture.png
     文件     1486293  2017-04-07 08:29  Rewrite-masterimagesigger_test.png
     文件       20260  2017-04-07 08:29  Rewrite-masterimagesox_for_ideas.png
     文件       47517  2017-04-07 08:29  Rewrite-masterimagesdifferent_training_size.png
     文件     2887427  2017-04-07 08:29  Rewrite-masterimagesmixed_font.gif
     文件       93045  2017-04-07 08:29  Rewrite-masterimagespredicted_vs_ground_truth.png
     文件     2406995  2017-04-07 08:29  Rewrite-masterimagessingle_font_progress.gif
     文件       28320  2017-04-07 08:29  Rewrite-masterimagesstructure.png
     文件        3605  2017-04-07 08:29  Rewrite-masterpreprocess.py
     文件          54  2017-04-07 08:29  Rewrite-master
equirements.txt
     文件       15763  2017-04-07 08:29  Rewrite-master
ewrite.py
     文件         901  2017-04-07 08:29  Rewrite-masterutils.py

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)