在程序结束之前不会删除Tensorflow自定义操作

时间:2019-07-10 15:17:53

标签: python c++ tensorflow

我遵循了本教程,用C ++编写了一个自定义的tensorflow操作: https://www.tensorflow.org/guide/extend/op

在python端,我按如下方式调用操作:

op = custom_op(...)
op.run(session=K.get_session())

此代码放置在函数中,因此op局部变量在超出范围时应被销毁。但是,当我将打印语句放在C ++操作类的析构函数中时,我看到它在Python程序的末尾而不是在函数调用的末尾被销毁。 K.clear_session()也不会破坏它。

我的问题是我的自定义操作持有的资源应该早于此被销毁。在程序结束之前,我无法让这些资源保持活动状态。如何强制张量流破坏操作?

编辑:我正在使用Tensorflow 1.13和gcc 7.3.0。

0 个答案:

没有答案