def main():
    seed = int(sys.argv[1]) if str.isdigit(sys.argv[1]) else 0
    ignore_index = [int(x) for x in sys.argv[2].split(',') if str.isdigit(x)]
    mre_file = sys.argv[3]
    gn_file = sys.argv[4]
    sequence_file = sys.argv[5]

    mregn_runner.init_genrand(seed)
    runner = my_runner()
    runner.init(mre_file, gn_file)
    runner.set_time_series_id(-1)

    ignore_index = [i for i in ignore_index if i >= 0 and i <
            runner.mre_in_state_size() and i < runner.mre_out_state_size()]

    p = re.compile(r'(^#)|(^$)')
    out_state_queue = []
    for line in open(sequence_file, 'r'):
        if p.match(line) == None:
            input = list(map(float, line[:-1].split()))
            if len(out_state_queue) >= runner.mre_delay_length():
                out_state = out_state_queue.pop(0)
                for i in ignore_index:
                    input[i] = out_state[i]
            runner.mre_in_state(input[:runner.mre_in_state_size()])
            runner.update()
            out_state = runner.mre_out_state()
            print('\t'.join([str(x) for x in out_state]))
            out_state_queue.append(out_state)
Exemple #2
0
def main():
    seed, length, samples, truncate_length, block_length, divide_num = \
            [int(x) if str.isdigit(x) else 0 for x in sys.argv[1:7]]
    mre_file = sys.argv[7]
    gn_file = sys.argv[8]
    mregn_runner.init_genrand(seed)
    runner = my_runner()
    runner.init(mre_file, gn_file)
    print(rnn_kl_div.get_KL_div(length, samples, truncate_length, block_length,
            divide_num, runner, sys.argv[9:]))