我正在使用TF2,我想在运行在tf.data.Dataset管道中的函数中打印张量。
这是我的代码:
import tensorflow as tf
import sys
sys.stdout = open('tf.log', 'w')
def main():
## Dataset generator
#
numRows= 100
indx = tf.reshape([i+1 for i in range(numRows)], [numRows,1])
features = tf.random.uniform([numRows, 2], minval=1, maxval=10, dtype=tf.int32)
myData = tf.concat([indx, features], 1)
## tf.data.Dataset
#
dataset = tf.data.Dataset.from_tensor_slices(myData)
## Pipeline
#
dataset.map(myFunc)
## Run pipeline
#
for d in dataset:
print('--')
def myFunc(t):
tf.print(t, output_stream=sys.stdout)
return t
if __name__ == "__main__":
main()
但是结果,我只得到了这个:
--
--
--
--
--
--
--
--
--
--
--
如何使用tf.print
将张量打印到控制台?
答案 0 :(得分:0)
您没有将map
返回的数据集分配给任何对象。简单地做,
dataset = tf.data.Dataset.from_tensor_slices(myData)
dataset = dataset.map(myFunc)