gpt4 book ai didi

python - 如何在 python 对象中有效地使用 Session 来将 tensorflow 作为实现细节?

转载 作者:行者123 更新时间:2023-12-01 09:26:55 29 4
gpt4 key购买 nike

我正在实现一个自定义 sklearn Transformer,它需要一个已在 Tensorflow 中编码的优化步骤。 TF 需要一个Session,它应该用作上下文管理器或显式关闭。问题是:向 Transformer 添加 close() 方法会很奇怪(并且对用户来说是意想不到的),关闭 session 的最佳位置是什么?每次调用 fit() 时,我是否应该打开和关闭一个新 session ?或者我应该保持它打开并将 session.close() 留给变压器的 __del__ 方法?还有其他选择吗?

最佳答案

不要在每次函数调用时都打开 session ,如果多次调用该函数,效率可能会非常低。

如果由于某种原因,您不想公开上下文管理器,那么您需要自己打开 session ,并将其保持打开状态。对于用户来说,这可能更简单一些,但与其他对象或库共享 tf.Session 可能会更困难。试图隐藏您正在使用 TensorFlow 的事实可能有点徒劳,因为它可能与其他依赖 GPU 的库不兼容。 (用户还需要安装tensorflow才能使用该库,他/她肯定知道您正在使用它)。

因此,我不会尝试封装不能或不应该(在我看来)的东西,并为 tf.Session 使用上下文管理器(甚至可能直接使用 tf.Session 本身,如果我不介意公开 tensorflow ,否则将其包装在我自己的上下文管理器中)。

关于python - 如何在 python 对象中有效地使用 Session 来将 tensorflow 作为实现细节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310515/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com