如何检查我的张量流神经网络中所有训练变量的值?

时间:2018-09-05 02:48:17

标签: python tensorflow

我已经有保存的检查点,可以使用它们进行预测。但是,我只是想看看我训练有素的变量,并知道它们的确切值。

我现在正在使用来自tensorflow.python.tools.inspect_checkpoint的print_tensors_in_checkpoint_file。

我还使用sys.stdout将输出存储到txt文件中。

我当前的代码如下:

from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
import sys

def peekckpt(filePath):
    print_tensors_in_checkpoint_file(filePath,None,True)

sys.stdout = open("tmp.txt",'w')
peekckpt("/save/model.ckpt-10000")

但是,它不会显示所有详细信息。在tmp.txt中,一些变量以省略号的形式表示(也许是因为它们太多了),例如:

tensor_name:  fully_connected_1/weights
[[ 0.01625621 -0.01740162  0.04686484 ... -0.02088195 -0.02621443
   0.00247668]
 [-0.00319242 -0.04545522  0.01150012 ...  0.00360141 -0.00241386
  -0.04921322]
 [ 0.04347562  0.00918857  0.00323885 ...  0.01275046 -0.06735339
   0.02492226]

那么,有什么办法可以消除这个省略号问题,并让print_tensors_in_checkpoint_file()打印所有变量?

1 个答案:

答案 0 :(得分:0)

在我的原始代码之前添加以下内容:

import numpy as np
np.set_printoptions(threshold=np.nan)

这将起作用。大约花了30到40秒钟,最后我得到了一个81MB的txt文件。