mirror of
https://github.com/Estom/notes.git
synced 2026-02-03 10:33:35 +08:00
881 B
881 B
前端多语言编程环境与后端C++实现系统的通道归功于 Swig 的包装器
TensorFlow使用Bazel的构建工具,在系统编译之前启动Swig的代码生成过程,通过tensorflow.i自动生成了两个适配 (Wrapper)文件:
- pywrap_tensorflow_internal.py: 负责对接上层 Python 调用;
- pywrap_tensorflow_internal.cc: 负责对接下层 C API 调用。
pywrap_tensorflow_internal.py 模块被导入时,会加载_pywrap_tensorflow_internal.so动态链接库,它里面包含了所有运行时接口的符号。而pywrap_tensorflow_internal.cc中,则注册了一个函数符号表,实现Python接口和C接口的映射。运行时,就可以通过映射表,找到Python接口在C层的实现了。
