def main():
    fd = function_data()
    recogniter = FunctionRecogniter()

    # トレーニング
    # learn_layer = ['region1', 'region2', 'region3']
    #for learn_layer in [['region1', 'region2'], ['region1', 'region2']]:
    for learn_layer in [['region1'], ['region2'],]:
        for i in range(25):
            print i,
            for num, ftype in enumerate(fd.function_list.keys()):
                data = fd.get_data(ftype)
                for x, y in data:
                    input_data = {
                            'xy_value': [x, y],
                            'x_value': x,
                            'y_value': y,
                            'ftype': ftype
                            }

                    inferences = recogniter.run(input_data, learn=True, learn_layer=learn_layer)

                    # print
                    recogniter.print_inferences(input_data, inferences)

                recogniter.reset()

    # 予測
    predict_example(fd, recogniter)

    #predict_example_2(fd, recogniter)

    predict_example_3(fd, recogniter)
Example #2
0
def main():
    type_a_data = [2] * 10 + [50] * 30
    type_b_data = [1] * 10 + [50] * 30

    data_set = {'a': type_a_data, 'b': type_b_data}

    recogniter = FunctionRecogniter()

    plotter = Plotter()
    result = defaultdict(list)
    plotter.initialize(
        {
            'anomaly': {
                'ylim': [0, 1],
                'sub_title': ['a', 'b']
            },
            'output-differ': {
                'ylim': [0, 1],
                'sub_title': ['a', 'b']
            },
            'first': {
                'ylim': [0, 100],
                'sub_title': ['a', 'b']
            },
        },
        movable=True)

    # トレーニング
    for i in range(100):
        anomaly_mean = {}
        output_differ_mean = {}
        first_input = {}
        for ftype, data in data_set.items():
            tmp_anomaly = []
            tmp_output_differ = []
            first_input_cnt = 0
            for x, y in enumerate(data):
                input_data = {
                    'xy_value': [x, y],
                    'x_value': x,
                    'y_value': y,
                    'ftype': ftype
                }
                inferences = recogniter.run(input_data, learn=True)

                # for plot
                tmp_anomaly.append(inferences['anomaly']['region1'])
                if len(inferences["output_differ"]) == 0:
                    first_input_cnt += 1
                else:
                    tmp_output_differ.append(
                        inferences["output_differ"]['region1'])

                # print
                #recogniter.print_inferences(input_data, inferences)
            recogniter.reset()

            # for plot
            anomaly_mean[ftype] = sum(tmp_anomaly) / len(tmp_anomaly)
            output_differ_mean[ftype] = sum(tmp_output_differ) / len(
                tmp_output_differ)
            first_input[ftype] = first_input_cnt

        plotter.write_draw(title='anomaly',
                           x_value={
                               'a': i,
                               'b': i
                           },
                           y_value=anomaly_mean)
        plotter.write_draw(title='output-differ',
                           x_value={
                               'a': i,
                               'b': i
                           },
                           y_value=output_differ_mean)
        plotter.write_draw(title='first',
                           x_value={
                               'a': i,
                               'b': i
                           },
                           y_value=first_input)

        # 予測
        #if i % 10 == 0:
        print
        print '##################### ', i
        predict_example_4(data_set, recogniter)

    plotter.show()
def main():
    type_a_data = [2] * 10 + [50] * 30
    type_b_data = [1] * 10 + [50] * 30

    data_set  = {'a': type_a_data, 'b':type_b_data}

    recogniter = FunctionRecogniter()

    plotter    = Plotter()
    result = defaultdict(list)
    plotter.initialize({
        'anomaly':{
            'ylim': [0,1],
            'sub_title': ['a', 'b']},
        'output-differ':{
            'ylim': [0,1],
            'sub_title': ['a', 'b']},
        'first':{
            'ylim': [0,100],
            'sub_title': ['a', 'b']},
        }, movable=True)

    # トレーニング
    for i in range(100):
        anomaly_mean = {}
        output_differ_mean = {}
        first_input = {}
        for ftype, data in data_set.items():
            tmp_anomaly = []
            tmp_output_differ = []
            first_input_cnt = 0
            for x, y in enumerate(data):
                input_data = {
                        'xy_value': [x, y],
                        'x_value': x,
                        'y_value': y,
                        'ftype': ftype
                        }
                inferences = recogniter.run(input_data, learn=True)

                # for plot
                tmp_anomaly.append(inferences['anomaly']['region1'] )
                if len(inferences["output_differ"]) == 0:
                    first_input_cnt += 1
                else:
                    tmp_output_differ.append(inferences["output_differ"]['region1'])

                # print
                #recogniter.print_inferences(input_data, inferences)
            recogniter.reset()

            # for plot
            anomaly_mean[ftype]       = sum(tmp_anomaly) / len(tmp_anomaly)
            output_differ_mean[ftype] = sum(tmp_output_differ) / len(tmp_output_differ)
            first_input[ftype] =  first_input_cnt

        plotter.write_draw(title='anomaly', x_value={'a':i, 'b':i}, y_value=anomaly_mean)
        plotter.write_draw(title='output-differ', x_value={'a':i, 'b':i}, y_value=output_differ_mean)
        plotter.write_draw(title='first', x_value={'a':i, 'b':i}, y_value=first_input)


        # 予測
        #if i % 10 == 0:
        print
        print '##################### ', i
        predict_example_4(data_set, recogniter)

    plotter.show()