예제 #1
0
__author__ = 'Chong Guo <*****@*****.**>'
__copyright__ = 'Copyright 2018, Chong Guo'
__license__ = 'GPL'

import numpy as np
import tensorflow as tf
from matplotlib import pyplot as plt

from config import batch_size, display_step, saving_step, summary_path, testing_summary
from common import init_model
from image_helper import concat_images


if __name__ == '__main__':
    # Init model
    is_training, _, _, loss, predict_rgb, color_image_rgb, gray_image, file_paths = init_model(train=False)

    # Init scaffold, hooks and config
    scaffold = tf.train.Scaffold()
    checkpoint_hook = tf.train.CheckpointSaverHook(checkpoint_dir=summary_path, save_steps=saving_step, scaffold=scaffold)
    config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True, gpu_options=(tf.GPUOptions(allow_growth=True)))
    session_creator = tf.train.ChiefSessionCreator(scaffold=scaffold, config=config, checkpoint_dir=summary_path)

    # Create a session for running operations in the Graph
    with tf.train.MonitoredSession(session_creator=session_creator, hooks=[checkpoint_hook]) as sess:
        print("🤖 Start testing...")
        step = 0
        avg_loss = 0

        while not sess.should_stop():
            step += 1
"""Train model."""


import numpy as np
import tensorflow as tf
from matplotlib import pyplot as plt

from config import display_step, summary_path, saving_step, testing_step, training_iters, training_summary
from common import init_model
from image_helper import concat_images


if __name__ == '__main__':
    # Init model
    is_training, global_step, optimizer, loss, predict_rgb, color_image_rgb, gray_image, _ = init_model(train=True)

    # Init scaffold, hooks and config
    scaffold = tf.train.Scaffold()
    summary_hook = tf.train.SummarySaverHook(output_dir=training_summary, save_steps=display_step, scaffold=scaffold)
    checkpoint_hook = tf.train.CheckpointSaverHook(checkpoint_dir=summary_path, save_steps=saving_step, scaffold=scaffold)
    num_step_hook = tf.train.StopAtStepHook(num_steps=training_iters)
    config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True, gpu_options=(tf.GPUOptions(allow_growth=True)))

    # Create a session for running operations in the Graph
    with tf.train.MonitoredTrainingSession(checkpoint_dir=summary_path,hooks=[summary_hook, checkpoint_hook, num_step_hook],scaffold=scaffold,config=config) as sess:
        print("🤖 Start training...")

        while not sess.should_stop():
            # Run optimizer
            _, step, l, pred, color, gray = sess.run([optimizer, global_step, loss, predict_rgb, color_image_rgb, gray_image] , feed_dict={is_training: True})
예제 #3
0
"""
Training model
"""

import sys

import numpy as np
from matplotlib import pyplot as plt

from config import *
from common import init_model
from image_helper import (concat_images)

if __name__ == '__main__':
    # Init model
    is_training, global_step, uv, optimizer, cost, predict, predict_rgb, color_image_rgb, gray_image_rgb, file_paths = init_model(
        train=True)

    # Saver
    print "Init model saver"
    saver = tf.train.Saver()

    # Init the graph
    print "Init graph"
    init = tf.initialize_all_variables()

    # Create a session for running operations in the Graph
    with tf.Session() as sess:
        # Initialize the variables.
        sess.run(init)

        # Merge all summaries
예제 #4
0
import common

parser = argparse.ArgumentParser()
parser.add_argument("--input-path")
parser.add_argument("--model-dir-path")

args = parser.parse_args()

training_data = common.read_data(args.input_path)
dictionary, reverse_dictionary = common.build_dataset(training_data, dict())
vocab_size = len(dictionary)

# Parameters
learning_rate = 0.001
n_input = 3
pred, x, y = common.init_model(dictionary, n_input)

saver = tf.train.Saver()

# Loss and optimizer
cost = tf.reduce_mean(
    tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y))
optimizer = tf.train.RMSPropOptimizer(
    learning_rate=learning_rate).minimize(cost)

# Model evaluation
correct_pred = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))

# training_iters = 50000
training_iters = 1