0
テンソルフローでノイズ除去自動エンコーダーを作成します。ouputファイルをテンソルフローのマトリックスとして保存します。
入力データとして799x161の行列を使用します。
はここでテストした後、私はクリーンなデータと比較し、MATLABでそれを処理するために799x161行列として出力ファイルを保存したい
# TEST
testspeech = scipy.io.loadmat('data/test_cep.mat')
Y_test = testspeech['ans']
Y_test = np.array(Y_test) # 799x161 cepstrum matrix
noisyspeech = scipy.io.loadmat('data/reverb_cep.mat')
Y_noisy = noisyspeech['ans']
Y_noisy = np.array(Y_noisy) # 799x161 cepstrum addnoise matrix
batch = Y_test
batch_noise = Y_noisy
avg_cost += sess.run(cost, feed_dict=feed2)/num_batch
print ("cost: %.9f" % (avg_cost))
私traininggコード
training_epochs = 100
batch_size = 799
display_step = 10
# Training
if do_train:
print ("Training Start")
for epoch in range(training_epochs):
avg_cost = 0.
num_batch = int(X_train.shape[0]/batch_size)
for i in range(num_batch):
batch = X_train[i*batch_size : i*batch_size+batch_size]
batch_noise = batch + 0.3*np.random.randn(batch.shape[0], 161) #addnoise
feed1 = {x: batch_noise, y_: batch, keep_prob: 0.5}
sess.run(optimizer, feed_dict = feed1)
feed2 = {x: batch_noise, y_: batch, keep_prob: 1}
avg_cost += sess.run(cost, feed_dict=feed2)/num_batch
if epoch % display_step == 0:
print ("Epoch: %03d/%03d cost: %.9f" % (epoch, training_epochs, avg_cost))
とテストコードです。
私の問題:しかし、マトリックスとして保存する方法はわかりません。私は私のPCに読み込み可能なファイルとして行列を保存したいということです。私はそれを読むことができるのか分からない。
私は愚かです...ありがと... –