将输出文件保存为张量流中的矩阵

时间:2017-03-19 15:50:19

标签: tensorflow

我通过tensorflow进行去噪自动编码器。

我使用799x161矩阵作为输入数据。

这是我的trainingg代码

@reboot

和测试代码

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))

经过测试,我想将输出文件保存为799x161矩阵,以便与干净的数据进行比较,并在matlab中处理。

我的问题:但我不知道如何将其保存为矩阵。我的意思是我想在我的电脑中将矩阵保存为可读文件。并且我不确定matlab是否可以阅读它。

1 个答案:

答案 0 :(得分:0)

不确定我理解的权利 您想保存numpy array,以便matlab可以阅读它吗?

你正在使用scipy,我认为它可以做到这一点 假设您要保存Y_testY_noisy

scipy.io.savemat('test.mat', dict('data'=Y_test, 'res'=Y_noisy))

然后使用matlab加载test.matsame question

有趣的是,您使用的是scipy.io.loadmat,但您不知道scipy.io.savemat