我正在进行一些计算,我想将结果矩阵存储为变量,我可以将其恢复并在其他地方重复使用。这是我的计算......
# 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
。
答案 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)