使用 np.savetxt - Python/TensorFlow 保存 ft.tensor 数组

Save ft.tensor array with np.savetxt - Python/TensorFlow

我创建此函数是为了将变量 layer 的所有值保存在外部文件中:

# Counter for total number of iterations performed so far
total_iterations = 0

def test_save(num_iterations):
    # Ensure we update the global variable rather than a local copy
    global total_iterations

    for i in range(total_iterations, total_iterations + num_iterations):

        x_batch, y_true_batch = next_batch_size(train_batch_size)

        feed_dict_train = {x: x_batch, y_true: y_true_batch}

        # Message for printing
        msg = " Iteration: {0:>6}"

        # Print it
        print(msg.format(i + 1))

        test = session.run(layer, feed_dict=feed_dict_train)

        print 'test',test

        store_all = []

        store_all.append(test)

    np.savetxt('test.txt', store_all, fmt='%5s')

# Call function
test_save(300)

但是我的追加似乎不起作用,因为当我打开我的 test.txt 文件时,只有 1 层而不是 300 个结果。

我的占位符是:

# Placeholder variable for the input images
x = tf.placeholder(tf.float32, shape=[None, img_size_flat], name='x')

# Reshape 'x'
x_image = tf.reshape(x, [-1, img_size, img_size, num_channels])

# Placeholder variable for the true labels associated with the images
y_true = tf.placeholder(tf.float32, shape=[None, num_classes], name='y_true')

我的图层是:

<tf.Tensor 'Conv2D_1:0' shape=(?, 16, 16, 1) dtype=float32>

您在循环的每次迭代中都初始化了一个空列表。把它放在外面:

# Counter for total number of iterations performed so far
total_iterations = 0

def test_save(num_iterations):
    # Ensure we update the global variable rather than a local copy
    global total_iterations

    store_all = []

    for i in range(total_iterations, total_iterations + num_iterations):

        x_batch, y_true_batch = next_batch_size(train_batch_size)

        feed_dict_train = {x: x_batch, y_true: y_true_batch}

        # Message for printing
        msg = " Iteration: {0:>6}"

        # Print it
        print(msg.format(i + 1))

        test = session.run(layer, feed_dict=feed_dict_train)

        print 'test',test

        store_all.append(test)

    np.savetxt('test.txt', store_all, fmt='%5s')

# Call function
test_save(300)