如何将numpy数组保存为Tensorflow变量

时间:2017-10-27 03:22:32

标签: arrays numpy tensorflow

我正在进行一些计算,我想将结果矩阵存储为变量,我可以将其恢复并在其他地方重复使用。这是我的计算......

# Initializing the variables.
init = tf.global_variables_initializer()

saver = tf.train.Saver()

with tf.Session() as sess:

    sess.run(init)

    total_batch = int(features.train.num_examples/100)

    train_images = []

    for i in range(total_batch):

        batch_xs, batch_ys = features.train.next_batch(100)

        batch_xs = sess.run(tf.reshape(batch_xs, [100, 28, 28, 1]))

        train_images.append(batch_xs)

    train_images = np.array(train_images)

    # save model
    save_path = saver.save(sess, "/tmp/parsed_data.ckpt")

train_images是一个numpy数组。我希望能够将其存储到Tensorflow变量中,然后保存模型,以便我可以在另一个Tensorflow脚本中使用变量。我怎样才能做到这一点?另外需要注意的是,numpy数组的形状为(550, 100, 28, 28, 1)

我找到了这个教程https://learningtensorflow.com/lesson4/,但它不是很有用,因为无法保存place_holders

1 个答案:

答案 0 :(得分:5)

首先将numpy数组train_images保存为numpy。使用以下代码:

np.save('train_image.npy', train_images)

在另一个脚本中加载numpy数组时,请使用tf.stack函数。下面给出一个例子 -

import tensorflow as tf
import numpy as np

array = np.load('train_images.npy')
tensor = tf.stack(array)