コード例 #1
0
    def generate_predicted_signal(self,
                                  signal2model,
                                  N=2000,
                                  starting_signal=[0],
                                  window_seen_by_GRU_size=256):
        signal2model.model_type = ModelType.SGD
        model = LibphysSGDGRU.LibphysSGDGRU(signal2model)
        model.load(dir_name=signal2model.signal_directory,
                   file_tag=self.get_file_tag(-5, -5))

        return model.generate_predicted_signal(N, starting_signal,
                                               window_seen_by_GRU_size)
コード例 #2
0
    def generate_predicted_signal(self,
                                  N=2000,
                                  starting_signal=[0],
                                  window_seen_by_GRU_size=256):
        signal2model = Signal2Model(self.model_name,
                                    self.get_directory_tag(),
                                    signal_dim=self.signal_dim,
                                    hidden_dim=self.hidden_dim,
                                    signal_type=self.signal_type,
                                    model_type=ModelType.SGD)

        model = LibphysSGDGRU.LibphysSGDGRU(signal2model)
        model.load(self.model_name, filetag=self.get_file_tag(-5, -5))

        return model.generate_predicted_signal(N, starting_signal,
                                               window_seen_by_GRU_size)
コード例 #3
0
def create_history(subject):

    model_info = db.ecg_64_models[subject]
    signal2Model = Signal2Model(model_info.dataset_name,
                                model_info.directory,
                                signal_dim=model_info.Sd,
                                hidden_dim=model_info.Hd)
    model = GRU.LibphysSGDGRU(signal2Model)

    # plt.ion()
    # font = {'family': 'lato',
    #         'weight': 'bold',
    #         'size': 40}
    #
    # matplotlib.rc('font', **font)
    x = [0]
    i = 0
    window_size = 512
    fz = 250
    N = 3000
    titles = []
    signals = []
    for epoch in [-1, 20, 30, 50, 80, 410]:
        signal = [np.random.randint(0, 63, size=1)[0]]

        if epoch < 0:
            file_tag = model.get_file_tag(epoch, epoch)
        else:
            file_tag = model.get_file_tag(0, epoch)

        model.load(file_tag=file_tag, dir_name=model_info.directory)
        print("Processing epoch " + str(epoch))
        for i in range(N):
            # print(i)
            sample, _ = model.generate_online_predicted_signal(
                signal, window_size, uncertaintly=0.01)
            signal.append(sample)
            x.append((i + 1) / fz)

        titles.append("Epoch {0}".format(epoch))
        signals.append(np.array(signal))

    np.savez("../data/history_of_{0}.npz".format(subject),
             titles=titles,
             signals=signals,
             t=x)
    return [titles, signals, x]
コード例 #4
0
import DeepLibphys.utils.functions.database as db
from DeepLibphys.utils.functions.common import *
import DeepLibphys.models.LibphysSGDGRU as GRU

model_info = db.ecg_1024_256_RAW[6]

model = GRU.LibphysSGDGRU(model_info.to_signal2model())

model.load(dir_name=model_info.directory)

model.online_sinthesizer(20000, [60],
                         window_seen_by_GRU_size=512,
                         uncertaintly=0.1)
コード例 #5
0
filtered_signals = quantize_signal(filtered_signals, 256)

save_directory = "bento"
sig_model = Signal2Model("GRU_Filter_128",
                         save_directory,
                         signal_dim=256,
                         mini_batch_size=32,
                         window_size=512)
# maybe change mbs to 16, tune overlap

#print("Training...")
#train_block([original_signals], [filtered_signals], overlap=0.2, n_for_each=128, signal2model=sig_model)

test_signals = loadmat(get_fantasia_full_paths()[0])['val'][0][30000:60000]
test_signals = quantize_signal(test_signals, 256)

model = LibphysSGDGRU.LibphysSGDGRU(sig_model)
model.load(model.get_file_tag(-5, -5), sig_model.signal_directory)
predicted = generate_predicted_signal(model,
                                      3000,
                                      starting_signal=test_signals,
                                      window_seen_by_GRU_size=512)

plt.subplot(311)
plt.plot(original_signals)
plt.subplot(312)
plt.plot(filtered_signals)
plt.subplot(313)
plt.plot(predicted)
plt.show()
コード例 #6
0
signal_directory = 'DAY_HRV_LOO_HF_['+str(hidden_dim)+'.'+str(window_size)+']'
z = 0
for i, group_signals in zip(range(z, len(all_signals)), all_signals[z:]):
    model_name = 'day_hrv_rr_{0}_{1}'.format(i, "-1")
    signal2model = Signal2Model(model_name, signal_directory,
                                signal_dim=signal_dim,
                                window_size=window_size,
                                hidden_dim=hidden_dim,
                                mini_batch_size=mini_batch_size,
                                learning_rate_val=0.1,
                                save_interval=100000)

    if i == 0:
        pass
    else:
        model = GRU.LibphysSGDGRU(signal2model)
        model.train_block(group_signals, signal2model, n_for_each=1)
    for j in range(len(group_signals)):
        if i == 0 and j < 29:
            pass
        else:
            train_group = group_signals
            train_group.pop(j)

            model_name = 'day_hrv_rr_{0}_{1}'.format(i, j)
            signal2model.model_name = model_name
            running_ok = False
            while not running_ok:
                model = GRU.LibphysSGDGRU(signal2model)
                running_ok = model.train_block(train_group, signal2model, n_for_each=1)