예제 #1
0
def main():
    data_path = "../../data/train/before/LINE_100_dbdt.dat"

    with fluid.dygraph.guard():
        model = AlexNet()
        # Load static
        min_dict, _ = fluid.load_dygraph(model_path='min_polyfit')
        # print(min_dict)
        model.set_dict(stat_dict=min_dict)

        model.eval()

        data_file = SingleFile(data_path)
        one_point = data_file.get_one_point()

        data = one_point.get_data()

        data = np.array(data, 'float32').reshape(1, 2, 1, 100)
        # teacher.res
        data = fluid.dygraph.to_variable(data)

        logits = model(data)

        result = logits.numpy()

        result = back_change(result)

    x_data = one_point.x
    print("RESULT: \n", result)
    one_point.plot(show=False, label='origin')
    plt.plot(x_data, [exponenial_func(x, *result[0]) for x in x_data], label='predict')
    plt.show()
예제 #2
0
def read_data(data_path, placeholder, max_input_length=500):
    logger.info("Logging data {}...".format(placeholder))

    sf = SingleFile(data_path)
    data = []
    all_point_number = 500
    # all_point_number = sf.point_number
    with tqdm(total=all_point_number) as pbar:
        pbar.set_description("Reading {}".format(placeholder))
        for i in range(all_point_number):
            point = sf.get_one_point()
            x_data, y_data = point.get_data()
            output = data_handle(x_data, y_data, MAX_INPUT_LENGTH)
            data.append(output.tolist())
            pbar.update(1)

    return K.cast_to_floatx(np.array(data))
예제 #3
0
def read_data(data_path, placeholder, max_input_length=500):
    logger.info("Logging data {}...".format(placeholder))

    sf = SingleFile(data_path)
    data = []
    all_point_number = 50
    # all_point_number = sf.point_number
    with tqdm(total=all_point_number) as pbar:
        pbar.set_description("Reading {}".format(placeholder))
        for i in range(all_point_number):
            point = sf.get_one_point()
            one_data = point.get_data()
            one_data = np.array(one_data).reshape(1, -1, 2)
            one_data = data_handle(one_data)
            length = point.size
            output = np.pad(one_data,
                            pad_width=((0, 0), (0, max_input_length - length), (0, 0)),
                            constant_values=(0, 0),
                            )
            output = np.tile(output, reps=[3, 1, 1])
            data.append(output.tolist())
            pbar.update(1)

    return K.cast_to_floatx(np.array(data))
예제 #4
0
            if len(points):
                yield points

        return reader

    def get_one_point(self) -> SinglePoint:
        point = next(self.point_reader())
        if point is None:
            raise ValueError('No more point in this file')
        return point

    def __describe(self):
        # TODO:ADD FILE BASIC DESCRIPTION
        var = (f"""
============================{self.filename}============================
point_number: {self._point_number}
============================{'=' * len(self.filename)}============================"

            """)


if __name__ == '__main__':
    from ele_common.units import SingleFile

    singlefile = SingleFile(
        filepath='../../data/origin/before/LINE_120_dbdt.dat')
    print(singlefile._date)
    print(singlefile.filename)
    point = singlefile.get_one_point()
    point.plot()
예제 #5
0
from ele_common.units import SingleFile
from ele_common.functions import fit_point

before_filepath = "../data/origin/before/LINE_100_dbdt.dat"
after_filepath = "../data/origin/after/new_LINE_100_dbdt.dat"

before_file = SingleFile(before_filepath)
after_file = SingleFile(after_filepath)

fit_point(before_file.get_one_point(), show=True)
fit_point(after_file.get_one_point(), show=True)
예제 #6
0
import numpy as np
from tensorflow.keras.models import load_model
from solutions.cnn_coder.train import data_handle
from ele_common.units import SingleFile
import matplotlib.pyplot as plt
from constants import *
from tensorflow.keras import backend as K

model = load_model("ed_model")
max_input_length = 500

tf = SingleFile("../../data/generate/concat/teacher_result.dat")
df = SingleFile("../../data/generate/concat/data_result.dat")

for i in range(10):
    tpoint = tf.get_one_point()
    point = df.get_one_point()
    tdata = data_handle(tpoint.x, tpoint.y, MAX_INPUT_LENGTH)
    ddata = data_handle(point.x, point.y, MAX_INPUT_LENGTH)

    tx = [t[0] for t in tdata[0]]
    ty = [t[1] for t in tdata[0]]

    dx = [t[0] for t in ddata[0]]
    dy = [t[1] for t in ddata[0]]
    x_data, y_data = point.get_data()

    output = data_handle(x_data, y_data, MAX_INPUT_LENGTH)
    data = []
    data.append(output.tolist())
예제 #7
0
import matplotlib.pyplot as plt
from ele_common.units import SingleFile

before_filepath = '../data/origin/before/LINE_100_dbdt.dat'
after_filepath = '../data/origin/after/new_LINE_100_dbdt.dat'

# before_filepath = "../data/generate/data/LINE_0001_dbdt.dat"
# after_filepath = "../data/generate/teacher/NEW_LINE_0001_dbdt.dat"

before_file = SingleFile(before_filepath)
after_file = SingleFile(after_filepath)

# read the first point
before_point = before_file.get_one_point()
after_point = after_file.get_one_point()

before_point.plot(show=False, alpha=0.5, label='before')
after_point.plot(show=False, alpha=0.5, label='after')

print(f"""
after_point_size: {after_point._size}
before_point_size: {before_point._size}
""")

print(after_point.get_data())
plt.legend()
plt.show()