我试图用状态定义一个新的Op,然后用python包装它。问题是我希望这个操作在Session.run()之间保存变量(就像在这个Op中初始化一个int foo 然后每次运行时将 foo 加1)。预计 foo 比上次运行多1个。)
我尝试过REGISTER_OP()。SetIsStateful()但它不起作用。有谁知道如何实现这种操作?
由于
答案 0 :(得分:0)
最后,我发现如何做到这一点。
根据张量流变量的实现。有状态值可以存储在资源管理器中定义here。
简而言之,定义一个包含您要存储的状态的结构。并在Class ResourceBase中实现虚方法。然后通过Lookup函数恢复此有状态结构,该函数从资源管理器管理的容器中检索值。
关键是你需要从这样的上下文中检索ResourceManager,而不是定义一个新的:
ResourceMgr *rm = context->resource_manager();