def nh_swap_exhaustive(data):
    """
    Generates the neighbourhood of all possible sequences from single element swaps

    Parameters
    ----------
    data : TYPE
        DESCRIPTION.

    Returns
    -------
    None.

    """
    
    sequence = data.data
    nh = []
    length = len(sequence)
    for i in range(0, length):
        for j in range(i+1, length):
            if i!=j:
                nh_element = sequence.copy()

                swap(nh_element,i,k)
                nh.append(main.Data(nh_element))

    
    return nh
def nh_swap_adjacent(data, n_swaps):
    """
    Generates the neighbourhood of all sequences from performing n adjacent swaps

    Parameters
    ----------
    sequence : TYPE
        DESCRIPTION.
    n_swaps : TYPE
        DESCRIPTION.

    Returns
    -------
    None.

    """
    sequence = data.data
    nh = []
    last = len(sequence) - n_swaps * 2
    for i in range(0, last):
        nh_element = sequence.copy()
        swap_adjacent(nh_element, n_swaps, i)
        nh.append(main.Data(nh_element))

    return nh
def nh_insert_exhaustive(data):
    """
    Generates the neighbourhood of all possible sequences from single element insertions

    Parameters
    ----------
    sequence : TYPE
        DESCRIPTION.

    Returns
    -------
    nh : TYPE
        DESCRIPTION.

    """
    sequence = data.data
    nh = []
    length = len(sequence)
    for i in range(0, length):
        for j in range(0, length):
            if i!=j:
                nh_element = sequence.copy()
                rect = nh_element[i]
                nh_element.insert(j, rect)
                nh_element.remove(rect)
                nh.append(main.Data(nh_element))
    
    return nh
Beispiel #4
0
def train(dataInput, train_file, gaz_file, dev_file, test_file, char_emb,
          bichar_emb, gpu, save_model_dir, seg):
    get_num = len(dataInput)

    if get_num >= 3:

        data = main.Data()
        data.write_http_data(train_file, dataInput, 'train')
        data.write_http_data(test_file, dataInput, 'test')
        data.write_http_data(dev_file, dataInput, 'dev')

        data.HP_gpu = gpu
        data.HP_use_char = True
        data.HP_batch_size = 1
        data.use_bigram = False
        data.gaz_dropout = 0.5
        data.norm_gaz_emb = False
        data.HP_fix_gaz_emb = True

        main.data_initialization(data, gaz_file, train_file, dev_file,
                                 test_file)
        data.generate_instance_with_gaz(train_file, 'train')
        data.generate_instance_with_gaz(dev_file, 'dev')
        data.generate_instance_with_gaz(test_file, 'test')
        data.build_word_pretrain_emb(char_emb)
        data.build_biword_pretrain_emb(bichar_emb)
        data.build_gaz_pretrain_emb(gaz_file)
        main.train(data, save_model_dir, seg)

        return "train over"
    else:
        return "train fail: the sentence_num must over 3"
def nh_rotate_adjacent(data, n_elements):
    sequence = data.data
    nh = []
    last = len(sequence) - n_elements + 1
    for i in range(0, last):
        nh_element = sequence.copy()
        rotate_adjacent(nh_element, n_elements, i)
        nh.append(main.Data(nh_element))

    return nh
Beispiel #6
0
def run(host, port, data, file, treading=None):
    global tdata, tfile
    tdata = data
    tfile = main.Data().load(file=file)
    if treading:
        import multiprocessing
        serverProcess = multiprocessing.Process(target=run,
                                                args=(host, port, data, file,
                                                      None))
        serverProcess.start()
    else:
        server.run(host, port)
def nh_shift(data):
    """
    Generate neighbourhood by placing last element at the front
    :param data:
    :return:
    """
    neighbourhood = []
    rectangles = data.data
    length = len(rectangles)
    for i in range(0, length-1):
        new_sequence = rectangles[1:length].copy()
        new_sequence.append(rectangles[0])
        neighbourhood.append(main.Data(new_sequence))

    return neighbourhood
Beispiel #8
0
import random


def void():
    return random.choice(range(1, 10))


import main as wb

if __name__ == '__main__':
    actors = wb.Data(wb.Actor(name="Pumpe 2", unit="time/on/off", get_f=void, do_f=void), wb.Actor(name="Pumpe 1", unit="on/off", get_f=void, do_f=void))
    sensors = wb.Data(wb.Sensor(name="Regenmesser", unit="l", get_f=void), wb.Sensor(name="Feuchtigkeitssensor", unit="%", get_f=void))
    data = wb.Data(sensors=sensors, actors=actors)
#    saves = wb.Data(file="saves.dbin")
#    saves._args = {}
#    rule1 = wb.Rule(sensor="Feuchtigkeitssensor 1", operator="sa", sensor_value="25", actor="Pumpe 1", actor_value="20")
#    rule2 = wb.Rule(sensor="Feuchtigkeitssensor 1", operator="la", sensor_value="20", actor="Pumpe 1",actor_value="230")
#    saves.config("rules", wb.Data(rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2, rule2))
#    saves.config("rules", wb.Data())
#    saves.save(file="saves.dbin")
    s = wb.Server(host="localhost", port=80, thread=True, data=data, file="saves.dbin")
    s.run()
Beispiel #9
0
import time

import flask
import main
import json
from flask import Response, render_template

server = flask.Flask(__name__)
tdata = main.Data()


@server.route("/")
def index():
    global tdata
    return render_template("index.html")


@server.route("/exec/<string:command>")
def execc(command):
    return eval(command)


@server.route("/.get/<path:path>/")
def get(path):
    d = tdata
    for i in path.split("/"):
        try:
            d = d.config(int(i))
        except ValueError:
            d = d.config(str(i))
    return json.JSONEncoder().encode(d.toDict())