symbolic-pymc icon indicating copy to clipboard operation
symbolic-pymc copied to clipboard

[tensorflow] Introduce non-strict NodeDef names

Open brandonwillard opened this issue 5 years ago • 0 comments

NodeDef name values can now be interpreted as "non-strict" by using a special str type. This type tells TFlowMetaOp.reify to skip the unique name check and defer to the base graph, which will assign the next available unique name prefixed by the "non-strict" value (e.g. "truediv" to "truediv_1").

This approach is something between the old handling of tensor names (pre #90) and the initial approach of allowing None-valued names. This way, we can at least specify the name prefix without forcing the uniqueness of the associated graph.

Even so, I'm still on the fence about this one, because it brings back some form of meta/base graph inconsistency. Perhaps we could keep the .obj values for these kinds of objects empty, or (re)set the name once it's fully determined through .reify. The latter would require better meta object cache invalidation, but we need that anyway.

Closes #93.

brandonwillard avatar Dec 03 '19 06:12 brandonwillard