在张量流估计器中记录长张量值

Logging long tensor values in tensorflow estimator

我已经使用 tensorflow 估计器构建了一个分类模型 API。我正在尝试从日志中打印的隐藏层获取张量输出,同时使用以下代码进行预测。

model = tf.estimator.DNNLinearCombinedClassifier(
        model_dir=model_dir,
        linear_feature_columns=wide_columns,
        dnn_feature_columns=deep_columns,
        dnn_hidden_units=hidden_units,
        config=run_config)
tensors_to_log = {"DenseOut": "dnn/logits/BiasAdd"}
logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=1)
predictions = model.predict(train_input_fn, hooks=[logging_hook])

当我 运行 代码时,我能够在输出中记录张量,但由于该值很长,所以它被 t运行 处理,我只能看到开始和结束。

INFO:tensorflow:DenseOut = [[ 0.61572325 -0.44044942 -0.19232166 ...  0.04 0.605 0.15]]

如何指定 tensorflow 来记录完整的输出?

太有趣了,我发现解决方案是设置np.set_printoptions

import numpy as np

np.set_printoptions(threshold=np.nan)

看来tensorflownumpy是紧密结合的

试试这个:

    import sys
    import numpy as np
    np.set_printoptions(threshold= sys.maxsize)