我正在使用tf.MonitoredSession,有时会发生您想要评估某些节点但又不想继续进行训练步骤的情况,因此您不想使用Hooks来记录内容。 会话似乎被包装了几次,原始会话以嵌套的方式存储:https://github.com/tensorflow/tensorflow/issues/8425 但也可以使用_tf_sess()https://github.com/tensorflow/tensorflow/issues/11971
方法进行检索回顾一下,我认为有两种不带钩子即可运行的方法:
raw_session = sess._tf_sess()
我认为方法2:如果我想摆脱困境,对我来说更直观,但是这样做是否正确呢?
我想知道为什么它是私有的,并且没有考虑像SingularMonitoredSession.raw_session()
中那样有一种方法来访问原始会话吗? https://www.tensorflow.org/api_docs/python/tf/train/SingularMonitoredSession
在https://github.com/tensorflow/tensorflow/blob/r1.11/tensorflow/python/training/monitored_session.py中的第1010行,我可以看到raw_session的定义正好是返回self._tf_sess(),所以我想知道为什么明确选择不让用户访问MonitoredSession中的原始会话的可能性使用sess._tf_sess()会引起一些问题?
我想知道它是否与分布式设置中的某些问题有关。