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))
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():
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枚のテスト画像を入力して再構築した画像を得る関数を定義
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))