예제 #1
0
 def __init__(self, window):
     self.window = window
     self.terminals = Dict()
     self.expanded_term = None
     self.current_context = None
     self.contexts = Dict()
     self.pop_out_contexts = Dict()
     self.queue = Queue()
예제 #2
0
 def images_and_states_to_records(images, states, features, ground_truth=None):
   assert len(images) == len(states)
   assert len(images) == len(features)
   records = []
   if ground_truth is None:
     for img, state, feature in zip(images, states, features):
       records.append(Dict(image=img, state=state, feature=feature))
   else:
     for img, gt, state, feature in zip(images, ground_truth, states,
                                        features):
       img = np.stack([img, gt])
       records.append(Dict(image=img, state=state, feature=feature))
   return records
예제 #3
0
파일: net.py 프로젝트: Minohh/exposure
  def get_high_resolution_net(self, res):
    if res not in self.high_res_nets:
      print('Creating high_res_network for ', res)
      net = Dict()
      net.high_res_input = tf.placeholder(
          tf.float32,
          shape=(None, res[0], res[1], self.cfg.real_img_channels),
          name='highres_in')
      net.fake_input = self.fake_input
      net.fake_input_feature = self.fake_input_feature
      net.real_data = self.real_data
      net.z = self.z
      net.is_train = self.is_train
      net.states = self.states
      with tf.variable_scope('generator', reuse=True):
        fake_output, net.generator_debug_output, net.generator_debugger = self.cfg.generator(
            [net.fake_input, net.z, net.states],
            is_train=net.is_train,
            cfg=self.cfg,
            high_res=net.high_res_input,
            progress=0)
        net.fake_output, net.new_states, net.high_res_output = fake_output

      net.fake_logit, net.fake_embeddings, _ = self.cfg.critic(
          images=net.fake_output, cfg=self.cfg, reuse=True, is_train=False)
      self.high_res_nets[res] = net
    return self.high_res_nets[res]
예제 #4
0
    def __init__(self,
                 manager,
                 contexts,
                 name,
                 index,
                 pos,
                 start_callback=None,
                 restart_callback=None,
                 stop_callback=None):
        self.manager = manager
        self.contexts = contexts
        self.name = name
        self.index = index
        self.pos = pos
        self.status = 0
        self.start_callback = start_callback
        self.restart_callback = restart_callback
        self.stop_callback = stop_callback

        self.terminal_contexts = Dict()

        for context_name in self.contexts:
            self.add_context(context_name, self.contexts[context_name])

        self.output = []
예제 #5
0
 def get_next_RAW(self, batch_size, test=False):
   if test:
     batch = self.fake_dataset_test.get_next_batch(batch_size)[0]
   else:
     batch = self.fake_dataset.get_next_batch(batch_size)[0]
   pool = []
   for img in batch:
     pool.append(Dict(image=img, state=self.get_initial_states(1)[0]))
   return self.records_to_images_and_states(pool)
예제 #6
0
 def fill_pool(self):
   while len(self.image_pool) < self.target_pool_size:
     batch, features = self.fake_dataset.get_next_batch(self.cfg.batch_size)
     for i in range(len(batch)):
       self.image_pool.append(
           Dict(
               image=batch[i],
               state=self.get_initial_states(1)[0],
               feature=features[i]))
   self.image_pool = self.image_pool[:self.target_pool_size]
   assert len(self.image_pool) == self.target_pool_size, '%d, %d' % (
       len(self.image_pool), self.target_pool_size)
예제 #7
0
    def update(self):
        for tm_name in self.terminals.keys():
            self.terminals[tm_name].update()

        while not self.queue.empty():
            func, data = self.queue.get()

            if func == "add_terminal":
                name = data
                index = len(self.terminals)
                self.contexts[index] = PageContext(
                    self.window.get_root_context())
                cntxs = Dict(main=self.contexts["main"])
                cntxs[index] = self.contexts[index]
                self.terminals[index] = Terminal(
                    self, cntxs, name, index,
                    TerminalManager.get_rc_index(index))
                self.contexts["main"].configure_page()
            elif func == "set_terminal_attribute":
                name, attrib, value = data
                term = self.get_terminal(name)

                if attrib == "start_callback":
                    term.set_start_callback(value)
                elif attrib == "restart_callback":
                    term.set_restart_callback(value)
                elif attrib == "stop_callback":
                    term.set_stop_callback(value)
                elif attrib == "status":
                    term.update_status(value)
                else:
                    log.error("Invalid Attribute Passed: " + attrib)
            elif func == "append_to_terminal":
                name, data, end = data
                term = self.get_terminal(name)
                term.append(data, end)
예제 #8
0
from artist import ArtistDataProvider
from fivek import FiveKDataProvider
from critics import critic
from agent import agent_generator
from util import Dict
from filters import *

cfg = Dict()

###########################################################################
###########################################################################
# Here is a list of parameters. Instead of hard coding them in the script, I summarize them here.
# You do not need to modify most of them except the dataset part (see bottom), unless for good reasons.
###########################################################################
###########################################################################

#--------------------------------------------------------------------------

###########################################################################
# Filter Parameters
###########################################################################
cfg.filters = [
    ExposureFilter, GammaFilter, ImprovedWhiteBalanceFilter,
    SaturationPlusFilter, ToneFilter, ContrastFilter, WNBFilter, ColorFilter
]
# Gamma = 1/x ~ x
cfg.curve_steps = 8
cfg.gamma_range = 3
cfg.exposure_range = 3.5
cfg.wb_range = 1.1
cfg.color_curve_range = (0.90, 1.10)
예제 #9
0
from json import dumps, loads

import log
from util import Dict

CONFIG = Dict(
    log_level=0
)


def load_config():
    try:
        with open("config.json") as i:
            data = loads(i.read())

            for key in data.keys():
                CONFIG[key] = data.get(key)

    except FileNotFoundError as e:
        log.info("Configuration file not found, generating one now.")
        data = dumps(CONFIG, indent=4)
        with open("config.json", 'w') as i:
            i.write(data)
        log.info("Please configure configuration file before executing again.")
        exit(1)
예제 #10
0
 def get_next_RAW_train_all(self):
   batch = self.fake_dataset_train.get_all()[0]
   pool = []
   for img in batch:
     pool.append(Dict(image=img, state=self.get_initial_states(1)[0]))
   return self.records_to_images_and_states(pool)
예제 #11
0
import logging
import os
from atexit import register
from datetime import datetime
from inspect import stack
from io import StringIO
from threading import current_thread

from config import CONFIG
from util import Dict

LEVELS = Dict(NOTSET=0, DEBUG=1, INFO=2, WARNING=3, ERROR=4, CRITICAL=5)
PREFS = Dict(LEVEL=LEVELS.NOTSET,
             SHOW_TAGS=True,
             ENABLE_THREAD_TAG=True,
             ENABLE_MODULE_TAG=True,
             ENABLE_FUNC_TAG=True)

has_init = False


def init():
    level = CONFIG.log_level
    PREFS.LEVEL = level
    _log_start(level)


def _log_start(level=LEVELS.NOTSET):
    tm = datetime.now()
    # file_name = str(manager).replace('-', '').replace(' ', '').replace(':', '.')
    file_name = str(tm.year).zfill(4) + '.' + str(