Esempio n. 1
0
File: main.py Progetto: CNMAdmin/CNM
def representation():
    s, f = ae.load_data('10 ABP int/')
    total_image = []
    total_signal = []
    file_len_map = {}

    bef_cnt = 0
    for k in range(len(f)):
        filename = f[k].split('_')[0]
        imgs = ae.signal_to_img(s[k])
        total_image.extend(imgs)
        total_signal.extend(s[k])
        file_len_map[filename] = [bef_cnt, bef_cnt + len(imgs)]
        bef_cnt += len(imgs)
    total_rep_imgs = ae.autoencoding_cnn(total_image, total_image, fold='tot')
    for l, v in file_len_map.items():
        npy_ori = []
        npy_rep = []
        for m in range(v[0], v[1]):
            npy_ori.append(np.array(total_image[m]).reshape(64, 64, 1))
            npy_rep.append(np.array(total_rep_imgs[m]).reshape(64, 64, 1))
        np.save('npy/abp/tot/' + l + '.ori.npy', np.array(npy_ori))
        np.save('npy/abp/tot/' + l + '.rep.npy', np.array(npy_rep))
Esempio n. 2
0
sys.setrecursionlimit(100000)
path = 'D:/Richard/ICP artifact rejection using representation/Artifact labeled ABP/int/'

if __name__ == '__main__':
    """
  files = os.listdir(path)
  for f in files:
    sig, lab = ae.load_one_data(path + f)
    if not os.path.exists('img/ori/'+f.split('_'[0])):
      os.mkdir('img/ori/'+f.split('_')[0])
    if not os.path.exists('img/rep/'+f.split('_'[0])):
      os.mkdir('img/rep/'+f.split('_')[0])
    for i in range(len(lab)):
      cur_img = ae.signal_to_img(sig[i])
  """
    signals, filenames = ae.load_data(path)
    total_image = []
    total_signal = []
    file_len_map = {}

    bef_cnt = 0
    for i in range(len(filenames)):
        filename = filenames[i].split('_')[0]
        imgs = ae.signal_to_img(signals[i])
        total_image.extend(imgs)
        total_signal.extend(signals[i])
        file_len_map[filename] = [bef_cnt, bef_cnt + len(imgs)]
        bef_cnt += len(imgs)
    #total_rep_imgs = ae.autoencoding_cnn(total_image, total_image, img_dim=64, encoding_dim=16)

    for k, v in file_len_map.items():
Esempio n. 3
0
import os
import numpy as np
import matplotlib.pyplot as plt
import autoencoder as ae
import sys

sys.setrecursionlimit(100000)

fold1 = 'fold/1/'
fold2 = 'fold/2/'
fold3 = 'fold/3/'
fold4 = 'fold/4/'
fold5 = 'fold/5/'

if __name__ == '__main__':
    s_1, f_1 = ae.load_data(fold1)
    s_2, f_2 = ae.load_data(fold2)
    s_3, f_3 = ae.load_data(fold3)
    s_4, f_4 = ae.load_data(fold4)
    s_5, f_5 = ae.load_data(fold5)
    signals = [s_1, s_2, s_3, s_4, s_5]
    filenams = [f_1, f_2, f_3, f_4, f_5]
    for i in range(1, 2):
        print(str(i) + ' fold start!')
        s = []
        f = []
        sa = []
        fa = []
        for j in range(5):
            if i == j:
                sa.extend(signals[j])
    # 自己符号化器を構築
    # 学習時と同様の構成が必要
    rng = np.random.RandomState(123)
    theano_rng = RandomStreams(rng.randint(2 ** 30))
    autoencoder = Autoencoder(numpy_rng=rng,
                              theano_rng=theano_rng,
                              input=x,
                              n_visible=28*28,
                              n_hidden=500)

    # 学習したパラメータをセット
    autoencoder.__setstate__(state)

    # テスト用データをロード
    # 訓練時に使わなかったテストデータで試す
    datasets = load_data('mnist.pkl.gz')
    test_set_x = datasets[2][0]

    # 最初の100枚の画像を描画
    # test_set_xは共有変数なのでget_value()で内容を取得できる
    pos = 1
    for i in range(100):
        plt.subplot(10, 10, pos)
        plt.subplots_adjust(wspace=0, hspace=0)
        plt.imshow(test_set_x.get_value()[i].reshape(28, 28))
        plt.gray()
        plt.axis('off')
        pos += 1
    plt.savefig("original_image.png")

    # 最初の100枚のテスト画像を入力して再構築した画像を得る関数を定義
Esempio n. 5
0
    def __setstate__(self, state):
        """パラメータの状態をセット"""
        self.W.set_value(state[0])
        self.b.set_value(state[1])
        self.b_prime.set_value(state[2])


if __name__ == "__main__":
    corruption_level = 0.3
    learning_rate = 0.1
    training_epochs = 20
    batch_size = 20

    # 学習データのロード
    datasets = load_data('../data/mnist.pkl.gz')
    # 自己符号化器は教師なし学習なので訓練データのラベルは使わない
    train_set_x = datasets[0][0]

    # ミニバッチ数
    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size

    # ミニバッチのインデックスを表すシンボル
    index = T.lscalar()

    # ミニバッチの学習データを表すシンボル
    x = T.matrix('x')

    # モデル構築
    rng = np.random.RandomState(123)
    theano_rng = RandomStreams(rng.randint(2**30))
    # 自己符号化器を構築
    # 学習時と同様の構成が必要
    rng = np.random.RandomState(123)
    theano_rng = RandomStreams(rng.randint(2**30))
    autoencoder = Autoencoder(numpy_rng=rng,
                              theano_rng=theano_rng,
                              input=x,
                              n_visible=28 * 28,
                              n_hidden=500)

    # 学習したパラメータをセット
    autoencoder.__setstate__(state)

    # テスト用データをロード
    # 訓練時に使わなかったテストデータで試す
    datasets = load_data('mnist.pkl.gz')
    test_set_x = datasets[2][0]

    # 最初の100枚の画像を描画
    # test_set_xは共有変数なのでget_value()で内容を取得できる
    pos = 1
    for i in range(100):
        plt.subplot(10, 10, pos)
        plt.subplots_adjust(wspace=0, hspace=0)
        plt.imshow(test_set_x.get_value()[i].reshape(28, 28))
        plt.gray()
        plt.axis('off')
        pos += 1
    plt.savefig("original_image.png")

    # 最初の100枚のテスト画像を入力して再構築した画像を得る関数を定義
        return (self.W.get_value(), self.b.get_value(), self.b_prime.get_value())

    def __setstate__(self, state):
        """パラメータの状態をセット"""
        self.W.set_value(state[0])
        self.b.set_value(state[1])
        self.b_prime.set_value(state[2])

if __name__ == "__main__":
    corruption_level = 0.3
    learning_rate = 0.1
    training_epochs = 20
    batch_size = 20

    # 学習データのロード
    datasets = load_data('../data/mnist.pkl.gz')
    # 自己符号化器は教師なし学習なので訓練データのラベルは使わない
    train_set_x = datasets[0][0]

    # ミニバッチ数
    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size

    # ミニバッチのインデックスを表すシンボル
    index = T.lscalar()

    # ミニバッチの学習データを表すシンボル
    x = T.matrix('x')

    # モデル構築
    rng = np.random.RandomState(123)
    theano_rng = RandomStreams(rng.randint(2 ** 30))