将tensor的完整值打印到控制台或在tensorflow中写入文件

时间:2016-02-09 17:24:55

标签: numpy tensorflow

我需要在控制台中打印一个大张量([32,32,3]),我只得到这样的输出:

[[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]

[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]

[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]

..., 
[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]

[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]

[[245 245 245]
[245 245 245]
[245 245 245]
..., 
[245 245 245]
[245 245 245]
[245 245 245]]]

如何使用tensorflow打印出整个张量,而不是用省略号将其截断?

2 个答案:

答案 0 :(得分:3)

从TensorFlow Session.run()调用返回的值是NumPy ndarray,因此此呈现由NumPy本身控制。确保打印所有元素的一种简单方法是使用numpy.set_printoptions()

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

答案 1 :(得分:2)

使用numpy.savetxt

x = y = z = np.arange(0.0,5.0,1.0)
np.savetxt('test.out', x, delimiter=',')   # X is an array
np.savetxt('test.out', (x,y,z))   # x,y,z equal sized 1D arrays
np.savetxt('test.out', x, fmt='%1.4e')   # use exponential notation