示例#1
0
    def __init__(self, *arg):
        self.batch_size = 50
        self.embed_size = 300
        self.lstm_units = 100
        self.dropout = 0.0

        self.data = DU.Data(debug_mode=True, percent_debug_data=1)

        self._encoder()
        self._decoder()

        init = tf.global_variables_initializer()
        self.sess = tf.Session()
        self.sess.run(init)
示例#2
0
    "select chat_id, chat_content from inner_game.user_chat_log where part_game = 13 limit 1000"
)

x_evluate = [x[1].decode('utf8') for x in data]
x_raw = [x[0] for x in data]

print "conncet hive sucess!"
# x_evluate = data

print("\nEvaluating...\n")

execfile("config.py")
print config.model.th
dev_data = data_utils.Data(data_source=config.dev_data_source,
                           alphabet=config.alphabet,
                           l0=config.l0,
                           batch_size=128,
                           no_of_classes=3)

# Evaluation
# ==================================================
checkpoint_file_root = os.path.join(FLAGS.checkpoint_dir, "checkpoints")
checkpoint_file = tf.train.latest_checkpoint(checkpoint_file_root)
print checkpoint_file
graph = tf.Graph()
with graph.as_default():
    session_conf = tf.ConfigProto(
        allow_soft_placement=FLAGS.allow_soft_placement,
        log_device_placement=FLAGS.log_device_placement)
    sess = tf.Session(config=session_conf)
    with sess.as_default():
import data_utils
from mdp import MDP
from rewards import reward_func_linear  # Call it with stats to initialize
from env import Env
from q_learning import QLearningAlgo
from policy import EpsilonGreedyPolicy, GreedyPolicy, RandomPolicy

data = data_utils.Data(n=15)
mdp = MDP(data=data)
reward_func = reward_func_linear(data.statistics, verbose=False)
env = Env(reward_func=reward_func, mode='human')
# policy = EpsilonGreedyPolicy(action_space = mdp.action_space)
policy = RandomPolicy(action_space=mdp.action_space)
test_policy = GreedyPolicy(action_space=mdp.action_space)
algo = QLearningAlgo(env=env, mdp=mdp, policy=policy, discount=0.2)

algo.set_mode('train')
algo.fit(mode='train', epochs=4, remember=True)

algo.set_mode('test')
algo.test(mode='test', policy=test_policy)

algo.replay(batch_size=16, epochs=8)

algo.set_mode('test')
algo.test(mode='test', policy=test_policy)

# algo.test(mode = 'human', policy = test_policy)

import numpy as np
import matplotlib.pyplot as plt
        except StopIteration as e:
            self.dataiter = iter(self.dataiter)
            self.itercycle += 1
            episode_iterator, self.video_path = next(self.dataiter)

        self.episode = iter(episode_iterator)
        encoding, done = next(self.episode)
        self.state = self.state_class(encoding=encoding, prev_state=None)
        if done:
            return self.reset()
        self.is_terminal = False
        self.prev_state = None

    def set_mode(self, mode):
        if mode in ['train', 'test']:
            self.data.mode = mode
            self.dataiter = iter(self.data)


if __name__ == '__main__':
    # Test
    import data_utils
    data = data_utils.Data(small=True)
    mdp = MDP(data=data)
    mdp.reset()

    for i in range(1000):
        mdp.doAction(1)
        if mdp.is_terminal:
            mdp.reset()
示例#5
0
                # if len(self.buffer) % 1000 == 0 and len(self.buffer) != 0:
                #     print("Loading %ith frame into buffer" % len(self.buffer))
                try:
                    self.buffer.append(self.cap.read())  # Read frame
                except BufferError as e:
                    break
            # print("Video in buffer:", self.cap.pipeline, "\t# of frames in buffer:", len(self.buffer))

    def set_mode(self, mode):
        self.mode = mode


if __name__ == '__main__':
    # Test
    import data_utils
    from mdp import MDP
    from rewards import reward_func_linear  # Call it with stats to initialize
    data = data_utils.Data(n=2)
    mdp = MDP(dataiter=iter(data))
    reward_func = reward_func_linear(data.statistics, verbose=False)
    env = Env(mdp=mdp, reward_func=reward_func)
    while True:
        if env.mdp.is_terminal:
            env.reset()

        _, reward, _ = env.step(1)
        env.render(gender=env.mdp.state.encoding.gender,
                   age=env.mdp.state.encoding.age,
                   reward=reward,
                   action=1)
示例#6
0
def walk(correlation_matrix, n_steps):
    base = normalize(correlation_matrix, norm="l1", axis=0)
    no_loop_2 = correlation_matrix.dot(correlation_matrix) \
                * (1 - np.eye(correlation_matrix.shape[0]))
    no_loop_2 = normalize(no_loop_2, norm="l1", axis=0)
    weights = [base, no_loop_2]
    for i in range(n_steps - 2):
        weights.append(normalize(weights[-2].dot(no_loop_2), norm="l1",
                                 axis=0))
    ret = np.stack(weights, -1) * np.power(0.8, range(n_steps))
    ret = np.sum(ret, axis=-1)
    ret = normalize(ret, norm="l1", axis=0)
    return ret


mydata = data_utils.Data("./data/BlogCatalog3/")
correlation_matrix = walk(mydata.correlation_matrix, 5)
print(np.mean(correlation_matrix))
embeddings = gravity_embedding(correlation_matrix,
                               4,
                               alpha=0.5,
                               stop_criterion=2e-6)

trainX, testX, trainY, testY = sklearn.model_selection.train_test_split(
    embeddings, mydata.index2group, test_size=0.9)


def eval(model):
    model.fit(trainX, trainY)
    # print("accuracy: ", model.score(testX, testY))
    pred = model.predict(testX)