多版本TensorFlow与Python环境下导入TransformGraphWithStringInputs报错求助
针对你遇到的ImportError: cannot import name 'TransformGraphWithStringInputs' from 'tensorflow.python.pywrap_tensorflow'错误,核心原因有以下几点:
模块归属错误:
TransformGraphWithStringInputs并不属于tensorflow.python.pywrap_tensorflow模块。这个模块是TensorFlow对接底层C++核心的内部包装层,仅用于框架内部调用,不对外暴露该函数。你大概率找错了函数所在的正确模块。函数已被重构或移除:在TensorFlow 2.x的版本迭代中,图转换相关的内部工具函数经历了多次重构。你尝试的2.3/2.10/2.13版本里,这个函数要么被重命名,要么被迁移到了其他子模块(比如
tensorflow.tools.graph_transforms这类工具模块),不会再出现在pywrap_tensorflow路径下。误用内部非公开API:
TransformGraphWithStringInputs本质是TensorFlow的内部实现细节,从未作为公开API对外提供支持。不管哪个TensorFlow版本,都不应该直接从pywrap_tensorflow导入这类内部函数。如果需要实现图转换的需求,建议使用官方公开的API,比如tensorflow.lite.TFLiteConverter(针对Lite转换)或者tensorflow.tools.graph_transforms中的公开方法。
内容的提问来源于stack exchange,提问作者dzz

